Releases: sxs-collaboration/spectre
Release 2022.08.01
Upgrade instructions
From #4118 (Use single DataBox type in DistributedObject and MockDistributedObject):
- No longer use Actions::SetupDataBox in a phase action list. Setting up the DataBox is now handled by (Mock)DistributedObject
- ActionTesting::get_databox should only have a single template parameter (the component)
From #4093 (Automatically embed input source YAML in H5 output):
When spectre executables output HDF5 data, the input-file options provided will be automatically embedded as an attribute named InputSource.yaml. Use the script src/Options/Python/ExtractInputSourceYAMLFromH5.py to extract the embedded source input into a YAML-formatted text file.
From #4128 (Find AH quantities in grid frame):
After this change, binary black hole evolutions will observe apparent horizon quantities in the grid frame instead of the inertial frame.
Merged pull-requests (14)
General changes (11):
- Wrap SphericalKerrSchild solution for initial data solver (#4117)
- Factor common code out of RK time steppers (#4112)
- Use single DataBox type in DistributedObject and MockDistributedObject (#4118)
- Add helper methods producing non-owning Variables (#4114)
- Automatically embed input source YAML in H5 output (#4093)
- Update dev container and Docker/VSCode install docs (#4119)
- Add check for using removed DataBox item (#4123)
- Container cleanups, remove GCC7&8, add env variables (#4121)
- Cleanup some simple Actions (#4126)
- Add docs for building on Apple Silicon (#3714)
- Find AH quantities in grid frame (#4128)
Bugfixes (3):
- Fix post-release workflow (#4120)
- Fix GenerateXdmf for 2D non-surface output (#4125)
- Update gfortran in cmake kit (#4131)
Contributors (7): @DavidWu421, @wthrowe, @kidder, @geoffrey4444, @nilsvu, @knelli2, @nilsdeppe
Release 2022.07.18
Upgrade instructions
From #4033 (Add a global enum class Phase):
If you have defined an enum class Phase in a metavariables, instead #include "Parallel/Phase.hpp" and replace the enum definition with using Phase = Parallel::Phase;
From #4046 (Use global phase to simplify some code):
- In a PhaseAction, the first template parameter should be removed.
- Also restrict phase names to those in Parallel::Phase
From #4044 (Interpolation without Interpolator ParallelComponent for time-dependent maps.):
No changes needed for the user, but anyone changing the interpolator code will see differences:
- intrp::Vars::PointInfoTag now has a different type.
- InterpolationTargetVarsFromElement and some of the functions in InterpolationTarget_detail now take different arguments.
From #4050 (Add ResourceInfo tags to DgElementArray and IntrpTarget):
If your executable has the DgElementArray parallel component, add in the following block to the input file
ResourceInfo:
AvoidGlobalProc0: falseIf your executable has at least one InterpolationTarget parallel component, add the following under the ResourceInfo block in the input file
Singletons:
TargetName:
Proc: Auto
Exclusive: falseFrom #4056 (Allow CCE singletons to be placed on specific cores):
If you have CCE in your executable, add the following block to your input file:
ResourceInfo:
Singletons:
CharacteristicEvolution:
Proc: Auto
Exclusive: false
BoundaryComponentName:
Proc: Auto
Exclusive: falsewhere BoundaryComponentName is one of AnalyticWorldtubeBoundary, H5WorldtubeBoundary, or GhWorldtubeBoundary depending on what your boundary component is.
From #4023 (Remove CERROR, specialize error macros for compile time and runtime):
This requires updaying computing resources to use >= gcc-9 or >= clang-9
From #4055 (Finish transition to using Parallel::Phase):
- Always use
Parallel::Phaseas the type of a phase - Do not specify a
determine_next_phasemember function for metavariables. Instead define thedefault_phase_ordermember variable
From #4086 (Consolidate generic parallel actions):
If you used any actions in the eliminated directories, you will need to update the appropriate include statement.
If you added any actions to those directories, move them into ParallelAlgorithms/Actions
From #4099 (Combine registration phases):
If you are using Parallel::Phase::RegisterWithObserver, instead use Parallel::Phase::Register
From #4107 (Turn on LTS in BBH):
If using the BBH executable, update the time stepping options to match those of the test input file.
Merged pull-requests (65)
New features (3):
- Add a global enum class Phase (#4033)
- Add support for Charm++ projections (#4053)
- Add Translation control system (#3992)
General changes (54):
- Update ci dox (#4020)
- Use global phase to simplify some code (#4046)
- Relax more HwenoImpl test tolerances (#4039)
- Avoid dynamic allocations for single-point Variables data (#4035)
- Silence unused-value warning in clang 14 (#4048)
- Store element name in ElementVolumeData (#4042)
- Simplify Overloader and remove make_overloader (#4045)
- Change protocol helpers to normal metafunctions (#4049)
- Explicitly use interpolator source vars in intrp framework (#4014)
- Update Expanse build to use Charm 7 and Intel MPI (#3968)
- Add to_basis&to_quad, cleanup IO test helpers (#4043)
- Remove explicit exceptions from Python h5::File wrapper (#4041)
- Add ResourceInfo tags to DgElementArray and IntrpTarget (#4050)
- Increase timeout in RotScaleTrans test (#4065)
- Remove buffer from Ccz4::upper_spatial_z4_constraint (#4059)
- Fix Ccz4 temporary expression calculation (#4060)
- Forward declare Ccz4 temporary tags (#4061)
- Allow CCE singletons to be placed on specific cores (#4056)
- Add fallback reconstructor types to finite difference (#4057)
- Update domain in BBH ID input file (#3926)
- Add get_data_by_element function to VolumeData (#4054)
- Add to ParallelComponent section of Parallelization DevGuide (#4051)
- Use smaller random values for sin argument (#4067)
- Remove CERROR, specialize error macros for compile time and runtime (#4023)
- Enable TensorExpressions to internally split up equations (#3842)
- Finish transition to using Parallel::Phase (#4055)
- Split up and organize H5 tests (#4068)
- Enable Wcns5z reconstruction to use adaptive fallback (#4058)
- Rename algorithm impl to distributed object (#4069)
- Subcell TCI improvements, step 1 (#4012)
- Hybrid EOS (#3481)
- Shorten rotation control system test (#4074)
- Increase GH constraints timeout (#4076)
- Add Brill Lindquist analytic data (#4075)
- Remove specific enthalpy (#4080)
- Generalize control system test helper (#4071)
- Add Expansion and Rotation control systems to BBH exec (#4016)
- Add tags and initialization action for AMR flags (#3092)
- Consolidate generic parallel actions (#4086)
- Add TensorExpression support for assigning to doubles (#4079)
- Support for reading single and double precision HDF5 volume data (#4084)
- Add SphericalKerrSchild (#4073)
- Add xsimd support (#4081)
- Add temperature to equations of state (#4085)
- Disallow antisymmetries in TensorExpressions (#4090)
- Store number of indices in Tensor class (#4094)
- Add dependencies for SphericalKerrSchild executable (#4092)
- Add Noah Ring to metadata (#4101)
- Run a checkpoint test in its own directory (#4098)
- Add David Wu to Metadata (#4100)
- Increase tolerance for Eos test helper (#4104)
- Combine registration phases (#4099)
- Turn on LTS in BBH (#4107)
- Add build type to info at compile time (#4116)
Bugfixes (8):
- Remove load balancing test (#4052)
- Cleanup execs and libs after running tests (#4040)
- Interpolation without Interpolator ParallelComponent for time-dependent maps. ([#4044](https://github.com/sxs-collaboration/spectre...
Release 2022.06.14
Upgrade instructions
From #3940 (Add check for currently open H5 objects before insert/get):
When inserting or geting an object in an H5 file, you must close_current_object() before you can get/insert a new object.
From #3963 (Alter CCE interface managers for new changes to interpolation):
Any usage of the GhInterfaceManagers will likely need to be reworked to account for the new interfaces.
From #3969 (Add mock action to replace WriteReductionDataRow in testing framework):
If you want to test code that uses the WriteReductionDataRow action, follow the instructions in the Reduction Actions section of the ActionTesting documentation
From #3976 (Template parallel info functions on return type):
When using any parallel info functions (Parallel::my_node, etc...), you must specify the return type as a template parameter.
From #4001 (Consolidate lists of AH tags):
When making an InterpolationTargetTag for AH finding, use the type aliases defined in ApparentHorizons/HorizonAliases.hpp for the various lists of tags.
From #4015 (Add ability to place singletons on specific cores):
To be able to place a singleton on a specific core and specify that it should be exclusively on that core, add the Parallel::Tags::SingletonInfo tag to the initialization_tags of the singleton. To avoid placing singletons and Array-elements on the global zeroth core, add the Parallel::Tags::AvoidGlobalProc0 tag to the initialization_tags of any singleton or Array component in your executable.
From #4027 (Remove colons from control system measurement names):
If you have scripts that read out the names for the control system, they need to have the colons removed.
Merged pull-requests (72)
New features (10):
- CCE Conformal factor initial data (#3450)
- Add Expansion control system (#3883)
- Add Charm++ version 7.0.0 support (#3942)
- Add GenerateXdmf support for surface data (#3973)
- Add MemoryMonitor component and actions (#3949)
- Add Rotation control system (#3965)
- Add non-owning variables (#3970)
- Add WCNS-5Z reconstruction to finite difference (#3986)
- Add WCNS-5Z + MC reconstruction to finite difference (#4011)
- Add ability to place singletons on specific cores (#4015)
General changes (48):
- Add instructions to dispatch releases (#3954)
- Update affiliation (#3959)
- Add SingletonInfoHolder (#3957)
- Add outflow boundary condition to NewtonianEuler (#3814)
- Add a single variables slicing for subcell (#3826)
- Add function to get mutable cache proxy from GlobalCache (#3945)
- Add parallel info to GlobalCache (#3951)
- Compute logical coordinates of FD ghost zone (#3905)
- Allow DgElementArray to ignore certain procs when placing elements (#3950)
- Add SingletonPack (#3962)
- Use IntelMPI on Frontera (#3912)
- Add support for Anvil supercomputer (#3960)
- Alter CCE interface managers for new changes to interpolation (#3963)
- Factor out round robin array element assignment (#3971)
- Document data ordering for root finder Jacobian (#3967)
- Observe surface data (#3966)
- Add mock action to replace WriteReductionDataRow in testing framework (#3969)
- Add matplotlib to python on anvil (#3982)
- Add ObserveCenters post horizon find callback (#3921)
- Restrict to Catch2 v2.8:2 when building from spack (#3985)
- Add Wedge Opening Angle (#3941)
- CCE preliminaries for GH+CCE executable (#3977)
- Ignore some warnings from GCC 11 (#3987)
- Add ZeroCrossingPredictor function for
std::vector<doubles>(#3952) - Replace tt::is_a with tt::is_a_lambda (#3995)
- Add DataVector to LinearLeastSquares (#3955)
- Add new entry menthod to GlobalCaches for memory monitor (#3975)
- Allow Frustum to transition between Equiangular Maps (#3889)
- Template parallel info functions on return type (#3976)
- Speed up ScriObserveInterpolated test (#4003)
- Ignore DataBox warning in gcc 11 (#3999)
- Cleanup GH constraint tests & delete check output dirs (#4000)
- Allow SpherepackIterator to convert offset to compact index (#4007)
- Consolidate lists of AH tags (#4001)
- Subcell TCI improvements, step 0 (#4002)
- Add subcell boundary conditions to Burgers (#3746)
- Add MonitorMemory event (#4009)
- Modify component name function in control systems (#4006)
- Add IsActive tag for control systems (#3983)
- Add ResourceInfo for allocating singletons (#3980)
- Add WCNS-5Z reconstruction to GRMHD (#3991)
- Bump compiler versions & reduce number of clang builds (#4019)
- Add Ability to Observe Ricci Scalar (#4018)
- Add ASSERT for checking subcell volume extents and stencil width. (#4029)
- Clean up includes of various Time/* files (#4028)
- Clean up gsl_multiroot (#4025)
- Update running and visualizing tutorial (#4032)
- change to gcc-9 for code coverage (#4038)
Bugfixes (14):
- Minor fixes for Burgers subcell (#3958)
- Add check for currently open H5 objects before insert/get (#3940)
- Fix constraint preserving boundary conditions (#3974)
- Fix ObserveSurfaceData when center not origin (#3988)
- Fix IgnoreFailedApparentHorizon (#3990)
- Rename MC to Monotonised Central (#3989)
- Fix missing templates for parallel infos (#4008)
- Fix check forbidding removing from a DataBox a subitem of an immutable item (#3998)
- Fix ci by adding cache clear (#4017)
- Remove H5 file after AlgorithmGlobalCache is finished (#4026)
- Handle late calls to InterpolatorReceiveVolumeData (#4010)
- Disable FPE trapping when calling into python (#4031)
- Remove colons from control system measurement names ([#4027](https...
Release 2022.05.05
Upgrade instructions
From #3939 (Add type trait for component type):
If you need to know what chare type a parallel component is, a Group, Nodegroup, Singleton, Array, use the Parallel::is_group_v<Component>, Parallel::is_nodegroup_v<Component>, Parallel::is_singleton_v<Component>, Parallel::is_array_v<Component> type traits, respectively.
From #3948 (Change TensorExpressions interface via changing namespaces):
- Anywhere using
TensorExpressionsnamespace should now usetenex - Anywhere using
ti_a(tensor indices) should now useti::a
From #3828 (InterpolateWithoutInterpComp: Use compute_vars_to_interpolate.):
InterpolateWithoutInterpComponent now uses compute_vars_to_interpolate instead of compute_items_on_source.
Merged pull-requests (34)
New features (1):
- Add LinearLeastSquares solver (#3918)
General changes (23):
- Simplify observer registration from interpolations (#3904)
- Promote Options::name to pretty_type::name utility (#3909)
- Changes needed to compile on my M1 MacBook Pro (#3895)
- Simplify control system observations (#3920)
- Add function to compute the size of an object (#3919)
- Remove some unnecessary time stuff (#3925)
- Remove repeated calculations in Ccz4::spatial_ricci_tensor (#3917)
- Enable compiler flags for setting Blaze inlining settings (#3930)
- Compute ADM quantities directly from XCTS variables (#3885)
- Lint "mutable" keyword and clean up "noexcept" test (#3928)
- Add protocols to interpolation framework (#3896)
- Add the TimeDerivative for first order CCZ4 (#3759)
- Split ApplyBoundaryCorrections action (#3938)
- Enable output of Strahlkorper surface data (#3901)
- Enable compile flags for toggling SpECTRE inlining (#3947)
- Add type trait for component type (#3939)
- Allow MockDistributedObject to be sized (#3946)
- Add function to determine if element is zeroth element (#3943)
- Change TensorExpressions interface via changing namespaces (#3948)
- InterpolateWithoutInterpComp: Use compute_vars_to_interpolate. (#3828)
- Add RicciScalar to GeneralRelativity (#3916)
- add enthalpy-parametrized equation of state (#3892)
- Add code review guide to avoid mutable variables (#3927)
Bugfixes (10):
- Increase timeout of a test (#3908)
- Make element_logical_coordinates deterministic (#3913)
- Add a missing newline in error message (#3922)
- Update GitHub checkout action to v3.0.1 (#3932)
- Fix CI failure on develop (#3935)
- Make StrahlkorperInDifferentFrame more robust (#3923)
- Implement SpECTRE singleton as Charm++ single-element array (#3787)
- Fix ComputeVarsToInterpolate protocol (#3944)
- YlmSpherepack: Replace mutable non-dynamic storage (#3931)
- Make YlmSpherepack threadsafe (#3934)
Contributors (11): @nilsvu, @knelli2, @kidder, @nilsdeppe, @wthrowe, @macedo22, @markscheel, @gsb76, @geoffrey4444, @AlexCarpenter46, @isaaclegred
Release 2022.04.04
Upgrade instructions
From #3766 (Stop computing errors inside ObserveFields, remove ObserveErrorNorms):
If you use ObserveErrorNorms, this is now replaced by ObserveNorms with specifying Error(variable). For example,
ObserveNorms:
TensorsToObserve:
- Name: Error(Psi)
NormType: L2Norm
Components: Sum
- Name: Error(Phi)
NormType: L2Norm
Components: Sum
- Name: Error(Pi)
NormType: L2Norm
Components: SumWhen writing executables, follow the example in EvolveScalarWave to see how to replace ObserveErrorNorms by ObserveNorms.
From #3832 (Delete thin wrappers around blaze::DynamicVector/Matrix):
If you used DenseVector/Matrix replace them with blaze::DynamicVector/Matrix. Use the includes DataStructures/Dynamic{Vector,Matrix}.hpp if you need support for serialization, make_with_value or option-creation, or include <blaze/math/Dynamic{Vector,Matrix}.h> directly if you don't need those features.
From #3817 (Use quaternion rotation map in BinaryCompactObject domain creator):
When specifying input options for the BinaryCompactObject domain creator, replace
RotationAboutZAxisMap:
InitialRotationAngle: 1.0
InitialAngularVelocity: -0.5
with
RotationMap:
InitialAngularVelocity: [0.0, 0.0, -0.5]
Note: The initial rotation angle is now always assumed to be zero and cannot be specified by the user.
From #3876 (Consolidate mutation of global cache into single function):
To mutate a mutable global cache tag Tag, use Parallel::mutate<Tag, Functor>(cache, args...) where cache is a reference to the local GlobalCache. This works in both the testing framework and charm-aware situations.
From #3882 (Omit BBH domain cube-to-sphere transition):
If you use the BinaryCompactObject domain, try setting EnvelopingCube.Sphericity = 1 and OuterShell.InnerRadius = Auto. This configuration transitions from the two inner objects to the outer spherical shell in a single layer of blocks, which can greatly improve the effectiveness of grid points in the domain.
From #3902 (post_horizon_find_callbacks is now a tmpl::list.):
post_horizon_find_callback needs to be changed to post_horizon_find_callbacks, and is
a tmpl::list of structs instead of a single struct.
From #3838 (Change ASSERT and ERROR to throw an exception instead of aborting):
If you have an ASSERTION_TEST or ERROR_TEST as a separate SPECTRE_TEST_CASE, they should be combined with the standard SPECTRE_TEST_CASE by calling CHECK_THROWS_WITH (see the Catch documentation for usage)
Merged pull-requests (49)
New features (1):
- Add L2IntegralNorm to ObserveNorms (#3878)
General changes (36):
- Stop computing errors inside ObserveFields, remove ObserveErrorNorms (#3766)
- Clean up elliptic observing a bit (#3848)
- Use full namespace for tags in NewtonianEuler reconstructor codes (#3850)
- Add
PY_DEV_MODECMake flag (#3849) - Toggle building docs on CI, remove unnecessary packages from container (#3847)
- XCTS binary: superpose matter without Gaussian falloff (#3839)
- Added the Constraint Energy to be Observable (#3855)
- Reduce log level of docs notebook conversion (#3854)
- Add ControlError protocol and tag (#3687)
- Added Ability to Observe Constraint Energy to BBH (#3867)
- Update brigand on Ocean (#3864)
- Allow monopole and dipole in shape map (#3860)
- Time stepper interface cleanup (#3851)
- Add more parameters and functions to BinaryTrajectories (#3818)
- Xcts solver: observe shift magnitude, min and max quantities (#3862)
- Don't erase Wedge map type in DomainHelpers, make Shape map copyable (#3857)
- Add Factory.hpp for equations of state (#3868)
- Add XCTS Schwarzschild solution in more coords (#3853)
- Add abutting directions to excision spheres (#3872)
- Delete thin wrappers around
blaze::DynamicVector/Matrix(#3832) - Make our registered names be consistent with Charm++'s (#3874)
- Update FindApparentHorizon docs (#3881)
- Make observing from singletons easier (#3873)
- Use quaternion rotation map in BinaryCompactObject domain creator (#3817)
- Consolidate mutation of global cache into single function (#3876)
- Support factory-created solution in AH boundary conditions, prepare for SHK initial data (#3840)
- Omit BBH domain cube-to-sphere transition (#3882)
- Compute numerical deriv diagnostic in ExportCoords (#3863)
- Switch to Intel MPI 2017.1 on Wheeler (#3890)
- Add HarmonicSchwarzschild analytic solution (#3829)
- Convert PhaseChange to new factory (#3888)
- Add TOV solution in isotropic coords (#3685)
- Wrap HarmonicSchwarzschild solution for initial data solver (#3893)
- Move time-stepper implementations to cpp files (#3870)
- post_horizon_find_callbacks is now a tmpl::list. (#3902)
- Change ASSERT and ERROR to throw an exception instead of aborting (#3838)
Bugfixes (12):
- Fix a minus sign in docs (#3856)
- Fix GH Phi tag docs (#3865)
- Fix a bug in shape map SphereTransition (#3859)
- Fix docs of KerrHorizonConforming map, disambiguate spin, add test (#3858)
- Fix math rendering in AdamsBashforthN (#3869)
- Fix hard coded path in CaltechHPC submit script (#3871)
- Fix core devs email address in PublicationPolicy.md (#3875)
- Fix macOS CI build issue with Boost (#3879)
- Allow ReadSpecPiecewisePolynomial to create QuaternionFunctionsOfTime (#3884)
- Fix linking with GrSolutionsTestHelpers (#3897)
- Fix OrientationMap for Mesh (#3894)
- Fix test linking on macOS (#3906)
Contributors (11): @nilsdeppe, @nilsvu, @yoonso0-0, @AlexCarpenter46, @knelli2, @geoffrey4444, @wthrowe, @duetosymmetry, @macedo22, @markscheel, @kidder
Release 2022.03.07
Upgrade instructions
From #3794 (TimeDependence now recognizes distorted frame.):
Instead of a block_maps member function, each TimeDependence now has 3 functions: block_maps_grid_to_inertial (which is the former block_maps), block_maps_grid_to_distorted, and block_maps_distorted_to_inertial.
From #3813 (Move Strahlkorper and some related functions.):
Strahlkorper, StrahlkorperFunctions, and ChangeCenterOfStrahlkorper have moved to NumericalAlgorithms/SphericalHarmonics/.
From #3822 (Add file_system::glob, support importing volume data from multiple files):
In input files with Importers, change the FileName option to FileGlob.
Merged pull-requests (35)
New features (4):
- Add reflective boundary condition to NewtonianEuler (#3781)
- Add
file_system::glob, support importing volume data from multiple files (#3822) - Load initial data from XCTS solver in GH execs (#3795)
- Render example notebooks in Doxygen documentation (#3834)
General changes (25):
- Support sparse matrices in build_matrix (#3805)
- Tune macOS CI job (#3811)
- Add tensor slicing for subcell (#3810)
- TimeDependence now recognizes distorted frame. (#3794)
- Refactor some of TryToInterpolate.hpp (#3812)
- Move Strahlkorper and some related functions. (#3813)
- Add ADER namespaces and ADER-DG spacetime predictor matrix (#3778)
- Rename CurvedSW execs, move is_analytic_*, other analytic solution updates (#3762)
- Split ApparentHorizons/Tags.hpp (#3816)
- Sort
list_observation_ids(), support importing first or last observation ID from a volume file (#3824) - Configure Blaze: enable BLAS kernels, col-major matrix storage, add comments (#3806)
- Make subcell projection be dim-by-dim operation (#3803)
- Add serialization, option creation to Blaze vector and matrix types (#3804)
- Delete Utilities/Blaze.hpp (#3807)
- Add an example for running a BBH ID solve (#3820)
- Add dim-by-dim subcell reconstruction (#3830)
- Add ObserverMesh and ObserverCoordinates tags (#3764)
- Update spectre doi author list (#3815)
- XCTS solver: generalize Kerr to WrappedGr solution (#3835)
- Block implicit DataVector conversion to Variables (#3836)
- Enable sleef support (#3833)
- Runtime retrieval in ObserveFields and simplifications (#3765)
- Add function to write control system data to disk (#3823)
- Add polynomial interpolation and ability to read RotNS data (#3735)
- Add a main entry point to the Python package (#3711)
Bugfixes (6):
- Fix reference in brigand docs (#3821)
- Increase timeout of CylindricalBinaryCompactObject (#3827)
- Fix release checksum for Spack (#3831)
- Increase AH finder test timeouts (#3843)
- Fix failing exact comparison in Test_Divergence.cpp (#3845)
- Fix column numbering in ParallelInfo exec (#3846)
Contributors (7): @nilsvu, @yoonso0-0, @markscheel, @nilsdeppe, @knelli2, @kidder, @wthrowe
Release 2022.02.17
Upgrade instructions
From #3768 (Remove TimeDependence/Composition.?pp):
There is no more Composition TimeDependence. If a composition of simple maps is desired, then it should be written explicitly.
From #3799 (Functions in ApparentHorizons/Tags.cpp are now free functions.):
The only interface difference (other than the existence of new functions) is that ah::Tags::LaplacianRadius is now a Scalar<DataVector> instead of a DataVector.
Merged pull-requests (14)
General changes (11):
- Optimize elliptic solver (5): Multigrid algorithm (#3784)
- Allow roundoff differences in Adams-Bashforth constant step size check (#3793)
- Add a reference to ConstantDensityStar docs (#3790)
- Add bool flag for using subcell boundary conditions (#3779)
- Load correct libz in ocean_clang.sh (#3797)
- Spectral equation of state (#3661)
- Add DevGuide documentation of Brigand (#2326)
- BBH executable: Observe Ah in inertial frame (#3626)
- Remove TimeDependence/Composition.?pp (#3768)
- Functions in ApparentHorizons/Tags.cpp are now free functions. (#3799)
- Revive macOS CI tests (#2472)
Bugfixes (3):
- Fix typo in CharacteristicSpeeds (#3798)
- Fix missing Boost headers pre v1.67 (#3802)
- Fix Charm++ include paths on Frontera (#3809)
Contributors (7): @nilsvu, @wthrowe, @yoonso0-0, @gsb76, @geoffrey4444, @ffoucart, @markscheel
Release 2022.02.08
Upgrade instructions
From #3712 (Update installation instructions, add Spack env file, upgrade container):
To compile the Doxygen documentation, upgrade to the recently released bugfix version 1.9.3. Earlier versions also work, but the documentation may not look the same as on https://spectre-code.org.
From #3720 (Disable IWYU by default):
To enable IWYU, set -D USE_IWYU=ON in your CMake config.
From #3715 (Allow experimental builds with Charm++ 7):
Builds with Charm++ 7 are now allowed, meaning the SpECTRE build system now accepts Charm++ 7 installations. Builds with Charm++ 7 are still experimental, so please file or fix issues you encounter.
From #2680 (Link Charm++ as a CMake target):
We link Charm++ like any other external dependency now. In particular:
- If you include
<pup.h>, addCharmxx::puptotarget_link_libraries. - If you include
<charm++.h>, addCharmxx::charmxxtotarget_link_libraries.
It is now easier to link Charm++ shared libraries, which can significantly reduce the size of builds. To take advantage of this, build Charm++ with the --build-shared flag and configure the SpECTRE build with -D BUILD_SHARED_LIBS=ON.
From #3740 (Move testing Parallel::mutate to ActionTesting):
In tests, instead of calling Parallel::mutate(cache), now call ActionTesting::mutate(cache).
From #3741 (Clarify center() function of strahlkorper as expansion_center()):
Strahlkorper now has its center() function renamed to expansion_center()
Merged pull-requests (68)
New features (2):
General changes (54):
- Support python 3.10 and boost 1.77 (#3718)
- Update copyright year to 2022 (#3726)
- Delete obsolete python test files (#3724)
- Move CurvedScalarWave evolved variables into Tags namespace (#3727)
- Add action to randomize inital evolved fields (#3580)
- Update installation instructions, add Spack env file, upgrade container (#3712)
- Disable IWYU by default (#3720)
- Make order of
CurvedScalarWaveevolved variables tags consistent (#3728) - Move
ScalarWaveevolved variables intoTagsnamespace (#3722) - Convert elliptic boundary conditions to use factory map (#3669)
- MutableGlobalCache: Clear callbacks before invoking them. (#3725)
- Make order of
ScalarWaveevolved variables tags consistent (#3723) - Clean up CMake code for defining tests (#3708)
- Refactor
ScalarWaveGrinstantiations (#3733) - Remove redundant SWSH calculation (#3736)
- Make
ScalarWaveGracceptCurvedScalarWaveinitial data directly (#3737) - Add dimensionless spin magnitude functions and compute tag (#3732)
- Add basic support for
make install(#3719) - Allow experimental builds with Charm++ 7 (#3715)
- Adding Automatic Resubmission of Jobs from Checkpoints Capability (#3738)
- Convert elliptic solutions and data to use factory map (#3672)
- Add check for wrong number of names in reduction call (#3745)
- Generate BibTeX entry at releases (#3667)
- Add partial_derivative functions for a single Tensor (#3743)
- Add Flattener to GRMHD (#3696)
- Add executable name as ctest label (#3750)
- Strahlkorper diff (#3691)
- Add standard CMake
BUILD_TESTINGoption, document test targets (#3744) - Add a few details to publication policies (#3754)
- Add CI test with oldest supported CMake version, find MPI for HDF5 if necessary (#3753)
- Make GRMHD, Burgers, SW solutions factory createable, add test_option_tag_factory_creation (#3707)
- Get Frontera support working again (#3698)
- Use Flattener instead of pointwise fixing in GRMHD (#3757)
- Notify new contributors to add name to metadata (#3755)
- Add performance section to dev guide (#3747)
- Decouple TOV radial solution, fix bug with multiple instances (#3703)
- Add continuous extension RK time steppers (#3717)
- Add (non-char-speed) BBH control measurement (#3620)
- UniformCylindricalEndcap (#3325)
- Improve error message in file comparison-type tests (#3763)
- Support Spack installation with shared libs (#3767)
- Link Charm++ as a CMake target (#2680)
- Move testing Parallel::mutate to ActionTesting (#3740)
- Clarify
center()function of strahlkorper asexpansion_center()(#3741) - Use Python 3.7 module on Wheeler (#3734)
- Add
CurvedScalarWaveexecutable that observes a scalar field in Kerr-Schild background (#3742) - Optimize elliptic solver (4): Boundary conditions in MinusLaplacian preconditioner (#3752)
- Use type trait to select between analytic solutions/data for DirchletAnalyticBcs (#3780)
- Spack CI test: disable debug symbols (#3775)
- Add new releases to Spack automatically (#3774)
- Remove unused functions from ComputeTimeDerivative (#3777)
- Add time to AH finder printed output (#3785)
- Change my name (#3789)
- Print nodes on wheeler (#3791)
Bugfixes (12):
- Fix linking in Test_GhConstraintDamping (#3721)
- Fix rendering of BibTeX entry in README (#3748)
- Fix CI issue with BibTeX entry (#3749)
- Fix
PYTHONPATHin Python tests (#3751) - Fix PCH builds with Spack (#3761)
- Fix Ylmspherepack segfault (#3651)
- Fix BibTeX entry in publication policies (#3760)
- Fix a missing function rename (#3770)
- Fix finding a lib on Wheeler (#3769)
- Fix CSW / SW docs for evolved variable tags (#3771)
- Fix an issue with encoded accents in bib entry (#3776)
- Fix linking, static test libs on macOS, remove cyclic CceAnalyticSolutions lib (#3773)
Contributors (11): @wthrowe, @kidder, @nikwit, @nilsvu, @geoffrey4444, @markscheel, @MarloMo, @AlexCarpenter46, @macedo22, @nilsdeppe, @knelli2
Release 2022.01.03
Upgrade instructions
From #3697 (Combine time-dep rotation maps):
If you want to use the 3D rotation map that uses quaternions, use Rotation<3> now instead of Rotation3D.
Merged pull-requests (8)
General changes (8):
- ComputeHorizonVolumeQuantities: expand some error messages. (#3702)
- Combine time-dep rotation maps (#3697)
- Separate CachedTempBuffer from computer (#3686)
- Enable subcell for Newtonian Euler (#3648)
- Minor retroactive fixes for subcell codes (#3705)
- Add MC reconstruction for GH+GRMHD (#3643)
- Miscellaneous control system changes (#3706)
- Add void dimensionful_spin_magnitude free function to StrahlkorperGr.cpp (#3671)
Contributors (7): @markscheel, @knelli2, @nilsleiffischer, @kidder, @yoonso0-0, @nilsdeppe, @MarloMo
Release 2021.12.15
Upgrade instructions
From #3612 (Remove function of time names from options):
Remove all FunctionOfTimeName: and InitialExpirationDeltaT: options from input files
Merged pull-requests (15)
General changes (12):
- Add WeylMagnetic (#3215)
- Add Frame::Distorted to Domain (#3677)
- Add TensorIndex n for TensorExpressions (#3680)
- Remove function of time names from options (#3612)
- Apple silicon (#3683)
- Add subcell time derivative to Burgers (#3676)
- Add Burgers subcell executables (#3678)
- Add KH instability analytic data for GRMHD (#3682)
- Update tensor variable names in GeneralRelativity (#3689)
- Mass-conservative restriction in elliptic DG (#3700)
- FindApparentHorizon now stores previous results. (#3692)
- Split NeighborDataForReconstructionAndRdmpTci tag (#3693)
Bugfixes (3):
- Increase tolerance for CCZ4 Ricci tensor and DgSubcell reconstruction unit test cases (#3684)
- Add support for clang-13/Ubunt 21.10 (#3701)
- Set output precision in RunSingleTest (#3695)
Contributors (10): @noora-gn, @gsb76, @macedo22, @knelli2, @geoffrey4444, @yoonso0-0, @nilsdeppe, @nilsleiffischer, @markscheel, @wthrowe