SpECTRE  v2021.10.04
NewtonianEuler::subcell::ResizeAndComputePrims< Dim > Struct Template Reference

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 = tmpl::list<::Tags::Variables< tmpl::list< MassDensity, Velocity, SpecificInternalEnergy, Pressure > > >
 
using argument_tags = tmpl::list< evolution::dg::subcell::Tags::ActiveGrid, domain::Tags::Mesh< Dim >, evolution::dg::subcell::Tags::Mesh< Dim >, Tags::MassDensityCons, Tags::MomentumDensity< Dim >, Tags::EnergyDensity, hydro::Tags::EquationOfStateBase >
 

Static Public Member Functions

template<size_t ThermodynamicDim>
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, ThermodynamicDim > &equation_of_state)
 

Detailed Description

template<size_t Dim>
struct NewtonianEuler::subcell::ResizeAndComputePrims< Dim >

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.


The documentation for this struct was generated from the following file: