The complete changelog for released versions of the code is available on GitHub:
Changes since the last release are printed below.
Upgrade instructions
From #7517 (Define BBH directory structure):
BBH simulations now follow a directory structure defined by eccentricity-control:
Ecc0/
ID/
Lev1/
0000_Inspiral/
...
0013_Ringdown/
From #7550 (Make step choosers work on split variables):
In CCE the ErrorControl(SwshVars) and ErrorControl(CoordVars) step choosers have been merged into a plain ErrorControl step chooser that acts on all the variables. It is no longer possible to specify separate tolerances for the two sets of variables.
From #7539 (Upgrade container to Ubuntu 26.04, raise compiler requirements):
- Now required: GCC 11+, Clang 17+, CMake 3.22+, Python 3.10+.
From #7555 (Cce: give the initial data its own Du(Dr(J)) interpolator):
In input files that use CauchySecondOrder, now specify
CauchySecondOrder:
# ... other options
# The worldtube Du(Dr(J)) that the second-order match uses is built with
# this interpolator rather than with `H5Interpolator` below: the initial
# data wants a low order here (2 to 4), while the evolution wants a high
# one for the values it interpolates every step.
DuDrJInterpolator:
BarycentricRationalSpanInterpolator:
MinOrder: 2
MaxOrder: 2
From #7482 (Generalize amr::Limits policy to specify resolution bounds independently for different topologies):
Within the input file options for
Amr: Policies: Limits:
replace the option
NumGridPoints: Auto
with the options
NumPolynomialModes: Auto
FourierM: Auto
SphericalHarmonicL: Auto
If you specified bounds for NumGridPoints, use those bounds for NumPolynomialModes decreasing each bound by 1
From #7569 (Cce: Cauchy matching fixed point solver for J2):
- In CauchySecondOrder input blocks, rename AngularCoordTolerance → J0Tolerance, MaxIterations → J0MaxIterations, and MaxAngularSolveError → MaxCauchyJ0.
- Remove RequireConvergence and MaxScriSecondDerivative.
- Add J2Tolerance (suggested 1e-14) and J2MaxIterations (suggested 10).
Merged pull-requests (76)
CLI & Python bindings (1):
- Update PlotPowerMonitors for spherical harmonics to work with SW (#7554)
General changes (68):
- Define BBH directory structure (#7517)
- Move spherical harmonic power monitors helper functions to header (#7527)
- Generalize Ccz4WrappedGr to handle solutions with negative lapse (#7536)
- Try out clangd-tidy (#7537)
- Set locale variables for file tests (#7516)
- Fix Tabulated3D minimum enthalpy (#7511)
- Add infra for computing time derivatives of boundary evolved fields (#7524)
- HalfFourier Partial Derivatives (#7529)
- Remove unnamed namespaces from headers (#7542)
- Add frame parameter to sw_vars_list (#7523)
- Fix handling git worktrees (#7540)
- Add FilledSphere filtering to ScalarWave system (#7510)
- Unset LC_ALL in file tests (#7545)
- Add DirichletAnalytic BC to the LDG system SecondOrderScalarWave (#7541)
- Add boundary variables initialization action (#7546)
- Make step choosers work on split variables (#7550)
- Add spherical harmonic power monitors to ScalarWave (#7528)
- Add self start unit tests for boundary evolution fields (#7535)
- Upgrade container to Ubuntu 26.04, raise compiler requirements (#7539)
- Add dense_output_uses_fsal() and improve non-FSAL RK time steppers (#7562)
- Simplify some expressions in Averager (#7563)
- Update subcell check for context with non-hypercube bases (#7548)
- Add outer radius and radial distribution options for CBCO inner and outer spheres (#7551)
- Fix excessive resource use for Test_NeighborsOfChild (#7556)
- Cce: give the initial data its own Du(Dr(J)) interpolator (#7555)
- Add boundary evolved variables to SecondOrderScalarWave (#7553)
- Correct the nonlinear shear coefficient in raw scri Psi0 (#7560)
- Correct inverse-shear normalization in the CCE boundary-H transform (#7559)
- Add HalfS1 topology (#7547)
- Generalize amr::Limits policy to specify resolution bounds independently for different topologies (#7482)
- Add the cylindrical domain as an option to the BBH pipeline (#7483)
- Allow reading temperature from initial data (#7568)
- Allow using boundary evolved fields in boundary conditions (#7549)
- Eccentricity control: remove dependence on SpEC (#7526)
- Add subcell-weighted element distribution (#7552)
- Add dense output unit test for boundary evolved variables (#7570)
- Fix docs of Random and ByBlock step choosers (#7573)
- Allow boundary variables in NonconservativeSystem and SetVariables (#7571)
- Cce: Cauchy matching fixed point solver for J2 (#7569)
- Add DirichletCharacteristics boundary condition to SecondOrderScalarWave (#7572)
- Rename container /work to /sxscollaboration (#7581)
- Container HPC slurm support (#7585)
- Fix PPAO spacetime ghost zone size and unlock alpha_7/alpha_9 (#7578)
- Add 10th-order FD stencil to PartialDerivatives (#7582)
- Add HalfFourier filtering (#7575)
- Point CI yamls to /sxscollaboration instead of /work (#7587)
- Break circular include in Tensor.hpp (#7574)
- Allow cartoon domain creators to not use BC (#7590)
- Cce fixed point potential solve (#7583)
- Add WithNoise initial data wrapper (#7404)
- Disable clangd-tidy unused-includes check (#7598)
- Avoid unused cores that could be used (#7592)
- Update UniformCylindricalSide map for BNS configurations (#7400)
- Fix some AMR issues with new topologies (#7593)
- Interpolate to elements in a defined order (#7599)
- Fix protocols failing to actually check things (#7603)
- Fix MortarNextTemporalId when the control system limits the step size (#7597)
- Add Cartoon + Half Fourier domain (#7576)
- Fix dropped Sphere target points on element boundaries (#7594)
- Observe norm options (#7606)
- Fix Hypercube filtering through nonowning Variables (#7602)
- Clarify upgrade instructions description (#7612)
- Replace TimeSteppingPolicy with LtsMode (#7614)
- Discard data sooner for RK non-FSAL time steppers (#7608)
- Silence some clang-tidy warnings (#7607)
- Fix FixedHashMap error message (#7604)
- Read subsets of volume data tensor components (#7580)
- Add ModalSpacetimeInterpolator (#7584)
Bugfixes (5):
- Make domain test helper reorient coords like OrientationMapHelpers (#7525)
- Elide control system inactive map FoT check for nonmonotonic timesteppers (#7579)
- Fix FoT readiness deadlock in LimitTimeStep (#7589)
- Fix nondeterminism in AH finds (#7567)
- Fix volume-data dependencies for common horizon finding (#7605)
Continuous integration & deployment (2):
- Update auto-fetched dependencies, test on CI, upgrade macOS runner on CI (#6915)
- Fix compiling auto-fetched dependencies with PIC (#6958)
Contributors (13): @nilsvu, @michaeldmurphy1, @hen-w, @kidder, @wthrowe, @EmilyWang0130, @macedo22, @gda98re, @GitHimanshuc, @ncorsobh, @nilsdeppe, @nikwit, @agourakis82