Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This merge request adds a new function pointer,
SetADMVariables
, to theADM
class. By default it usesADM::SetADMVariablesToKerrSchild
, which uses the existing Kerr-Schild infrastructure. By settingcoord/minkowski = true
in the parameter file, this reverts to flat Minkowski space as it would for anything else using the Kerr-Schild functions. This has the added benefit that many of the shared pgens using Minkowski or Kerr-Schild coordinates are cleaned up and replaced with a single call topadm->SetADMVariables()
instead.This API is intended to fix #600. When AMR is enabled,
SetADMVariables
is called at the end ofMeshRefinement::RedistAndRefineMeshBlocks
, which means that the ADM metric will be completely defined everywhere on the new grid, allowing AMR evolution withDynGRMHD
without needing to enable Z4c as well. Other metrics can be defined by pointingSetADMVariables
to a different function; it should be a void function that takes theMeshBlockPack
as a single argument.An additional task has been added to the
DynGRMHD
task list to allow for dynamical ADM evolution, and examples are contained in an extension to theblast
pgen with an FLRW metric and the newdynbbh
pgen, which superposes two Kerr-Schild black holes and moves them along a circular orbit. Dynamical evolution in the task list can be enabled withadm/is_dynamic = true
.Draft to-do list:
Update TOV pgen to useThis probably needs to be postponed and done as part of the TOV refactor.SetADMVariables
.