Release 2024.03.19
Upgrade instructions
From #5715 (Add exporter library):
The Python module Visualization.InterpolateToCoords
has moved to IO.Exporter.InterpolateToPoints
. It has a slightly different (easier) interface, is implemented in C++ now, and supports parallelization, which should make it considerably faster.
From #5725 (Update CaltechHpc environment files):
On CaltechHPC, the environment file caltech_hpc_gcc.sh
has been renamed to caltech_hpc_gcc_skylake.sh
.
There is also a new environment file
caltech_hpc_gcc_icelake.sh
From #5779 (Use multiple highest modes for Persson TCI and remove initial data TCI):
All input files for executables using DG-FD (subcell) should make following changes in SpatialDiscretization-DiscontinuousGalerkin group
- Remove
InitialData
group, since we are not using initial data TCI anymore. - Add
PerssonTci
group, to whichPerssonExponent
is moved as theExponent
option. - In the
PerssonTci
group, a new option namedNumHighestModes
is added. This enables users to control how many highest modes to be left in the filtered solution of which norm is computed in the Persson TCI. Use 1 by default since this is the configuration that we have used so far.
Below is an example.
Before:
Subcell:
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
PerssonExponent: 4.0
InitialData:
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
PerssonExponent: 4.0
After:
Subcell:
PerssonTci:
Exponent: 4.0
NumHighestModes: 1
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
From #5803 (Enforce limits on refinement levels and resolution during AMR):
In input files, the you will need to specify a new sub-option to the Amr Policies that specifies the
Limits with sub-options RefinementLevel and NumGridPoints. The suggested value for these two options is Auto unless you want to limit refinement further.
From #5815 (Allow calling the TCI on the FD grid only every N steps, to wait M steps after rollback, and/or have K clear TCIs before going back to DG):
The TCI options now look like:
Subcell:
TroubledCellIndicator:
PerssonTci:
Exponent: 4.0
NumHighestModes: 1
RdmpTci:
Delta0: 1.0e-7
Epsilon: 1.0e-3
FdToDgTci:
NumberOfStepsBetweenTciCalls: 1
MinTciCallsAfterRollback: 1
MinimumClearTcis: 1
AlwaysUseSubcells: false
UseHalo: false
OnlyDgBlocksAndGroups: None
SubcellToDgReconstructionMethod: DimByDim
FiniteDifferenceDerivativeOrder: 2
Specifically, all the TCI-related options have been moved into a group called TroubledCellIndicator
. The RDMP TCI options are now also in their own group. A new FdToDgTci:
group controls when we try to go back to DG, e.g. every N steps, to wait M steps after rollback, or to have at least K clear TCIs before going back to DG. This is to allow reducing TCI overhead on FD and to allow additional smoothing by the FD solver before going back.
From #5817 (Add AMR to elliptic executables):
You'll have to add an Amr
section to elliptic input files, as well as a PhaseChangeAndTriggers
section to trigger AMR. See the input files in this PR for examples.
Merged pull-requests (109)
New features (1):
- Add exporter library (#5715)
CLI & Python bindings (4):
- Add CLI tool to plot volume data along a line, group plotting commands in CLI (#5749)
- Add domain rendering script (#5735)
- Add CLI to plot memory monitors (#5807)
- Add PlotSlice command (#5805)
General changes (74):
- Add solution of Einstein's equations for a generic gauge plane wave (#5712)
- Add RotScaleTrans Map and Tests (#5696)
- Add mbot as new machine (#5745)
- Small changes for elliptic AMR (#5736)
- Terminate parallel GMRES when it diverges (#5742)
- Fix oscillations in Heun2 IMEX dense output (#5734)
- Databox runtime retrieval (#5709)
- Limit initial time step to avoid control system deadlocks (#5732)
- Update CaltechHpc environment files (#5725)
- Python 12 fixes (#5744)
- Introduce AMR policies (#5765)
- Add uniform p-refinement criterion (#5754)
- Update TOV star test input file with more stable parameters. (#5753)
- Make Auto parsing failure print the Label (#5766)
- Create worldtube test library (#5774)
- Prevent NumGridPointsAndGridSpacing element dist when using GTS (#5769)
- Update cluster install docs (#5770)
- Monte carlo packets (#4089)
- Construct Klein-Gordon Cce data on the first hypersurface (#5752)
- Use multiple highest modes for Persson TCI and remove initial data TCI (#5779)
- Add an action for Klein-Gordon CCE worldtube data communication (#5717)
- Add TaggedTuple support to pypp (#5748)
- Switch to C++ 20 (partially) (#5747)
- Fix an unchaged filtering extent in PerssonTci (#5783)
- Increase max spectral basis functions from 12 to 20 (#5163)
- Add EvolvedPosition/Velocity Tags (#5775)
- Fix truncation error estimate for functions with symmetry (#5767)
- Allow random hp AMR for testing (#5781)
- Factor out linear elliptic solver algorithm (#5782)
- Enables AMR to be used in GH executables with one or two black holes (#5757)
- Add some elliptic AMR projectors (#5721)
- FD TCI call counters (#5792)
- Mc logical coordinates (#5771)
- Update ocean charm module for move to C++20 (#5806)
- Add rotation, expansion and translation maps to Sphere domain (#5758)
- Add
InitialPositionVelocity
tag (#5776) - Remove p-refinement from punctures AMR criterion (#5796)
- Re-initialize Schwarz subdomain before each solve (#5802)
- Enforce limits on refinement levels and resolution during AMR (#5803)
- Add error if RotNS file does not exist (#5804)
- Observe elastic stress (#5809)
- Add
UpdateAcceleration
mutator (#5777) - Replace Kerr-Schild with Spherical-Kerr-Schild for FishboneMoncriefDisk (#5800)
- Add Rk3Pareschi IMEX time stepper (#5760)
- Wrap RotatingStar to be usable in GhValenciaDivClean (#5790)
- Support a different elastic material in each block (#5737)
- Terminate parallel Newton-Raphson on error (#5813)
- Allow calling the TCI on the FD grid only every N steps, to wait M steps after rollback, and/or have K clear TCIs before going back to DG (#5815)
- Add InverseJacobianInertialToFluidCompute (#5811)
- Fix OptimizerHacks for clang 17 (#5823)
- Add some self-force option tags (#5785)
- Simplify pole connectivity when writing surface files (#5829)
- Support discontinuous fluxes in elliptic DG (#5789)
- Add normalization to error of InverseJacobianInertialToFluid test (#5833)
- Add
BackgroundQuantities
tag (#5787) - Add pybinding for WeylTypeD1 (#5834)
- Compute scalar sources for Klein-Gordon Cce hypersurface equations (#5784)
- Skeleton of full MC time step (#5820)
- Remove some libraries' implicit dependence on Parallel (#5830)
- Mc emission function (#5786)
- Filter evolved variables in ForceFree DG executable (#5838)
- Calculate packet energy for Monte-Carlo (#5821)
- Compute scalar self-force in
UpdateAcceleration
(#5793) - Add AMR to elliptic executables (#5817)
- Enable printing containers holding non-streamable objects (#5845)
- Scatter packet (#5827)
- Add
FaceQuantitiesCompute
tag (#5831) - Add Wald magnetosphere initial data to ForceFree (#5839)
- Move EventsAndDenseTriggers lib to ParallelAlgorithms (#5844)
- Add Barotropic2D EOS (#5856)
- Make Newtonian Euler ID inherit from InitialData (#5857)
- Switch Newtonian Euler to use hydro::Tags instead of its own (#5859)
- Make Newtonian Euler sources runtime and fix circular dependency (#5862)
- Update Caltech HPC Skylake env (#5842)
Documentation (2):
Bugfixes (16):
- Fix bug in using allocation_array_tags (#5741)
- Fix a minus sign in puncture equations (#5746)
- Add pound symbols to the check for an error message in the validate CLI (#5761)
- Fix a few bugs related to step-size changing (#5772)
- Prevent events used in control system from being factory creatable (#5763)
- Support older control system output in size plotting (#5768)
- Log Distribution Fix (#5795)
- Fix a typo in elliptic status CLI (#5810)
- Fix resetting compute subitems (#5814)
- Fix single precision interpolation in exporter and CLI (#5816)
- Fix primitive recovery with barotropic 3d EOS and use GRMHD EOS tag (#5824)
- Fix a race condition in AMR (#5836)
- Fix Puncture AMR criterion at element boundaries (#5843)
- Don't ignore quat InitialValues[3] in SphereTimeDependentMaps (#5848)
- Fix misspelled "ouput_time_bounds" function name (#5850)
- A few small fixes (#5863)
Build system (6):
- Add LTO support (#5738)
- Find ParaView properly in build system (#5743)
- Fix error in FindPythonModule (#5751)
- Turn finding ParaView off by default (#5755)
- Add cmake check for broken hdf5 (#5819)
- Allow multi-line names for spectre test cases (#5852)
Continuous integration & deployment (6):
- Fix ParaView rendering on CI by avoiding apt update (#5773)
- Disable paraview rendering tests on CI temporarily (#5780)
- Increase PerssonTci test timeout (#5794)
- Add regression tests to elliptic input files (#5791)
- Fix a random test failure from Rotator masking (#5837)
- Add initial data executable to release container (#5846)
Contributors (17): @nilsvu, @kidder, @AlexCarpenter46, @knelli2, @nilsdeppe, @wthrowe, @ncorsobh, @nikwit, @ffoucart, @Sizheng-Ma, @yoonso0-0, @mar-celine, @macedo22, @guilara, @jyoo1042, @acifajkya, @geoffrey4444