SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
grmhd::GhValenciaDivClean::fd::MonotonisedCentralPrim Class Reference

Monotonised central reconstruction on the GRMHD primitive variables (see fd::reconstruction::monotonised_central() for details) and unlimited 3rd order (degree 2 polynomial) reconstruction on the metric variables. More...

#include <MonotonisedCentral.hpp>

Classes

struct  AtmosphereTreatment
 

Public Types

using options = implementation defined
 
using reconstruction_argument_tags = implementation defined
 
- Public Types inherited from grmhd::GhValenciaDivClean::fd::Reconstructor
using creatable_classes = implementation defined
 

Public Member Functions

 MonotonisedCentralPrim (::VariableFixing::FixReconstructedStateToAtmosphere fix_reconstructed_state_to_atmosphere)
 
 MonotonisedCentralPrim (MonotonisedCentralPrim &&)=default
 
MonotonisedCentralPrimoperator= (MonotonisedCentralPrim &&)=default
 
 MonotonisedCentralPrim (const MonotonisedCentralPrim &)=default
 
MonotonisedCentralPrimoperator= (const MonotonisedCentralPrim &)=default
 
 MonotonisedCentralPrim (CkMigrateMessage *msg)
 
 WRAPPED_PUPable_decl_base_template (Reconstructor, MonotonisedCentralPrim)
 
auto get_clone () const -> std::unique_ptr< Reconstructor > override
 
void pup (PUP::er &p) override
 
size_t ghost_zone_size () const override
 
template<size_t ThermodynamicDim, typename TagsList >
void reconstruct (gsl::not_null< std::array< Variables< TagsList >, dim > * > vars_on_lower_face, gsl::not_null< std::array< Variables< TagsList >, dim > * > vars_on_upper_face, const Variables< hydro::grmhd_tags< DataVector > > &volume_prims, const Variables< typename System::variables_tag::type::tags_list > &volume_spacetime_and_cons_vars, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &eos, const Element< dim > &element, const DirectionalIdMap< dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< dim > &subcell_mesh, const VariableFixing::FixToAtmosphere< dim > &fix_to_atmosphere) const
 
template<size_t ThermodynamicDim, typename TagsList >
void reconstruct_fd_neighbor (gsl::not_null< Variables< TagsList > * > vars_on_face, const Variables< hydro::grmhd_tags< DataVector > > &subcell_volume_prims, const Variables< grmhd::GhValenciaDivClean::Tags::spacetime_reconstruction_tags > &subcell_volume_spacetime_metric, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &eos, const Element< dim > &element, const DirectionalIdMap< dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< dim > &subcell_mesh, const VariableFixing::FixToAtmosphere< dim > &fix_to_atmosphere, Direction< dim > direction_to_reconstruct) const
 Called by an element doing DG when the neighbor is doing subcell.
 
- Public Member Functions inherited from grmhd::GhValenciaDivClean::fd::Reconstructor
 Reconstructor (const Reconstructor &)=default
 
Reconstructoroperator= (const Reconstructor &)=default
 
 Reconstructor (Reconstructor &&)=default
 
Reconstructoroperator= (Reconstructor &&)=default
 
virtual std::unique_ptr< Reconstructorget_clone () const =0
 
virtual size_t ghost_zone_size () const =0
 
virtual bool supports_adaptive_order () const
 
void pup (PUP::er &p) override
 

Static Public Attributes

static constexpr size_t dim = 3
 
static constexpr Options::String help
 
static constexpr bool use_adaptive_order = false
 

Friends

bool operator== (const MonotonisedCentralPrim &lhs, const MonotonisedCentralPrim &rhs)
 

Detailed Description

Monotonised central reconstruction on the GRMHD primitive variables (see fd::reconstruction::monotonised_central() for details) and unlimited 3rd order (degree 2 polynomial) reconstruction on the metric variables.

Only the spacetime metric is reconstructed when we and the neighboring element in the direction are doing FD. If we are doing DG and a neighboring element is doing FD, then the spacetime metric, Φiab, and Πab are all reconstructed since the Riemann solver on the DG element also needs to solve for the metric variables.

Member Function Documentation

◆ get_clone()

auto grmhd::GhValenciaDivClean::fd::MonotonisedCentralPrim::get_clone ( ) const -> std::unique_ptr< Reconstructor >
overridevirtual

◆ ghost_zone_size()

size_t grmhd::GhValenciaDivClean::fd::MonotonisedCentralPrim::ghost_zone_size ( ) const
inlineoverridevirtual

Member Data Documentation

◆ help

constexpr Options::String grmhd::GhValenciaDivClean::fd::MonotonisedCentralPrim::help
staticconstexpr
Initial value:
{
"Monotonised central reconstruction scheme using primitive variables and "
"the metric variables."}

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