SpECTRE
v2025.03.17
|
Mutator that resizes the primitive variables to have the size of the active mesh and then computes the primitive variables on the active mesh. More...
#include <ResizeAndComputePrimitives.hpp>
Public Types | |
using | return_tags = implementation defined |
using | argument_tags = implementation defined |
Static Public Member Functions | |
static void | apply (gsl::not_null< Variables< tmpl::list< MassDensity, Velocity, SpecificInternalEnergy, Pressure > > * > prim_vars, evolution::dg::subcell::ActiveGrid active_grid, const Mesh< Dim > &dg_mesh, const Mesh< Dim > &subcell_mesh, const Scalar< DataVector > &mass_density_cons, const tnsr::I< DataVector, Dim > &momentum_density, const Scalar< DataVector > &energy_density, const EquationsOfState::EquationOfState< false, 2 > &equation_of_state) |
Mutator that resizes the primitive variables to have the size of the active mesh and then computes the primitive variables on the active mesh.
In the DG-subcell step_actions
list this will normally be called using the Actions::MutateApply
action right after the evolution::dg::subcell::Actions::TciAndSwitchToDg
action. We only need to compute the primitives if we switched to the DG grid because otherwise we computed the primitives during the FD TCI. After the primitive variables tag is resized for the DG grid, the primitives are computed directly on the DG grid from the reconstructed conserved variables, not via a reconstruction operation applied to the primitives.