SpECTRE
v2025.03.17
|
Mutator that resizes the primitive variables to the subcell mesh and computes the primitives, but only if evolution::dg::subcell::Tags::DidRollback
is true
.
More...
#include <PrimsAfterRollback.hpp>
Public Types | |
using | return_tags = implementation defined |
using | argument_tags = implementation defined |
Static Public Member Functions | |
static void | apply (gsl::not_null< Variables< hydro::grmhd_tags< DataVector > > * > prim_vars, bool did_rollback, const Mesh< 3 > &dg_mesh, const Mesh< 3 > &subcell_mesh, const Scalar< DataVector > &tilde_d, const Scalar< DataVector > &tilde_ye, const Scalar< DataVector > &tilde_tau, const tnsr::i< DataVector, 3, Frame::Inertial > &tilde_s, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_b, const Scalar< DataVector > &tilde_phi, const tnsr::ii< DataVector, 3, Frame::Inertial > &spatial_metric, const tnsr::II< DataVector, 3, Frame::Inertial > &inv_spatial_metric, const Scalar< DataVector > &sqrt_det_spatial_metric, const EquationsOfState::EquationOfState< true, 3 > &eos, const grmhd::ValenciaDivClean::PrimitiveFromConservativeOptions &primitive_from_conservative_options) |
Mutator that resizes the primitive variables to the subcell mesh and computes the primitives, but only if evolution::dg::subcell::Tags::DidRollback
is true
.
In the DG-subcell step_actions
list this will normally be called using the Actions::MutateApply
action in the following way in the action list:
Actions::Label<Labels::BeginSubcellAfterDgRollback>
Actions::MutateApply<grmhd::ValenciaDivClean::subcell::SwapGrTags>
Actions::MutateApply<PrimsAfterRollback<primitive_recovery_schemes>>
Note that the GR tags are swapped to the subcell grid before this action is called.