SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
grmhd::GhValenciaDivClean::subcell::ResizeAndComputePrims< OrderedListOfRecoverySchemes > Struct Template Reference

If the grid is switched from subcell to DG, then this mutator resizes the primitive variables to the DG grid and computes the primitive variables on the DG grid. More...

#include <ResizeAndComputePrimitives.hpp>

Public Types

using return_tags
using argument_tags

Static Public Member Functions

static void apply (gsl::not_null< Variables< hydro::grmhd_tags< DataVector > > * > prim_vars, evolution::dg::subcell::ActiveGrid active_grid, 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::aa< DataVector, 3, Frame::Inertial > &spacetime_metric, const EquationsOfState::EquationOfState< true, 3 > &eos, const grmhd::ValenciaDivClean::PrimitiveFromConservativeOptions &primitive_from_conservative_options)

Detailed Description

template<typename OrderedListOfRecoverySchemes>
struct grmhd::GhValenciaDivClean::subcell::ResizeAndComputePrims< OrderedListOfRecoverySchemes >

If the grid is switched from subcell to DG, then this mutator resizes the primitive variables to the DG grid and computes the primitive variables on the DG grid.

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:

If the active grid is DG (we are switching from subcell back to DG) then this mutator computes the primitive variables on the active grid. We reconstruct the pressure to the DG grid to give a high-order initial guess for the primitive recovery. A possible future optimization would be to avoid this reconstruction when all recovery schemes don't need an initial guess. Finally, we perform the primitive recovery on the DG grid.

If the active grid is Subcell then this mutator does nothing.

Note
All evolved variables are on the DG grid when this mutator is called and the active grid is DG.

Member Typedef Documentation

◆ argument_tags

template<typename OrderedListOfRecoverySchemes>
using grmhd::GhValenciaDivClean::subcell::ResizeAndComputePrims< OrderedListOfRecoverySchemes >::argument_tags
Initial value:
tmpl::list<
The computational grid of the Element in the DataBox.
Definition Tags.hpp:62
The grid currently used for the DG-subcell evolution on the element.
Definition ActiveGrid.hpp:24
The mesh on the subcells.
Definition Mesh.hpp:22
Definition Tags.hpp:16
The densitized magnetic field .
Definition Tags.hpp:56
The densitized rest-mass density .
Definition Tags.hpp:32
The densitized divergence-cleaning field .
Definition Tags.hpp:62
The densitized momentum density .
Definition Tags.hpp:49
The densitized energy density .
Definition Tags.hpp:43
The densitized electron number density times the baryon mass .
Definition Tags.hpp:38
The equation of state retrieved from the analytic solution / data in the input file.
Definition Tags.hpp:343

◆ return_tags

template<typename OrderedListOfRecoverySchemes>
using grmhd::GhValenciaDivClean::subcell::ResizeAndComputePrims< OrderedListOfRecoverySchemes >::return_tags
Initial value:
tmpl::list<::Tags::Variables<hydro::grmhd_tags<DataVector>>>

The documentation for this struct was generated from the following file:
  • src/Evolution/Systems/GrMhd/GhValenciaDivClean/Subcell/ResizeAndComputePrimitives.hpp