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 (49)
CLI & Python bindings (1):
- Update PlotPowerMonitors for spherical harmonics to work with SW (#7554)
General changes (45):
- 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)
Bugfixes (2):
- Make domain test helper reorient coords like OrientationMapHelpers (#7525)
- Elide control system inactive map FoT check for nonmonotonic timesteppers (#7579)
Continuous integration & deployment (1):
- Update auto-fetched dependencies, test on CI, upgrade macOS runner on CI (#6915)
Contributors (11): @nilsvu, @michaeldmurphy1, @hen-w, @kidder, @wthrowe, @EmilyWang0130, @macedo22, @gda98re, @GitHimanshuc, @ncorsobh, @nilsdeppe