Releases: sxs-collaboration/spectre
Release 2024.05.11
Upgrade instructions
From #5922 (Factor out Shape options from BCO and Sphere domain):
When using the hardcoded time dependent maps in the Sphere domain, you must now also specify SizeInitialValues: in the shape map options:
ShapeMap:
LMax: 10
InitialValues: Spherical
SizeInitialValues: Auto # <-- This is newThese are either Auto or an array of length 3 for the value and it's two time derivatives
From #5923 (Add ability to read horizon coefs from file into shape map):
Specify reading in the shape coefficients from a file like so
ShapeMap:
LMax: 8
SizeInitialValues: Auto
InitialValues:
H5Filename: NameOfFile.h5
SubfileNames:
- NameOfCoefSubfile
- NameOfdtCoefSubfile
- NameOfd2tCoefSubfile
MatchTime: 49.8
MatchTimeEpsilon: 1e-10 # <-- Use 'Auto' for a default of 1e-12
SetL2CoefsToZero: TrueMerged pull-requests (70)
CLI & Python bindings (7):
- Print available observations in CLI (#5916)
- Clarify use of 'multiple' options in some CLI functions (#5917)
- Add CLI command to plot elliptic solver convergence (#5929)
- Bind horizon finder in Python (#5919)
- Log scale in PlotSizeControl.py (#5954)
- Animate PlotSlice and PlotAlongLine (#5968)
- PlotPowerMonitors: add figsize, axis labels (#5964)
General changes (54):
- Add an observer for tracking the size of DataBox items (#5858)
- Hypersurface calculations for Klein-Gordon Cce (#5883)
- Add calculation and use of opacities in MC (#5870)
- Allow Strahlkorper construction from different frame (#5871)
- Add spinlock and switch nodelock to use it (#5911)
- Add nodegroup element support to various Events (#5912)
- BinaryCompactObject domain: support initial Kerr horizon shape (#5896)
- Add tags for worldtube iterations (#5847)
- Diffusion scattering mc (#5851)
- Make Parallel::printf atomic (#5877)
- XCTS: add Robin outer boundary conditions (#5915)
- Add a reflective boundary condition (#5624)
- Add scalar self force and derivatives calculations (#5869)
- Add functionality to Ylm IO (#5921)
- Factor out Shape options from BCO and Sphere domain (#5922)
- Uncomment MC testing code (#5928)
- Add RotScaleTrans Map to BCO (#5854)
- XCTS: output spatial Christoffels (#5918)
- Normalize subfile path in H5 lib (#5924)
- Add nodegroup tags and DgElementArrayMemberBase class (#5936)
- Tune BBH ID input file a little (#5940)
- Remove TOV sanity check for RHS evaluation (#5934)
- BBH ID: compute initial orbital params from PN (#5933)
- Mbot fix paraview (#5946)
- Change translation control to work like SpEC (#5944)
- A couple type traits & SetTerminateOnElement action (#5945)
- Correct queue name in submit scripts (#5949)
- Print remark when AH finder fails for verbosity >= quiet (#5890)
- Add 0th order acceleration terms (#5860)
- Move Swsh classes and functions to their own directory (#5942)
- Add cartesian_to_spherical routines (#5948)
- Write data synchronously in CCE for monotomic times in output (#5950)
- Add actions ReceiveDataForElement, StartPhaseOnNodegroup, and SpawnInitializeElementsInCollection (#5958)
- Calculation of proper and coordinate volume needed for MC (#5904)
- Add hydro coupling bookkeeping to emission function in MC (#5903)
- Invoke executables on interactive nodes with mpirun (#5939)
- Bookkeeping of hydro-mc coupling in packet evolution (#5920)
- Parallelize block_logical_coords with OpenMP if enabled (#5947)
- Add Sarah Habib to metadata (#5965)
- Add ability to read horizon coefs from file into shape map (#5923)
- Handle substeps in LTS error control (#5943)
- Unconstrain numpy version (#5962)
- Binary Input File Tuning (#5953)
- Add iterative scheme to worldtube (#5855)
- Fix gcc warning about infinite recursion (#5970)
- Switch from std::tuple to evolution::dg::BoundaryData class (#5969)
- Add IrrotationalBNS Pointwise Functions (#5880)
- Update documentation and env for mbot (#5974)
- Add coupling to scattering (#5927)
- Correct tildeB sources and fluxes in ValenciaDivClean (#5960)
- Fix CaltechHPC environment (#5959)
- Add 1st order acceleration terms (#5861)
- Update contributor status in metadata (#5981)
- Add Cce H5 file type (#5963)
Documentation (3):
- Add IMEX tutorial (#5759)
- Document extract-dat to standard output (#5930)
- Fix beginners guide docker instruction (#5975)
Bugfixes (2):
Build system (3):
- Improve static linking of GSL, HDF5, libgfortran, & libquadmath. Add CMake & executable code to print licenses and copyrights of 3PLs (#5961)
- Bundle brigand and libsharp in externals (#5967)
- Static libsz and libaec, switch to HDF5::HDF5 in cmake, rename ENABLE_SPECTRE_DEBUG to SPECTRE_DEBUG in cmake, fix incorrect CCE assert (#5972)
Continuous integration & deployment (1):
- Bump versions of GitHub actions (#5980)
Contributors (14): @wthrowe, @kidder, @Sizheng-Ma, @ffoucart, @knelli2, @nilsdeppe, @nilsvu, @nikwit, @jyoo1042, @AlexCarpenter46, @isaaclegred, @shabibti, @geoffrey4444, @norafl
Release 2024.04.12
Merged pull-requests (26)
CLI & Python bindings (3):
- PlotSlice: add default title (#5872)
- PlotPowerMonitors: allow only integer ticks for modes (#5894)
- CleanOutput.py: support glob patterns (#5905)
General changes (17):
- Newtonian Euler: analytic prescription in boundary condition and use runtime EOS in NE (#5867)
- Use 2d EOS in Newtonian Euler, stop using EOS base tag in Newtonian Euler (#5884)
- Add derivatives of Kerr Schild quantities (#5865)
- Add Random StepChooser for debugging (#5866)
- Adjust timing of dense output checks (#5873)
- Add spins to BBH ID input file (#5868)
- Store slab-size change info in DataBox instead of inboxes (#5886)
- Generalize LTS communication handling (#5864)
- Do not serialize compute items of a DataBox (#5891)
- Move NeighborPackagedData into cpp files & allow volume tags in dg boundary terms (#5888)
- Observe KleinGordonPsi at future null infinity (#5885)
- Always enable time-dependent maps (#5878)
- Finish supporting volume tags in boundary terms (#5899)
- Add pretty-printer for Variables, VectorImpls, gsl::span, Tensor for GDB (#5879)
- Add ability to specify initial state for size control (#5889)
- Error if doing barycentric interpolation for FiniteDifference (#5897)
- Add option for monotonic AdamsMoulton dense output (#5900)
Bugfixes (2):
Build system (1):
- Fix pvpython support, specifically on mbot this is needed for the CLI (#5906)
Continuous integration & deployment (3):
- Fix workflow to deploy containers on release (#5876)
- Increase test timeout factor for clang-14 debug build (#5887)
- Fix workflow to deploy release container (#5908)
Contributors (8): @nilsdeppe, @nilsvu, @nikwit, @kidder, @wthrowe, @Sizheng-Ma, @isaaclegred, @knelli2
Release 2024.03.19
Upgrade instructions
From #5715 (Add exporter library):
The Python module Visualization.InterpolateToCoords has moved to IO.Exporter.InterpolateToPoints. It has a slightly different (easier) interface, is implemented in C++ now, and supports parallelization, which should make it considerably faster.
From #5725 (Update CaltechHpc environment files):
On CaltechHPC, the environment file caltech_hpc_gcc.sh has been renamed to caltech_hpc_gcc_skylake.sh.
There is also a new environment file
caltech_hpc_gcc_icelake.sh
From #5779 (Use multiple highest modes for Persson TCI and remove initial data TCI):
All input files for executables using DG-FD (subcell) should make following changes in SpatialDiscretization-DiscontinuousGalerkin group
- Remove
InitialDatagroup, since we are not using initial data TCI anymore. - Add
PerssonTcigroup, to whichPerssonExponentis moved as theExponentoption. - In the
PerssonTcigroup, a new option namedNumHighestModesis added. This enables users to control how many highest modes to be left in the filtered solution of which norm is computed in the Persson TCI. Use 1 by default since this is the configuration that we have used so far.
Below is an example.
Before:
Subcell:
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
PerssonExponent: 4.0
InitialData:
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
PerssonExponent: 4.0
After:
Subcell:
PerssonTci:
Exponent: 4.0
NumHighestModes: 1
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
From #5803 (Enforce limits on refinement levels and resolution during AMR):
In input files, the you will need to specify a new sub-option to the Amr Policies that specifies the
Limits with sub-options RefinementLevel and NumGridPoints. The suggested value for these two options is Auto unless you want to limit refinement further.
From #5815 (Allow calling the TCI on the FD grid only every N steps, to wait M steps after rollback, and/or have K clear TCIs before going back to DG):
The TCI options now look like:
Subcell:
TroubledCellIndicator:
PerssonTci:
Exponent: 4.0
NumHighestModes: 1
RdmpTci:
Delta0: 1.0e-7
Epsilon: 1.0e-3
FdToDgTci:
NumberOfStepsBetweenTciCalls: 1
MinTciCallsAfterRollback: 1
MinimumClearTcis: 1
AlwaysUseSubcells: false
UseHalo: false
OnlyDgBlocksAndGroups: None
SubcellToDgReconstructionMethod: DimByDim
FiniteDifferenceDerivativeOrder: 2Specifically, all the TCI-related options have been moved into a group called TroubledCellIndicator. The RDMP TCI options are now also in their own group. A new FdToDgTci: group controls when we try to go back to DG, e.g. every N steps, to wait M steps after rollback, or to have at least K clear TCIs before going back to DG. This is to allow reducing TCI overhead on FD and to allow additional smoothing by the FD solver before going back.
From #5817 (Add AMR to elliptic executables):
You'll have to add an Amr section to elliptic input files, as well as a PhaseChangeAndTriggers section to trigger AMR. See the input files in this PR for examples.
Merged pull-requests (109)
New features (1):
- Add exporter library (#5715)
CLI & Python bindings (4):
- Add CLI tool to plot volume data along a line, group plotting commands in CLI (#5749)
- Add domain rendering script (#5735)
- Add CLI to plot memory monitors (#5807)
- Add PlotSlice command (#5805)
General changes (74):
- Add solution of Einstein's equations for a generic gauge plane wave (#5712)
- Add RotScaleTrans Map and Tests (#5696)
- Add mbot as new machine (#5745)
- Small changes for elliptic AMR (#5736)
- Terminate parallel GMRES when it diverges (#5742)
- Fix oscillations in Heun2 IMEX dense output (#5734)
- Databox runtime retrieval (#5709)
- Limit initial time step to avoid control system deadlocks (#5732)
- Update CaltechHpc environment files (#5725)
- Python 12 fixes (#5744)
- Introduce AMR policies (#5765)
- Add uniform p-refinement criterion (#5754)
- Update TOV star test input file with more stable parameters. (#5753)
- Make Auto parsing failure print the Label (#5766)
- Create worldtube test library (#5774)
- Prevent NumGridPointsAndGridSpacing element dist when using GTS (#5769)
- Update cluster install docs (#5770)
- Monte carlo packets (#4089)
- Construct Klein-Gordon Cce data on the first hypersurface (#5752)
- Use multiple highest modes for Persson TCI and remove initial data TCI (#5779)
- Add an action for Klein-Gordon CCE worldtube data communication (#5717)
- Add TaggedTuple support to pypp (#5748)
- Switch to C++ 20 (partially) (#5747)
- Fix an unchaged filtering extent in PerssonTci (#5783)
- Increase max spectral basis functions from 12 to 20 (#5163)
- Add EvolvedPosition/Velocity Tags (#5775)
- Fix truncation error estimate for functions with symmetry (#5767)
- Allow random hp AMR for testing (#5781)
- Factor out linear elliptic solver algorithm (#5782)
- Enables AMR to be used in GH executables with one or two black holes (#5757)
- Add some elliptic AMR projectors (#5721)
- FD TCI call counters (#5792)
- Mc logical coordinates (#5771)
- Update ocean charm module for move to C++20 (#5806)
- Add rotation, expansion and translation maps to Sphere domain (#5758)
- Add
InitialPositionVelocitytag (#5776) - Remove p-refinement from punctures AMR criterion (#5796)
- Re-initialize Schwarz subdomain before each solve (#5802)
- Enforce limits on refinement levels and resolution during AMR (#5803)
- Add error if RotNS file does not exist (#5804)
- Observe elastic stress (#5809)
- Add
UpdateAccelerationmutator (#5777) - Replace Kerr-Schild with Spherical-Kerr-Schild for FishboneMoncriefDisk (#5800)
- Add Rk3Pareschi IMEX time stepper (#5760)
- Wrap RotatingStar to be usable in GhValenciaDivClean (#5790)
- Support a different elastic material in each block (#5737)
- Terminate parallel Newton-Raphson on error (#5813)
- Allow calling the TCI on the FD grid only every N steps, to wait M steps after rollback, and/or have K clear TCIs before going back to DG (#5815)
- Add InverseJacobianInertialToFluidCompute (#5811)
- Fix OptimizerHacks for clang 17 (#5823)
- Add some self-force option tags ([#5785](htt...
Release 2024.02.05
Upgrade instructions
From #5655 (Move raise_or_lower_index and trace to Tensor lib):
The functions raise_or_lower_index and trace are now declared in DataStructures/Tensor/EagerMath/.
From #5656 (Simplify elliptic DG formulation):
In elliptic systems remove the auxiliary_fields and auxiliary_fluxes. Instead, formulate your fluxes in terms of the partial derivatives of the systems fields. See the FirstOrderSystem protocol for details.
From #5691 (Add a radial expansion to the BBH ID pipeline):
For the spectre bbh generate-id command, you must now also specify the radial expansion velocity with --radial-expansion-velocity/-a.
From #5684 (Solve for psi-1 in XCTS system):
In XCTS input files replace ConformalFactor and LapseTimesConformalFactor with ConformalFactorMinusOne and LapseTimesConformalFactorMinusOne in analytic boundary conditions and error observations.
Merged pull-requests (62)
CLI & Python bindings (3):
- Add a radial expansion to the BBH ID pipeline (#5691)
- Add 'status' CLI formatter for elliptic executables (#5701)
- Add CLI to plot size control diagnostics (#5723)
General changes (47):
- Add a static single-producer single-consumer queue (#5659)
- Worldtube buffer updater for Klein-Gordon (#5646)
- Add Kennedy and Carpenter's IMEX time steppers (#5652)
- Move
raise_or_lower_indexandtraceto Tensor lib (#5655) - Simplify elliptic DG formulation (#5656)
- Move frame transformations to Tensor lib, add function to transform flux tensors to logical frame (#5654)
- Add function for the spacetime derivative of goth(g) (#5648)
- Add serialization-versioning test utility (#5651)
- Convert Tags::TimeStepper to not be a base tag (#5657)
- Observe BBH individual horizons in distorted frame (#5675)
- Add IMEX SolveImplicitSector mutator (#5653)
- Switch elliptic DG to a primal formulation (#5667)
- Add truncate_* methods to ThreadsafeList (#5663)
- Support weak form in elliptic DG (#5679)
- Worldtube data manager for Klein-Gordon CCE (#5662)
- Add BondiSachs and deadlock analysis to SingleBH (#5680)
- Remove gamma1 from excision observations (#5665)
- Use a central list for reconstruction tags in G(H)RMHD (#5686)
- Simplify Riemann solver pypp testing (#5687)
- Combine time and spatial derivative in spacetime_deriv_of_goth_g into… (#5678)
- Remove 2nd order worldtube evolution (#5666)
- Add spacetime Christoffel symbols to Kerr-Schild spacetime (#5688)
- Update copyright year to 2024 (#5693)
- Boundary component for Klein-Gordon CCE (#5683)
- Remove control system Event (#5682)
- Automate BBH pipeline (#5685)
- Generalize
InertialParticlePositioncompute tag (#5677) - Solve for psi-1 in XCTS system (#5684)
- Change worldtube scheme to inertial frame (#5668)
- Add PolarMagnetizedFmDisk to list of initial data (#5700)
- Use jemalloc on Caltech HPC (#5698)
- Add function to create a spacetime tensor from time and spatial ones. (#5692)
- Add Klein-Gordon CCE evolution component, metavariable, and executable (#5697)
- Reimplement array_allocation_tags (#5702)
- Add geodesic coordinate acceleration function (#5681)
- Add SettleToConstantQuaternion (#5703)
- Optimize FixConservatives (#5633)
- Remove boost::rational from FractionUtilities test (#5707)
- Add IMEX actions (#5676)
- Modify check_with_random_values (#5710)
- Initialize Klein-Gordon CCE variables (#5704)
- Add IMEX ImplicitDenseOutput mutator (#5711)
- Dump smoothing timescale in size control (#5720)
- Instantiate inertial->distorted for strahlkorper_in_different_frame (#5718)
- Support h-refinement in Variables AMR projector, more minor AMR changes (#5716)
- Add puncture field for arbitrary geodesic orbits (#5689)
- Move test into anonymous namespace (#5733)
Documentation (2):
- Improve documentation of EvenlySpaced TimeSequence (#5708)
- Update documentation of Persson TCI (#5713)
Bugfixes (6):
- Remove duplicate entries in clang-format. (#5690)
- Update Catch module on Wheeler (#5695)
- Fix ordering of IncludeCategories in clang-format (#5699)
- Handle overflow in ContinuedFractionSummer (#5714)
- Small Tov documentation typos (#5719)
- Fix reading input files with empty metadata (#5728)
Build system (1):
- Fix compilation with clang 17 (#5726)
Continuous integration & deployment (3):
- Fix Spack post-release workflow (#5661)
- Increase a test timeout (#5694)
- Update Intel SDE used for Arch tests (#5706)
Contributors (12): @nilsdeppe, @Sizheng-Ma, @nilsvu, @wthrowe, @ncorsobh, @geoffrey4444, @knelli2, @nikwit, @kidder, @jyoo1042, @pajkosmi, @yoonso0-0
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: NoneYou 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: NumGridPointsAn 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 AFrom #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 tim...
Release 2023.10.11
Upgrade instructions
From #5433 (Drop clang-10):
We don't guarantee compatibility with Clang 10 anymore. Upgrade to Clang 11+ or use GCC 9+.
From #5475 (Bump to clang-13 to get some C++20 support):
We don't guarantee compatibility with Clang < 13 anymore. Upgrade to Clang 13+ or use GCC 9+.
From #5462 (Add DeltaRDriftOutward (State 5) to size control.):
Input files using size control need to add a new option:
- DeltaRDriftOutwardOptions: None
From #5499 (Remove layer of autogenerated code from executables):
If you're adding or editing executables in the build system, apply these changes (see one of the existing executables for an example):
add_spectre_parallel_executablewas deleted. Useadd_spectre_executableinstead and linkCharmxx::main.- Delete the
Fwd.hppfile. - Add a cpp file with a main function (specifically, a
CkRegisterMainModule()function). - Move the
charm_init_node_funcsandcharm_init_proc_funcsto the call toParallel::charmxx::register_init_node_and_procin the cpp file. Remove the error handling functions from these lists because they are registered automatically. - If needed, pass template parameters for the metavars from CMake to the cpp file with
target_compile_definitions.
Merged pull-requests (99)
CLI & Python bindings (5):
- Merge 'combine-h5 {dat,vol}' CLI commands (#5412)
- Adds more Pybindings for GH. (#5430)
- Allow overwriting H5 tensor data, add
--forceoption to transform-vol CLI (#5331) - Report output file path when submitting jobs (#5502)
- Minor improvements to Schedule.py (#5547)
General changes (40):
- Reset GH pi and phi to constraints (#5427)
- Add Reconstructor base tag (#5423)
- Interpolators tag and dg mesh (#5424)
- Add Mesh template tag to deriv, more ghmhd observers (#5426)
- Add Carter Anderson to contributors list (#5437)
- Add a mutator initializing ForceFree::Tags::NsInteriorMask (#5295)
- Use UpdateAggregator in control system (#5378)
- Remove ExtendConnectivity C++ executable (#5443)
- Add p-projector for time history (#5442)
- Delete rvalue iterator methods in STL boilerplate (#5439)
- Add p-projectors for Variables and Tensors (#5448)
- Add CircularDeque container (#5441)
- Add p-projector for EventsAndDenseTriggers. (#5450)
- Add AdaptiveOrder FD reconstructor to ForceFree system (#5436)
- Add AMR protocol conformance asserts (#5452)
- Add Piecewise Function to Translation Map (#5388)
- Add linear velocity term to BBH initial data (#5458)
- Add SetInterpolators mutator, some BNS input file improvements (#5456)
- Add p-projection for mortars for global time-stepping (#5474)
- Reconstruct temperature in GRMHD and GHMHD (#5466)
- Add ERROR_AS for custom exception types on errors (#5467)
- Only allow updating FoTs at expiration time (#5483)
- Improve handling of Tags::DataBox (#5478)
- Only allow one MutableCache callback per ArrayComponentId (#5484)
- Curved mesh fd (#5465)
- Add DeltaRDriftOutward (State 5) to size control. (#5462)
- Optimize interpolation onto sphere targets (#5503)
- Add CAPTURE_FOR_ERROR to print info on failure (#5506)
- Bns input file cleanups (#5497)
- Isolate multithreading in FoTs (#5491)
- Write and read surface spherical harmonic data to and from disk (#5416)
- Import FUKA initial data (#5339)
- Add FoTAreReady function for simple actions (#5513)
- Memoize control_system::combined_name (#5526)
- Move Francois Hebert and Jordon Moxon to Developers (#5529)
- Move internals of ThreadsafeList to a tpp file (#5525)
- Rewrite BoundaryHistory to support substeps (#5461)
- Clean up print helpers (#5523)
- Add max Lorentz factor to KastaunMHD and input file option (#5537)
- Add option to output matrix in elliptic solver (#5540)
Documentation (6):
- Update PPAO documentation (#5444)
- Add Variables Temporaries Documentation (#4951)
- Clarify expiration-time calculation documentation (#5482)
- Update installation instructions to include maximum version of Doxygen. (#5489)
- Fix h5 file names in CCE input file (#5500)
- Update some parallel documentation (#5515)
Bugfixes (22):
- Fix root brackets in Tabulated3D also for doubles (#5435)
- Fix tags on SeparationLessThan test (#5438)
- Fix race in list of StoredInfos (#5453)
- Fix an error message in factory creation (#5468)
- Fix bug in deserialization of old QuaternionFoTs (#5473)
- Use consistent memory order in QuatFoT (#5476)
- Increase some test timeouts, fix a tolerance (#5469)
- Make KastaunHydro stable against unphysical energy states (#5434)
- Make ExtractDat handle extensions and print error (#5496)
- Remove some catastrophic cancellation in prim recovery (#5494)
- Add missing include. (#5501)
- Fix bug in damped harmonic gauge (#5504)
- Correct tabulated eos indexing bug (#5511)
- Fix 1d recovery and 2d atmosphere fixing (#5522)
- Fix sphere optimization (#5521)
- Fix compiling temperature init with analytic solutions (#5508)
- Add transport velocity tag to namespace Hydro and insert Temperature tag to RotatingStar (#5464)
- Fix Bug in Grmhd BCGhostData (#5524)
- Add missing header to GR surface tags (#5539)
- Temperature updates for param delep 3D EoS (#5534)
- Fix missing include (#5545)
- Fix status CLI if user directory can't be read (#5551)
Build system (7):
Release 2023.09.07
Upgrade instructions
From #5326 (Add events to CCE):
All input files for the standalone CCE executable CharacteristicExtract must now have an
EventsAndTriggers:
- Trigger:
...
Events:
...block in the input file.
From #5364 (Clean up unused arguments in add_test_library):
Two unused arguments were removed from add_test_library. Change code from this:
add_test_library(
${LIBRARY}
"Evolution/Systems/Cce/"
"${LIBRARY_SOURCES}"
""
)to this:
add_test_library(${LIBRARY} "${LIBRARY_SOURCES}")From #5348 (Preparation for adding AMR projectors):
You will now need to explicitly default initialize any items that were previously default initialized implicitly.
This is done by adding ::amr::projectors::DefaultInitialize<Tag0, Tag1, ...> to the list of amr::projectors in the metavariables of an executable.
From #5381 (Add size control to BH execs):
For the EvolveGhSingleBlackHole executable, you have to add the following options to your input file:
ApparentHorizons:
...
ControlSystemCharSpeedAh: (same as the other options in this block)
InterpolationTargets:
...
ControlSystemCharSpeedExcision: (same as the other options in this block)
ControlSystems:
Size:
IsActive: false
Averager: (same as other control systems)
Controller: (same as other control systems)
TimescaleTuner: (same as other control systems)
ControlError: (this is the only one that differs from other control systems)
MaxNumTimesForZeroCrossingPredictor: 4
SmoothAvgTimescaleFraction: 0.25
SmootherTuner:
InitialTimescales: [0.2]
MinTimescale: 1.0e-4
MaxTimescale: 20.0
IncreaseThreshold: 2.5e-4
DecreaseThreshold: 1.0e-3
IncreaseFactor: 1.01
DecreaseFactor: 0.9For the BBH executable, you need both A/B versions of the above options: ControlSystemCharSpeedAh, ControlSystemCharSpeedExcision, Size.
From #5393 (Rename Ylm namespaces):
The following spherical harmonic namespaces have been renamed:
StrahlkorperGr->gr::surfacesStrahlkorperTags->ylm::TagsStrahlkorperFunctions->ylm
From #5405 (Put all Ylm things in namespace):
All items in NumericalAlgorithms/SphericalHarmonics/ now live in the ylm namespace (e.g. ylm::Strahlkorper).
From #5406 (Add VolumeIntegral norm to ObserveNorms):
In input files, make changes like:
- ObserveVolumeIntegrals:to
- ObserveNorms:
SubfileName: VolumeIntegrals
TensorsToObserve:
- Name: AdmMassIntegrand
NormType: VolumeIntegral
Components: IndividualFrom #5410 (Add CombineH5Dat to CLI):
To join H5 dat files from different segments (e.g., the segments resulting from using schedule/ checkpoint & restart), you can use the new CLI command combine-h5-dat to combine these H5 files into a single H5 file. This is necessary before providing CCE output files to CharacteristicExtract.
Merged pull-requests (65)
CLI & Python bindings (6):
- Add pybinding for time deriv of lapse and spatial metric (#5357)
- Add Spacetime Deriv Of Norm Of Shift PyBind (#5226)
- Pybindings for Combine-H5 functionality (#5207)
- Add Python Bindings For Spectral And Enthalpy EoS (#5254)
- Some cleanups in CombineH5 CLI (#5398)
- Add CombineH5Dat to CLI (#5410)
General changes (38):
- Add events to CCE (#5326)
- Add basic p-refinement criterion based on truncation error (#5273)
- Add ComputeTags for observing electromagnetic variables in ForceFree system (#5171)
- Inject ExcisionSphere time dep in BCO domains (#5270)
- Print deadlock information in BBH exec (#5352)
- Add example executable for ScalarTensor (#5321)
- Remove ability to override functions of time (#4487)
- Add quick exit from cons 2 prim routine (#5347)
- Add protocols and docs for registration (#5318)
- Preparation for adding AMR projectors (#5348)
- Add is_isotropic function for mesh, remove debugging CMake message (#5368)
- Add h-refinement criterion based on 2nd derivs (#5371)
- Smooth horizon coefs in size control (#5255)
- Add size control to BH execs (#5381)
- Use infinity for non-expiring FoT (#5386)
- Add h-refinement criterion based on power in highest modes (#5372)
- Add CcsnCollapse as Gh executable (#5389)
- Add Quadrupole Moment and its first time derivative to GhValenciaDivClean (#5390)
- Emit error message when importing single-precision vol data (#5392)
- Add Jooheon to contributors list (#5396)
- Add Nick Corso to contributors (#5397)
- Add temperature to GRMHD related initial data (#5229)
- Make preparations for control system expr time changes (#5376)
- Move IsActive tag to IsActiveMap tag (#5383)
- Add MC reconstructor to ForceFree subcell (#5310)
- Print time step and next time in element deadlock action (#5399)
- Rename Ylm namespaces (#5393)
- Optionally write Bns control sys centers to disk (#5404)
- Rename code variables to match documentation (#5400)
- Add Wcns5z reconstructor to ForceFree subcell (#5407)
- Put all Ylm things in namespace (#5405)
- Add VolumeIntegral norm to ObserveNorms (#5406)
- Add UpdateAggregator (#5377)
- Add a rotating star magnetosphere initial data to ForceFree (#5281)
- Add p-refinement criterion based on constraints (#5375)
- Update contributing guidelines (#5369)
- Add hydro version of Kastaun Con2Prim. (#5328)
- Factor enum classes Basis and Quadrature into their own files (#5421)
Documentation (2):
- Update pybindings docs for pointwise functions (#5385)
- Document how to run compose and generate an EOS (#5411)
Bugfixes (9):
- Fix threadsafety of PiecewisePolynomial (#5334)
- Fix test libs (#5370)
- Fix running multiple random-value tests in a debugger (#5374)
- Two minor fixes in FFE code (#5379)
- Update Bond Sachs interpolation to run on GhMhd executables (#5394)
- Fix issue where bounds in Tabulated3D EOS can become zero (#5409)
- Fix race condition inside PiecewisePolynomial (#5402)
- Exit on reaching negative pressure in Newman Hamlin solver (#5417)
- Make Tabulated3D EOS PuPable (#5422)
Build system (5):
- Clean up unused arguments in
add_test_library([#5364](https://gith...
Release 2023.08.18
Upgrade instructions
From #5302 (Add BondiSachs to GhValencia executables):
All GhValenciaDivClean input files must now specify the following two blocks
InterpolationTargets:
BondiSachsInterpolation:
LMax: 16
Radius: [100, 150, 200]
Center: [0, 0, 0]
AngularOrdering: Cce
Cce:
BondiSachsOutputFilePrefix: "BondiSachs"Along with the BondiSachsInterpolation singleton in ResourceInfo:
From #5286 (Upgrade Catch2 to version 3+):
- Building tests now requires Catch2 version 3+. Install with your package manager (
brew install catch2on macOS) or with a standard CMake build and install from source (see the Catch2 docs). Build withBUILD_SHARED_LIBS=ONto build shared libs, or withCMAKE_POSITION_INDEPENDENT_CODE=ONif you're building static libs. - Rename
Catch::ContainstoCatch::Matchers::ContainsSubstring.
From #5337 (Use Catch2 for benchmarks):
Add microbenchmarks to your test cases. See the Catch2 benchmark documentation for instructions.
From #5340 (Split up RunTests):
To run unit tests you don't need to compile the giant RunTests executable anymore (or edit RunSingleTest). Just build the individual test executable (like Test_LinearOperators) and run it (like ./bin/Test_LinearOperators). See the Catch2 docs for details on running the test executables. You can still build all unit tests with the unit-tests target and run test cases with ctest (no change there).
From #5360 (Update catch2, use gcc on ocean):
When running spectre on ocean, use ocean_gcc.sh instead of ocean_clang.sh. This switches to use gcc and g++ instead of clang and clang++; compiling is slower but is compatible with importing SpEC initial data. To enable SpEC importing, set SPEC_ROOT to /opt/ohpc/pub/apps/spec/spec-interp4/ before running make.
Merged pull-requests (77)
General changes (68):
- Decrease test runtimes and increase test timeouts (#5264)
- Add largest characteristic speed for ScalarTensor (#5256)
- Add a tag for masking neutron star interior in ForceFree evolution system (#5232)
- Add data structure and tags for starting on FD (#5262)
- Add ObserverMeshVelocity tag and handle DG in ResizeAndComputePrims (#5263)
- Remove DgSubcell from ParallelInterpolation (#5274)
- Remove Time from Domain (#5276)
- Remove Time from ParallelInterpolation (#5275)
- Use unlimited-2 reconstruction with MC for GhGrmhd (#5277)
- Merge MutableGlobalCache into GlobalCache (#5240)
- Support subcell in importers (#5279)
- Add Dirichlet boundary condition for CurvedScalarWave (#5243)
- Add Kerr plus scalar wave initial data for ScalarTensor (#5257)
- Fix ApparentHorizon dependencies (#5267)
- Rewrite translation map root-find (#5268)
- Add FoT names to CoordMaps (#5266)
- Don't build same version of CMake twice in container (#5298)
- Make DG-FD executables to start on FD (#5283)
- Add PPAO reconstruction to GhGrmhd system (#5280)
- Add time derivative computation to ScalarTensor (#5212)
- Make namespaces consistent for wrapped initial data lists (#5303)
- Drop Py3.7 (#5297)
- Use highest possible FD order when computing GH derivatives (#5308)
- Add BondiSachs to GhValencia executables (#5302)
- Get h5 lock in DumpBondiSachs (#5300)
- Add boundary conditions for ScalarTensor (#5235)
- Allow use of ObservationBox in Intrp events (#5309)
- Add support for 2d EOS to SpecInitialData (#5305)
- Taking Out Unnecessary Includes in Psi4 Files (#5307)
- Move ExtendConnectivity helper functions (#5306)
- Add changelog with pre-release notes to docs (#5312)
- Add list of compute tags for ScalarTensor initialization (#5265)
- Add Boundary Corrections for ScalarTensor (#5220)
- Add thread-safety docs to some FoTs (#5327)
- Add quadrupole moment and its first derivative calculations to Hydro (#5178)
- Remove InitialDataTci from ForceFree system (#5322)
- Compute truncation errors in post-processing (#5320)
- Add some more pybindings in Spectral, Domain (#5330)
- Add cap to Lorentz factor and temperature minimum to GhGrmhd executable (#5332)
- Add density dependent limit to magnitude of tildeS (#5333)
- Mock global cache (#5319)
- Upgrade Catch2 to version 3+ (#5286)
- Add InversePlasmaBeta to Hydro (#5323)
- Evaluate background metric variables on FD grids (#5259)
- Add observation of inertial center of mass for BNS (#5296)
- Add prefix tags for observation of CSW variables in ScalarTensor (#5329)
- Allow FPEs to be caught as C++ exceptions (#5324)
- Find FFTW3 with CMake (#5343)
- Use Catch2 for benchmarks (#5337)
- Abbreviate more error handling frames in stacktrace (#5338)
- Move ::Tags::StepChoosers to the GlobalCache (#5350)
- Move ApparentHorizons to ParallelAlgorithms/ApparentHorizonFinder (#5335)
- Add classes to promote 1D and 2D EoSs to 3D EoSs (#5346)
- Run some input files only in one CI build (#5351)
- Build PCH with CMake (#5301)
- Upgrade ccache in CI container (#5355)
- Save CI caches earlier and on failure (#5356)
- Limit ccache size automatically on CI (#5358)
- Update CMake policies (#5345)
- Print more information when an exception is caught by DistributedObject (#5353)
- Use libbacktrace on CaltechHPC (#5344)
- Split up RunTests (#5340)
- Use ccache on CaltechHPC (#5359)
- Update catch2, use gcc on ocean (#5360)
- Enable ccache for formaline CI builds (#5362)
- Use full path to ccache (#5361)
- Remove RunSingleTest (#5363)
- Bind more Spectral functions (#5354)
Bugfixes (9):
- Fix Translation Map Test Failures ([#5260](ht...
Release 2023.07.29
Upgrade instructions
From #4996 (Add scheduling CLI):
- Install
Jinja2in your Python environment (it's probably already installed because other packages need it).
From #5006 (Enable Logarithmic Distribution in Envelope of BinaryCompactObject):
In input files that use the BinaryCompactObject domain creator, change the Envelope.UseProjectiveMap option to Envelope.RadialDistribution. Previous values of True and False correspond to Projective and Linear now.
From #5139 (Add set_number_of_grid_points utility):
Replace destructive_resize_components with the new set_number_of_grid_points.
From #5206 (Add AhC to BBH):
BBH input files must now have an
ApparentHorizons:
ObservationAhC:block.
From #5190 (Make BBH time dependent options optional):
First, specifying options for shape/size maps has changed from
DomainCreator:
BinaryCompactObject:
TimeDependentMaps:
...
SizeMapA:
InitialValues: [0.0, 0.0, 0.0]
SizeMapB:
InitialValues: [0.0, 0.0, 0.0]
ShapeMapA:
LMax: &LMax 10
ShapeMapB:
LMax: *LMaxto
DomainCreator:
BinaryCompactObject:
TimeDependentMaps:
...
ShapeMapA:
LMax: &LMax 10
SizeInitialValues: [0.0, 0.0, 0.0]
ShapeMapB:
LMax: *LMax
SizeInitialValues: [0.0, 0.0, 0.0]Then, to not have a time dependent map be included, specify None for its option like so:
DomainCreator:
BinaryCompactObject:
TimeDependentMaps:
InitialTime: 0.0
ExpansionMap: None
RotationMap:
InitialAngularVelocity: [0.0, 0.0, 0.0]
ShapeMapA:
LMax: &LMax 10
SizeInitialValues: [0.0, 0.0, 0.0]
ShapeMapB: NoneTo disable time dependent maps all together do
DomainCreator:
BinaryCompactObject:
TimeDependentMaps: NoneFrom #5227 (Change observation value handling, allow any observation on failure):
The template for the type of observation value as been moved from Events to the actions that run them, so observation events that previously had an OverrideObservationValue option no longer do, and such behavior is handled at a higher level. When used in EventsAndTriggers or EventsAndDenseTriggers, the behavior is as if None had been specified. When used in EventsRunAtCleanup, the value is taken from the new, higher-level ObservationValue option.
In addition to removing any OverrideObservationValue options, any existing EventsRunAtCleanup section of input files should be changed to
EventsRunAtCleanup:
ObservationValue: <value, -1000.0 is used in our examples>
Events:
<list of events>This is required even if the list of events is empty.
Merged pull-requests (118)
New features (5):
- Add ExtendConnectivity executable (#5083)
- Add scheduling CLI (#4996)
- Add scalar tensor system and tags (#5169)
- Add parameterized deleptonization, without entropy (#5156)
- Add Bns executable with control systems (#5238)
General changes (99):
- Make transpose use SIMD (#5099)
- Add size control error (#5084)
- Print message upon success of validate CLI (#5111)
- Added my name to Metadata file (#5118)
- Add some guidelines for writing CLI endpoints (#5107)
- Observe timestep in single BH exec (#5114)
- Test domain versioning (#5112)
- Add serialization of static_vector and fix History serialization (#5103)
- Support segments in PlotPowerMonitors (#5106)
- Allow user to specify columns in status CLI (#5115)
- Move LowerSpatialFourVelocity out of Xcts (#5123)
- Separate mutate_assign from InitializeCharacteristicEvolutionVariables (#5095)
- Add size control system (#5119)
- Add pybinding for Spatial Ricci Tensor (#5121)
- Strengthen domain versioning test (#5135)
- Deploy docs with GitHub Actions (#5122)
- Generate CLI docs (#5128)
- Support segments in GenerateXdmf (#5105)
- Add ForceFree executable (#4958)
- Add BoundaryHistory::map_entries (#4806)
- Add Interface Null Norm PyBinding (#5069)
- Increase some IO test timeouts (#5140)
- Added the pybindings for Extend_Connectivity_Data (#5126)
- Improve an error message in schedule CLI (#5151)
- Fix small ghgrmhd things for control systems (#5152)
- Weyl Type D1 (#4943)
- Minor changes working towards threaded DG elements (#5160)
- Infer output buffer tags in partial_derivatives (#5136)
- Minor cleanups to CombineH5 (#5162)
- Find streamable decls before static assert in stream_obj_to_stream (#5167)
- Add prefetch function (#5161)
- Add size StateHistory (#5141)
- Silence gcc 12 and 13 warnings (#5149)
- Add extend-connectivity to CLI (#5154)
- Allow L2IntegralNorm for subcell (#5053)
- Add grid anchors to domain creators (#5155)
- Add PyBinding for DerivSpatialMetric (#5144)
- Enable Logarithmic Distribution in Envelope of BinaryCompactObject (#5006)
- Add dox for running on an interactive wheeler node (#5134)
- Add set_number_of_grid_points utility (#5139)
- Add standard trigger for separation between objects (#5150)
- Add Shell0 block group to Sphere for single shell (#5185)
- Reference elliptic papers (#5164)
- Add moving mesh terms to GhGrhd system (#5005)
- Add Christoffel Python Bindings (#5187)
- Output resolved executable in schedule CLI (#5188)
- Add checkpointing to example BBH input files (#5186)
- Add Kyle to core devs (#5189)
- Non diagonal jac subcell (#5081)
- Upgrade SpEC exporter build on Wheeler (#5175)
- Add Py Bindings for Pi, Phi, and GaugeSource (#5143)
- Validate CLI: fall back to printing full error message (#5193)
- Add baryon mass to eos (#4992)
- Split up Time/Tags.hpp (#5196)
- Stop multiplying by 0 in GH and copying data (#5173)
- Add integer pow function (#4962)
- Allow observation of 3+1 metric in GrGhmd runs (#5197)
- Use SXS modules + SpEC exporter on CaltechHPC ([#5200](https://github.com/sxs-col...
Release 2023.06.19
Upgrade instructions
From #4934 (Add OpeningAngle to BinaryCompactObject):
Add the new OuterShell.OpeningAngle option to BinaryCompactObject domains in input files. Set it to 90 to keep the previous behavior.
From #5026 (Switch Python formatting from yapf to black, also sort imports):
Python code is formatted with black and isort now instead of YAPF. Install it like this (make sure you run this in your Python env):
pip install -r support/Python/dev_requirements.txtFormat Python code in the repo like this (or use autoformat in your editor):
black .
isort .
From #5045 (Move YlmSpherepack into namespace):
YlmSpherepack is ylm::Spherepack now.
From #5090 (Factor some code from Options.hpp into their own files):
- If you use Options::String, include Options/String.hpp instead of Options/Options.hpp
- If you use Options::Context, include Options/Context.hpp instead of Options/Options.hpp
- If you use PARSE_ERROR, include Options/ParseError.hpp instead of Options/Options.hpp
From #5079 (Write checkpoints to Checkpoints/ directory):
Checkpoints are now written in the format Checkpoints/Checkpoint_0123.
Merged pull-requests (88)
General changes (72):
- Add OpeningAngle to BinaryCompactObject (#4934)
- Make GH tags consistent with GR tags (#4991)
- Add Shape control to BBH (#5002)
- Add calculation of Adams-Moulton coefficients (#5001)
- Increase epsilon tolerance of testing TildeJ (#5004)
- Generalize and speed up stability test (#4982)
- Get CaltechHPC up and running again (#4993)
- Compute the Weyl scalar psi0 on the worldtube (#4005)
- Add More Pybindings for GR Functions and Tensor Types (#5011)
- Add debugging hint to message for uncaught exceptions (#5008)
- Add TCI on FD grid for ForceFree system (#5013)
- Change interface for evolution::dg::subcell::slice_data (#5014)
- Include step size in TimeStepId on substeps (#5012)
- Add separate dependencies bib (#5010)
- Add SizeControlSignal. (#4990)
- Validate CFF file before release (#5020)
- Remove template template from GHBase (#5018)
- Update RandomAmr to actually do random refinement (#5019)
- Speed up
Worldtube.Tagstest (#5032) - Add memory monitor to GH execs (#5015)
- Register BNS observers with Factory (#4891)
- Add python bindings for Weyl Propagating and Extrinsic Curvature (#5022)
- Put AMR options in group, add verbosity, fix averages (#5033)
- Speed up
InitializeElementFacestest (#5037) - Add control sys queue tags for size control (#4989)
- Pass grid to target velocity in Compute*Quantities (#4986)
- Add Ken Jones to Metadata.yaml (#5039)
- Add Python Bindings for weyl_magnetic and weyl_magnetic_scalar. (#5041)
- Add Pybindings for Weyl Electric (#5049)
- Remove 'A' from names in single BH exec (#5047)
- Add shifty quantity (#5036)
- Print stacktrace on segfaults (#5043)
- Add CLI endpoint to validate input files (#5025)
- Output flat logical metric in ExportCoordinates (#3597)
- Add
climake target (#5054) - Observe ADM integrals, radially compressed coords in SolvePunctures (#5038)
- Combine GH executables for analytic / numeric initial data (#4998)
- Include cli make target in some docs (#5056)
- Switch Python formatting from yapf to black, also sort imports (#5026)
- Add SpEC initial data classes (#4949)
- Add myself to Metadata.yaml (#5059)
- Add AdamsMoultonPc time stepper (#5017)
- Add Daniel Tellez to Metadata.yaml (#5064)
- Shorten GH exec file names (#5061)
- Upgrade Doxygen theme (#5063)
- Add SpEC ID to BBH and GHMHD executables (#5060)
- Move YlmSpherepack into namespace (#5045)
- Add size control diagnostics (#5027)
- Build Python docs with Sphinx (#5058)
- Clenshaw method (#4937)
- Account for the possibility of Subcell in BNSCenterOfMass (#5046)
- Add more Pybindings for GR (#5074)
- Allow control sys dense output during first time step (#5075)
- Add more size error diagnostics (#5071)
- Print prettier stacktraces (#3907)
- Rename uses_partially_flat_cartesian_coordinates (#5024)
- Add index to TimeAndPrevious tag (#5073)
- Add reset function to size Info (#5072)
- Factor some code from Options.hpp into their own files (#5090)
- Increase timeout of rotation control sys test (#5087)
- Make stl_boilerplate sequence comparisons optional (#5085)
- Add subcell fluxes to ForceFree system (#5042)
- Add computation of inertial center(s) of mass in GhGrmhd code (#5050)
- Disable coverage CI build (#5092)
- Write checkpoints to Checkpoints/ directory (#5079)
- Make db::mutate_apply and db::mutate consistent (#5093)
- Add initial data TCI for ForceFree system (#5040)
- Add RAII class for saving and restoring FPE state (#5052)
- Add PyBindings for Time Derivative of Shift in GH (#5076)
- Represent segments/checkpoints in Python, use in status CLI (#5078)
- Created PyBinding for DerivativeSpatialMetric (#5098)
- Add subcell ghost data for ForceFree system (#5034)
Bugfixes (16):
- Make status CLI backwards compatible + some more fixes (#5007)
- Prevent density from old value overwrite (#5016)
- Remove whitespace from registration names (#5009)
- Fix cores/nodes in status CLI when job is pending ([#4997](https://github.com/sxs-col...