Release 2023.12.08
Upgrade instructions
From #5557 (Add option to output subdomain matrices in elliptic solver):
In input files for elliptic executable, change the option ExplicitInverse
to:
ExplicitInverse:
WriteMatrixToFile: None
You can set this option to a filename to output the subdomain matrices for debugging or analysis.
From #5562 (Add Wcns5z for ghmhd, add Enable options to LimitLorentz & FixConservatives):
Need to add
Enable: false # Only needed when not using Kastaun for recovery
(or true
) to FixConservatives
and LimitLorentzFactor
in input files.
From #5561 (Bump min Catch2 version to 3.4.0):
Building unit tests requires Catch2 v3.4.0 now. See the Catch2 docs for installation instructions (it's a standard CMake configure-build-install).
From #5542 (Clean up Sphere TimeDependentOptions):
To use hard coded time dependent maps with the Sphere domain creator, you no longer specify the following option
TimeDependentMaps:
...
SizeMap: # <-- Don't specify this
InitialValues: [...]
From #5573 (Enable p-refinement for ScalarWave executables):
ScalarWave input files need to have additional options, as well as now using global time-steppers instead of local time-steppers. (See the diff of tests/InputFiles/ScalarWave/PlaneWave1D.yaml
)
From #5583 (Allow timescale tuner to not decrease timescale):
If your executable has a Size control system, remove the DecreaseThreshold:
and DecreaseFactor:
options from the TimescaleTuner of the Size control systems. Note that you should keep these options for the SmootherTuner
option of Size control.
From #5608 (Support Gauss points in elliptic DG schemes):
In elliptic executables add the Discretization.DiscontinuousGalerkin.Quadrature
option. Set it to GaussLobatto
to keep the previous behavior.
From #5593 (Limit time step to prevent control-system deadlocks):
Executables with control systems and global time-stepping will now work with any time stepper, not just AdamsBashforth. When using a non-AdamsBashforth time stepper the step size will gradually decrease, so you should include the ChangeSlabSize event to increase it again.
From #5498 (Update GrMhd Analytic Boundary Conditions):
Gh-based initial data (which uses the WrappedGr wrapper class to add Gh) will require a wrapper GeneralizedHarmonic
in input files. For example:
TovStar:
would become
GeneralizedHarmonic(TovStar):
From #5641 (Add option for runtime element distribution):
Evolution and elliptic executables must now have a new option in the input file called
Parallelization:
ElementDistribution: NumGridPoints
An exception to this are the *CharacteristicExtract
executables. They do not need this new option.
From #5619 (Use wedge shape map transition in BCO domain):
For the BinaryCompactObject
domain creator, you must add the following two options to each of the shape map blocks
BinaryCompactObject:
...
TimeDependentMaps:
...
ShapeMapA:
...
TransitionEndsAtCube: true
ShapeMapB: #Same as A
From #5626 (Make GrMhd and GhMhd executables use runtime initial data. ):
All Initial Data will now be identified by InitialData
in the input file, rather than AnalyticSolution
, AnalyticData
, or InitialData
.
The EoS must be explicitly identified in the input file for all evolutions. To achieve "legacy" behavior, of using the EoS associated with the Initial data, specify
EquationOfState: FromInitialData
This will extract the EoS from the initial data and promote it to a 3-d EoS for evolution.
Merged pull-requests (89)
CLI & Python bindings (3):
- Add skeleton BBH pipeline (#5546)
- Add Render3D command with simple "clip" rendering (#5507)
- Add -t abbreviation to schedule cli (#5644)
General changes (70):
- Allow DenseTriggers mutable access to the DataBox (#5533)
- Add expiration_after method to FunctionOfTime (#5544)
- Remove unnecessary tags in ForceFree FD reconstructors (#5555)
- Add TCI options to FFE subcell and fix TCI criteria for TildeQ (#5552)
- Add 3D EoS Promotion (#5554)
- Radially falling floor EoS call (#5556)
- Add option to output subdomain matrices in elliptic solver (#5557)
- Add Wcns5z for ghmhd, add Enable options to LimitLorentz & FixConservatives (#5562)
- Add executable summarizing time stepper properties (#5559)
- Pass around neighbor meshes when determining AMR decisions (#5558)
- Add an analytic data PolarMagnetizedFmDisk (#5563)
- Explicitly state CCE ordering (#5567)
- Clean up Sphere TimeDependentOptions (#5542)
- Make GrMhd system compatible with 3D EoS (#5479)
- Allow events to mutate the DataBox (#5565)
- Remove ASSERTION_TEST and ERROR_TEST macros (#5572)
- Use smaller values in scalar wave char test (#5571)
- Allow multiple post interpolation callbacks (#5569)
- Make magnetic field configuration runtime choice (#5548)
- Enable p-refinement for ScalarWave executables (#5573)
- Revert "Use Catch2 for benchmarks" (#5582)
- Allow timescale tuner to not decrease timescale (#5583)
- Store control-system measurement times in the DataBox (#5566)
- fix ocean_gcc.sh (#5592)
- CCE dox and HDF5 error improvements (#5580)
- Add constraint energy normalization in GH (#5543)
- Add change_all_valences tensor metafunction (#5590)
- Add more extract_point overloads and add inverse (#5596)
- Observe more quantities in SolvePoisson (#5604)
- Move ProjectToBoundary from Evolution to DG (#5594)
- Use quadratic extrapolation for AHfinder guess (#5598)
- Create AnalyticSolution in elliptic boundary condition (#5603)
- Add transform for History (#5589)
- Add function for contracting the first N indices of two Tensors (#5602)
- Support domain deformations in elliptic solver (#5575)
- Improve floating-point behavior in wedge map (#5606)
- Support Gauss points in elliptic DG schemes (#5608)
- Add split_tuple function (#5613)
- Clarify debug prints in control system trigger (#5615)
- Add type Weyl Type D scalar and weyl electric to BBH executable (#5609)
- Add NeighborPackagedData to ForceFree subcell (#5568)
- Enable different upper and lower BCs for Brick. (#5611)
- C++20 compatibility (#5550)
- Add ErrorIfDataTooBig Event (#5614)
- Add the exact Wald solution to ForceFree system (#5527)
- Add compute tag for the second time derivative of the spacetime metric. (#5579)
- Add wedge transition for shape map (#5616)
- Limit time step to prevent control-system deadlocks (#5593)
- Update GrMhd Analytic Boundary Conditions (#5498)
- Optimize and vectorize TOMS748 (#5578)
- Simplify tmpl::list_contains, add lazy version (#5625)
- Add DirectionId and DirectionIdMap (#5621)
- Minor cleanup of testing framework code (#5622)
- Print more info on AHfinder failure. (#5597)
- Change behavior of sphere shape transition function (#5627)
- Switch evolved_swsh_dt_tag and evolved_swsh_tag to tmpl::list (#5637)
- Create a new element with the phase bookmarks of an existing element (#5634)
- Make shape map exactly like the one in SpEC (#5636)
- Cauchy-characteristic Evolution of Einstein-Klein-Gordon Systems (#5638)
- Remove enthalpy from list of primitive tags (#5631)
- Add IMEX time-stepper interface and Heun2 IMEX (#5617)
- Add option for runtime element distribution (#5641)
- Add IMEX protocols (#5618)
- Use wedge shape map transition in BCO domain (#5619)
- Minor db factoring (#5649)
- WorldtubeBufferUpdater and WorldtubeDataManager for CCE (#5640)
- Mutate NeighborMesh at beginning of AMR (#5643)
- Reduce compilation memory of executables (#5647)
- Make GrMhd and GhMhd executables use runtime initial data. (#5626)
- Add MortarSize hash and pup function to inbox tag (#5658)
Bugfixes (9):
- Check FoT before post intrp callbacks and UpdateMessageQueue (#5510)
- Reinterpolate to all elements for new target points (fix BBH deadlocks) (#5531)
- Fix regex for iterable actions in charm traces (#5574)
- Fix boundary condition bugs for temperature reconstruction (#5577)
- Prevent operations with DV expressions in translation map (#5601)
- Register derived parallel callbacks (#5607)
- Fix doxygen warnings for certain functions (#5620)
- Fix interpolation framework when there are no valid points to interpolate (#5623)
- Fix curved mesh support for FD (#5628)
Build system (1):
- Bump min Catch2 version to 3.4.0 (#5561)
Continuous integration & deployment (6):
- Fix script to add Spack version (#5560)
- Skip compiling executables in demo container when emulating (#5564)
- Add deploy container with compiled executables (#5591)
- Fix Zenodo upload (#5612)
- Increase a ScalarTensor input file test timeout (#5645)
- Fix Zenodo upload (#5660)
Contributors (15): @knelli2, @wthrowe, @yoonso0-0, @isaaclegred, @pajkosmi, @nilsvu, @nilsdeppe, @kidder, @jyoo1042, @AlexCarpenter46, @acifajkya, @markscheel, @macedo22, @ncorsobh, @Sizheng-Ma