Skip to content

Release 2025.08.19

Latest

Choose a tag to compare

@sxs-bot sxs-bot released this 19 Aug 21:50
· 402 commits to develop since this release

Upgrade instructions

From #6610 (Generalize neighbors for nonconforming blocks):

You must pass the ID of the Block or Neighbor to the orientation member function of BlockNeighbors or Neighbors.

From #6611 (Only interpolate for horizon finds from certain blocks):

Each entry under the ApparentHorizons: block of the input file gets a new option BlocksForInterpolation:. This could either be a list of block groups or All to indicate all blocks in the doman.

From #6613 (Add MortarInfo):

A mortar size will need to be obtained from the MortarInfo returned by Tags::MortarInfo instead of directly from Tags::MortarSize.

From #6467 (Check SpEC version when importing):

To use eccentricity control, make sure you're pointing to a recent enough SpEC version (Aug 2024).

From #6589 (Add states DeltaRDriftInward, DeltaRNoDrift):

Add this option to your input file to have the DetalRDriftInward state disabled by default.

ControlSystems:
  Size:
    ...
    DeltaRDriftInwardOptions: None

From #6622 (Add combined event for AhC):

In BBH input files, the part of the events and triggers at slabs block which had the ringdown events goes from this

      - ObservationAhC
      - ObserveFields:
          SubfileName: ForContinuation
          VariablesToObserve:
            - SpacetimeMetric
            - Pi
            - Phi
          InterpolateToMesh: None
          # This volume data is for ringdown, so double precision is needed.
          CoordinatesFloatingPointType: Double
          FloatingPointTypes: [Double]
          BlocksToObserve: All

to this

      - ObservationAhC:
          SubfileName: ForContinuation
          VariablesToObserve:
            - SpacetimeMetric
            - Pi
            - Phi
          InterpolateToMesh: None
          # This volume data is for ringdown, so double precision is needed.
          CoordinatesFloatingPointType: Double
          FloatingPointTypes: [Double]
          BlocksToObserve: All

From #6631 (AMR: add AllowCoarsening policy):

In input files, add the following line to Amr.Policies to keep the current behavior unchanged:

AllowCoarsening: True

From #6670 (Factor Spectral.hpp and Spectral.cpp into multiple files):

If you included Spectral.hpp you will now need to include the appropriate new header(s).

From #6630 (AMR: add keep_coarse_grids option):

In new executables, add the following line to Metavariables::amr to keep the standard AMR behavior:

    static constexpr bool keep_coarse_grids = false;

From #6767 (Move KerrHorizon.xpp to GeneralRelativity lib):

Change the include directory for KerrHorizon.xpp files to PointwiseFunctions/GeneralRelativity/KerrHorizon.xpp.

From #6788 (Remove base tags and use simple tags when possible):

In calls to db::get or in the typelists for argument_tags of mutators, use the simple tag instead of a compute/reference tag

From #6771 (Finish variable-order time-stepper support):

  • Input files using local time-stepping can now specify Auto for the order of the TimeStepper to enable variable-order time-stepping. They must also specify the new VariableOrderAlgorithm option, for example as shown below. See the option help for possible values. The choice has no effect if the time-stepper order is not Auto.
Evolution:
  VariableOrderAlgorithm:
    GoalOrder: 4
  • Executables using local time-stepping must now include the ChangeTimeStepperOrder mutator in their action lists. See the existing executables for details.

From #6793 (AH rewrite: Switch AH execs to use new AH infrastructure):

In the KerrSchildSphericalHarmonic.yaml input file, rename instances of Ah to ApparentHorizon.

The following upgrades are for execs with horizon finders:

  • Remove the DumpVolumeDataOnFailure: option under the Interpolator: group.
  • Under the ApparentHorizons: block, rename MaxInterpolationRetries: to MaxComputeCoordsRetries: and BlocksForInterpolation: to BlocksForHorizonFind.

From #6759 (Recommend charm version 8):

Charm version 8 is now recommended over version 7, but 7 is still supported for applications not using dynamic h-refinement or similar post-startup element creation.

From #6797 (Separate h and p refinement criteria so they can be applied separately in evolution executables):

  • New amr::Criterion have to overload the function type based on whether it returns h or p refinement flags
  • The amr struct in the metavariables must define a static constexpr bool p_refine_in_events_only; the recommendation is to set it to true for evolution executables and false for elliptic executables.
  • If you were previously doing p-refinement via phase changes, you will need to add something like the following to the list of EventsAndTriggers in the input file:
 - Trigger:
       Slabs:
       EvenlySpaced:
           Interval: 1
           Offset: 0
    Events:
        RefineMesh

where you should change the trigger to what you desire. If you only want to do p-refinement, then you should omit PhaseChanges related to AMR in the list of PhaseChangeAndTriggers.

Merged pull-requests (190)

CLI & Python bindings (1):

  • Add Urania machine and validate flag to scheduler (#6184)

General changes (167):

  • Clean up SurfaceFinder code (#6594)
  • Ghost zone comm mc sum fluid coupling (#6564)
  • Fix error in frustum, use ZeroMhd for BNS, not not-BNS.... (#6588)
  • Add evolution and parameter tags for the CCZ4 system (#6596)
  • Retry AH interpolation with new surface after failure (#6595)
  • Add more docs and fix typo in TimeDerivative.hpp/cpp in the CCZ4 system (#6597)
  • Generalize DerivLapse in the CCZ4 system to allow more tensor symmetry (#6598)
  • Remove template parameters from TimeDerivativeTerms (#6555)
  • Factor out enum ChildSize and rename it SegmentSize (#6607)
  • Add enum InterfaceDataPolicy (#6606)
  • Add variable-order support to TimeStepper base class (#6602)
  • Improve documentation and fix Lorentz factor–velocity inconsistency in PrimitiveRecovery.cpp (#6609)
  • Generalize DerivChristoffel in the CCZ4 system to allow more tensor symmetry types (#6600)
  • Generalize spatial_ricci_tensor() for second-order CCZ4 (#6603)
  • Enable BNS Translation control, plot control systems with different line styles (#6601)
  • Add domain creator for S2 spherical shells (#6573)
  • Add variable-order support to the Adams time steppers (#6612)
  • Template ghgrmhd on neutrino transport stub (#6582)
  • Generalize neighbors for nonconforming blocks (#6610)
  • Remove pointless O(N^2) string processing (#6619)
  • Only interpolate for horizon finds from certain blocks (#6611)
  • Add MortarInfo (#6613)
  • Check SpEC version when importing (#6467)
  • Add states DeltaRDriftInward, DeltaRNoDrift (#6589)
  • Add combined event for AhC (#6622)
  • Add ElementSearchTree, use to speed up PointwiseInterpolator (#6571)
  • Simplify volume actions, add dependency to interp framework (#6623)
  • Fix bugs in AMR TruncationError criterion (#6615)
  • Add a Restart phase and regenerate registration data on restart (#6551)
  • Implement h-refinement projectors for volume data (#6621)
  • Prevent writing volume data when AhC fails (#6624)
  • Interpolated boundary data (#6629)
  • Add Viper machine (#6633)
  • Add interpolator for nonconforming boundary data (#6625)
  • AMR: add AllowCoarsening policy (#6631)
  • Allow to read in numerical initial data for CurvedScalarWave (#6154)
  • Relocate constraint damping to PointwiseFunctions (#6635)
  • Mark approx const (#6641)
  • Support complex numbers in power monitors, AMR criteria (#6640)
  • Allow colons inside bibtex keys (#6643)
  • Add Strahlkorper power monitor (#6642)
  • Add constraint damping functions for scalar tensor (#6637)
  • Allow to read numerical initial data for ScalarTensor (#6155)
  • Enable mesh extension to compute ghost data without extrapolation. (#6632)
  • Support single precision in interpolation, set initial block order (#6649)
  • Add first FD spacetime_derivatives() for SoCcz4 (#6618)
  • Exporter: add SpacetimeInterpolator (#6567)
  • Increase tolerance in GHMHD time derivative test (#6663)
  • Add macro storing neutrino systems for GhMhd (#6660)
  • Add spatial covariant derivative of extrinsic curvature (#6645)
  • Add ramp up function (#6647)
  • Clarify GRMHD TCI dox (#6664)
  • Remove a default parameter in Tensor metafunctions (#6671)
  • Add constructor for replay FoT in FromVolumeFile (#6665)
  • Remove Unnecessary Test Library (#6669)
  • Add callback to dump scalar variables together with metric variables on worldtube (#6638)
  • Specialize gh grmhd m1 (#6662)
  • Add function to compute the convergence rate of a power monitor (#6666)
  • Factor Spectral.hpp and Spectral.cpp into multiple files (#6670)
  • Update Pipeline for Unequal Mass Runs (#6644)
  • Add geodesic equation for null rays (#6646)
  • Add coupling functions and sources for ScalarTensor (#6650)
  • Add second FD spacetime derivatives for SoCcz4 (#6672)
  • Add coupling parameters (#6676)
  • Add more tnsr type alias (#6675)
  • Fix evolution mesh-orientation bugs (#6659)
  • Promote HomogeneousSphere solution to be usable in GhGrMhd (#6661)
  • Update ScalarTensor executable (#6651)
  • Update bbh pipeline to use higher resolution in initial data (#6685)
  • Add additional error estimates needed for variable-order stepping (#6617)
  • Add density check for param delep (#6687)
  • Add scalar self-force equations (#6656)
  • Change polytropic to tab EOS for CCSN initialize (#6686)
  • Add time derivative for SoCcz4 (#6680)
  • Move FD SecondPartialDerivatives to NumericalAlgorithms (#6694)
  • Add Cartoon to Basis and Quadrature (#6688)
  • AMR: add keep_coarse_grids option (#6630)
  • Prep for mortar h-refinement (#6681)
  • Support complex numbers in Schwarz smoother (#6692)
  • Add action modifying fluid variables for MC coupling (#6667)
  • Change background GR variable in MC to match GhGrMhd (#6639)
  • Add 1D Cartoon Expansion Calculation (#6691)
  • Allow reconstructing rho*T instead of just T (#6682)
  • Print ASSERT and ERROR captures at high precision (#6701)
  • Constrain BBH ID spins to < 1 (#6703)
  • Add off-diagonal Jacobian terms to BBH ID EJ control (#6704)
  • Compute horizon quantities at excisions for the zero-expansion BC. (#6627)
  • Fix variable-order LTS assertion failure (#6700)
  • Rename Basis::B2Marcus to ZernikeB2 and add ZernikeB3 (#6706)
  • Improve numerical precision when constraining BBH ID spins (#6709)
  • Cce add volume np spin coeffs (#6648)
  • Parameterized Deleptonization Runtime Option for GH (#6695)
  • Add function to get number of pile up modes (#6674)
  • Add GravitationalEffectiveSource code (#6684)
  • Add Spectral Cartoon instantiations (#6707)
  • Add polar to cartesian coordinate map (#6708)
  • Allow YAML floats to be parsed as integer types (#6720)
  • some necessary changes for building on frontera (#6710)
  • change partition name for Mbot submit script (#6719)
  • Disable HDF5 file locking in Python (#6713)
  • Add Psi_2 in CCE volume (#6697)
  • Add GR self-force tags (#6718)
  • Add a new action ReceiveAndSendDataForReconstruction (#6693)
  • Allow to observe derivs of ADM variables (#6658)
  • Add scalar self-force boundary conditions (#6690)
  • Add h-refinement support for evolution mortars (#6715)
  • Add h-projector for RunEventsAndDenseTriggers (#6724)
  • Adapt BBH ID for high spins (#6728)
  • Do not delete sets in interpolator deregistration (#6725)
  • Update Metadata.yaml (#6729)
  • AH rewrite: Add some housekeeping (#6731)
  • Move regex to Main.cpp (#6740)
  • Remove base tag version of HistoryEvolvedVariables (#6739)
  • Add adaptive horizon finder criteria (#6689)
  • Remove a few infrequently used base tags (#6746)
  • Change GlobalCache tag from base to simple (#6745)
  • Add function to concatenate tagged tuples. (#6743)
  • Convert ArrayIndex base tag to a simple tag (#6747)
  • AH rewrite: Add AH storage and destination (#6741)
  • AH rewrite: Add AH protocols (#6742)
  • AH rewrite: Add option and simple tags (#6751)
  • AH rewrite: Add initialization action and component (#6752)
  • Add adaptive horizon criterion for residual (#6732)
  • Revert reordering of tildeB fluxes and sources in ValenciaDivClean (#6750)
  • Fix MinimalExample (#6755)
  • Add TrumpetSchwarzschild GR analytic solution (#6726)
  • Get rid of more base tags (#6756)
  • Remove EOS base tag (#6760)
  • AH rewrite: Add cleanup function and new tag (#6761)
  • Remove point info base tag (#6764)
  • Remove AnalyticSolutionOrData base tag (#6766)
  • Remove SubdomainSolverBase tag (#6768)
  • Add Wigner 3j symbols. (#6738)
  • AH rewrite: Add function to compute volume vars (#6763)
  • AH rewrite: Add function to compute coords of new fast flow iteration (#6762)
  • Move KerrHorizon.xpp to GeneralRelativity lib (#6767)
  • Implement DG Cartoon partial derivatives (#6730)
  • AH rewrite: Add function to interpolate AH volume vars (#6775)
  • AH rewrite: Add function to invoke AH callbacks (#6776)
  • AH rewrite: Add some AH callbacks (#6782)
  • AH rewrite: Add AH callback to observe center of horizon (#6784)
  • Split ParallelArrayCollection into separate library (#6773)
  • AH rewrite: Add AH callbacks to observe surface and time series data on a horizon (#6785)
  • AH rewrite: Add AH action that actually finds the horizon (#6786)
  • Remove base tags and use simple tags when possible (#6788)
  • Finish variable-order time-stepper support (#6771)
  • Fix path to moved file (#6791)
  • AH rewrite: Add new events for the horizon finder (#6789)
  • AH rewrite: Prep control system for new AH infrastructure (#6790)
  • Fix path to moved tag in AH test (#6792)
  • Add GaugePlaneWave test case for WrappedGr (#6757)
  • Add a Ccz4 wrapper class around gr solutions (#6774)
  • Restart time integration after LTS h-refinement (#6795)
  • Split ObserveTimeStep into cpp and tpp files (#6796)
  • Set the mortar mesh during p-refinement (#6799)
  • Add FlatOffsetWedge (#6783)
  • Add Cartoon integral and interpolation (#6781)
  • AH rewrite: Switch AH execs to use new AH infrastructure (#6793)
  • Add FlatOffsetSphericalWedge. (#6800)
  • Remove test_throw_exception test helper (#6806)
  • Rename Time/Utilities to Time/SlabRoundingError (#6807)
  • Add shape adaptive ah criterion (#6794)
  • minor bug fixes in tests (#6810)
  • Cast CoM integral with psi-1 terms. (#6813)
  • Separate h and p refinement criteria so they can be applied separately in evolution executables (#6797)
  • Reorganize time-stepper tolerance compute tags (#6804)
  • Adapt BBH ID for high mass ratios and spins (#6777)

Documentation (3):

  • Docfix ComputeBondiIntegrand<Tags::PoleOfIntegrandTags::BondiH> (#6604)
  • Clarify documentation for neighbor_is_conforming (#6608)
  • Fix KappaLimiting documentation (#6744)

Bugfixes (9):

  • Fix possible small memory leak in interpolator (#6599)
  • Fix typo in latex equation of loehner_smoothness_indicator (#6616)
  • Add missing option for skew map on input file (#6628)
  • Fix bug in AH finder initial guess (#6652)
  • Fix a small bug in elliptic solver (#6657)
  • Include StdHelpers.hpp when asserts << topologies (#6698)
  • Fix registration for interpolator component (#6712)
  • Change ringdown gauge parameters to match inspiral (#6798)
  • Always check if mortar data needs projecting (#6814)

Build system (3):

  • Add charm-8.0.0 module patches (#6620)
  • Support linking device code in static libraries (#6753)
  • Recommend charm version 8 (#6759)

Continuous integration & deployment (7):

  • Fix CI Py3.8 test (#6577)
  • Fix macOS CI test (#6655)
  • Disable regular Spack CI test (#6654)
  • Add ExtraFileCheckExecs to CheckOutputFiles.py (#6677)
  • Fix a Py test on macOS CI (#6683)
  • Test building with Kokkos on CI (#6721)
  • Update doxygen in CI to 1.14.0 (#6778)

Contributors (17): @nilsdeppe, @ffoucart, @hen-w, @knelli2, @duetosymmetry, @pajkosmi, @kidder, @wthrowe, @jyoo1042, @nilsvu, @markscheel, @guilara, @geoffrey4444, @AlexCarpenter46, @michaeldmurphy1, @iago-mendes, @ncorsobh