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: NoneFrom #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: Allto 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: AllFrom #6631 (AMR: add AllowCoarsening policy):
In input files, add the following line to Amr.Policies to keep the current behavior unchanged:
AllowCoarsening: TrueFrom #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
Autofor the order of the TimeStepper to enable variable-order time-stepping. They must also specify the newVariableOrderAlgorithmoption, for example as shown below. See the option help for possible values. The choice has no effect if the time-stepper order is notAuto.
Evolution:
VariableOrderAlgorithm:
GoalOrder: 4- Executables using local time-stepping must now include the
ChangeTimeStepperOrdermutator 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 theInterpolator:group. - Under the
ApparentHorizons:block, renameMaxInterpolationRetries:toMaxComputeCoordsRetries:andBlocksForInterpolation:toBlocksForHorizonFind.
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
typebased 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