The complete changelog for released versions of the code is available on GitHub:
Changes since the last release are printed below.
Upgrade instructions
From #7359 (Importer: unify with exporter library to speed up interpolation):
- In input files that import numeric data, wrap importer options in a VolumeData: block and add the new options ExtrapolateIntoExcisions: False and NumThreads: 1.
From #7347 (Add unopinionated AGENTS.md):
- If you already have an AGENTS.md, rename it to AGENTS.local.md.
From #7409 (Enable runtime LTS):
For evolutions using global time stepping (for CCE, see below), there are several new input file options:
Evolution:
LocalTimeStepping: Off
This option should be "Off" to retain previous behavior. Most evolution executables now support "Conservative" mode as well.
Evolution:
LtsStepChoosers:
VariableOrderAlgorithm:
GoalOrder: 3
These options are ignored with local time-stepping off, but must have valid values, such as those given here.
EventsAndTriggersAtSteps:
This is similar to the existing EventsAndTriggersAtSlabs. It is recommended that evolutions not using local time-stepping leave this blank.
Evolution:
InitialTimeStep: &initial_time_step 0.001
InitialSlabSize: *initial_time_step
The new InitialSlabSize option must have the same value as the existing InitialTimeStep option. This can be ensured using YAML references as shown here.
For evolutions using local time-stepping, including CCE, there is a single new option:
Evolution:
LocalTimeStepping: Conservative
For non-CCE evolutions, "Off" is now also supported.
From #7314 (Add option for number of shells in distorted frame):
The Sphere and SphericalShell domains now contain a new option under TimeDependentMaps called NumberOfRadialShellsWithShapeMap. Set it to auto to keep the old behavior (only the innermost radial partition gets the shape map`. You can also choose to set this it to a nonnegative integer no greater than one less than the number of partitions (the outermost partition is not allowed to have a shape map in this implementation, becauase in practice we always want the outer boundary to be a sphere, not a deformed sphere...that's the whole reason for the shape map rolling off to the identity).
Merged pull-requests (98)
New features (4):
- CCE: allow specifying InitializeJ from input file for analytic runs (#7352)
- CCE: add the first two Newman-Penrose Bianchi identity constraints (#7345)
- Introduce higher-order FD for ValenciaDivClean (#6801)
- CCE: make CauchySecondOrder angular-solve threshold an option (#7470)
CLI & Python bindings (1):
- NumericalAlgorithms: add SpinWeightedSphericalHarmonics python bindings (#7344)
General changes (83):
- Add Guido Da Re's metadata information (#7343)
- Use no-avx512 only on not ARM64 (#7348)
- Add kappa and zeta to 3D EoS (#7257)
- Add second covariant derivative of scalar field in ScalarTensor. (#7318)
- Add second covariant derivative of the coupling function in EsGB gravity (#7319)
- Create cartoon-type BC for ValenciaDivClean (#7269)
- B3 radial filtering (#7282)
- Add prefix tag for spatial covariant derivatives and the Lie derivative with respect to the normal vector (#7323)
- Store buffer in Filters::FilledCylinder (#7356)
- Add ChangeFixedLtsRatio for adaptivity in equal-rate regions (#7334)
- Add runtime checks for TimeStepper properties (#7342)
- Update CartoonCylinder creator to use ZernikeB1 and internal BCs (#7267)
- Use spherical shells for inner spheres in CBCO (#7346)
- Remove DarkEnergyFluid EoS (#7350)
- CCE-fix: compute Dy(H) on demand as an observation compute tag (#7365)
- Handle -march=native on all supported platforms (#7358)
- Add B3 support to CardinalInterpolator (#7265)
- Make CBCO input file h and p refinement format same as BCO (#7360)
- Add error message for nonmonotonic times in WorldtubeBufferUpdater (#7363)
- Add hp projections for spherical shells (#7355)
- Importer: unify with exporter library to speed up interpolation (#7359)
- Add unopinionated AGENTS.md (#7347)
- Support LDG infrastructure part two (#7375)
- StepChooser-related changes for GTS-LTS unification (#7379)
- Support LDG infrastructure part one (#7374)
- Make various LTS things runtime no-ops in GTS mode (#7380)
- Reduce Spectral compile time/memory (#7377)
- Update connectivity for B3 (#7327)
- Add waveform extraction to the bbh pipeline (#7271)
- Add B3 support for IrregularInterpolant (#7370)
- Enable observing normalized GH constraint energy (#7340)
- Add B3 definite integral (#7371)
- Add method to force runtime-LTS off in metavars (#7384)
- Hypertorus (#7383)
- Allow any coding agent in PR template co-author checklist (#7395)
- Remove LTS check from ElementWeight parser (#7391)
- Use LtsMode for mortar initialization/projecting (#7393)
- Support LDG infrastructure part three (#7378)
- Support LDG infrastructure part four (#7385)
- Add spherical shell filtering to ScalarWave (#7368)
- Add subcell reconstruction for ZernikeB1 (#7349)
- Create CartoonGhost BC for GhValenciaDivClean system (#7366)
- Create CylindricalFlatEndcapInterior map (#7373)
- Create CylindricalSphericalShell map (#7386)
- Disable OpenMP when running tests (#7407)
- Add initial guesses for scalar field in scalar-tensor theories (#7367)
- Final miscellaneous preparation for runtime LTS (#7399)
- Enable runtime LTS (#7409)
- Add option for number of shells in distorted frame (#7314)
- Add UniformCardinalBSpline (#7388)
- brigand: Prevent invalid instantiations in erase (#7401)
- Some AMR topology fixes (#7394)
- Support filled / hollow sphere mortar equality (#7398)
- Bump CodingAgents container to NPM 24 for latest claude (#7462)
- Cache component name hash in ArrayComponentId (#7390)
- Add gr::Solutions::HighSpinKerrPuncture (#7392)
- Fix random failures it Worldtube IterateAccelerationTerms (#7465)
- Update fetched Yaml-Cpp and XSIMD version (#7464)
- Add SoScalarWave system part one (#7403)
- Support LDG infrastructure part five (#7402)
- Fix on_interface basis assumptions (#7466)
- Remove std::reference_wrapper dependencies in coordinate maps (#7460)
- Enable CCE for ARM deployment in CI (#7364)
- Pass parity to ValenciaDivClean subcell volume projections (#7472)
- Add SoScalarWave system part two (#7405)
- Add StandingWave analytic solution (#7468)
- Add SecondOrderWrapper to wrap ScalarWave's solutions (#7467)
- Spherical shell power monitor (#7339)
- Runtime LTS cleanup (#7463)
- Register SecondOrderStandingWave analytic solution (#7486)
- Create Filters::FilledSphere (#7362)
- Modify GhValenciaDivClean to allow Cartoon bases (#7408)
- Add Fourier support to Power Monitors (#7397)
- Add support for Deucalion cluster (#7484)
- Minor, apparently version-dependent clang-tidy fixes (#7491)
- Add BoundaryVariables (#7488)
- Support Cce in standard History initialization (#7489)
- Handle split variables in standard DG evolutions (#7490)
- Remove std::reference_wrapper types in coordinate maps (#7461)
- Make Cartoon BC not factory creatable (#7502)
- Add free data for initial data solve for KerrSchild + wave pulse (#7335)
- Add SecondOrderScalarWave characteristics (#7487)
- Setup subcell with non-hypercube blocks (#7481)
Documentation (1):
- CCE: update base input file initial data (#7351)
Bugfixes (8):
- Fix bug in ZernikeB2 mortar mesh check (#7357)
- CCE: raise second-order init-data test iteration cap to 1000 (#7354)
- CCE: compute Dy<BondiH> for volume output (#7353)
- Center CBCO OuterSphere at origin (#7406)
- Return zero vector for zero horizon spin (#7474)
- Apply skew transition factor to map parameter (#7473)
- Preserve inward-drift state when copying Size (#7475)
- Fix Taylor series in ControlErrors/Size.hpp (#7396)
Build system (1):
- Fix SetupBlas check for disabling openblas multithreading (#7506)
Contributors (15): @gda98re, @nilsdeppe, @EmilyWang0130, @FabrizioCorelli, @michaeldmurphy1, @wthrowe, @macedo22, @kidder, @geoffrey4444, @JosePineda684, @nilsvu, @hen-w, @nikwit, @ncorsobh, @hrueter