SpECTRE  v2024.03.19
grmhd::ValenciaDivClean::fd::MonotonicityPreserving5Prim Class Reference

Fifth order monotonicity-preserving (MP5) reconstruction. See fd::reconstruction::monotonicity_preserving_5() for details. More...

#include <MonotonicityPreserving5.hpp>

Classes

struct  Alpha
 
struct  Epsilon
 

Public Types

using options = tmpl::list< Alpha, Epsilon >
 
using reconstruction_argument_tags = tmpl::list<::Tags::Variables< hydro::grmhd_tags< DataVector > >, hydro::Tags::GrmhdEquationOfState, domain::Tags::Element< dim >, evolution::dg::subcell::Tags::GhostDataForReconstruction< dim >, evolution::dg::subcell::Tags::Mesh< dim > >
 
- Public Types inherited from grmhd::ValenciaDivClean::fd::Reconstructor
using creatable_classes = tmpl::list< MonotonicityPreserving5Prim, MonotonisedCentralPrim, PositivityPreservingAdaptiveOrderPrim, Wcns5zPrim >
 

Public Member Functions

 MonotonicityPreserving5Prim (MonotonicityPreserving5Prim &&)=default
 
MonotonicityPreserving5Primoperator= (MonotonicityPreserving5Prim &&)=default
 
 MonotonicityPreserving5Prim (const MonotonicityPreserving5Prim &)=default
 
MonotonicityPreserving5Primoperator= (const MonotonicityPreserving5Prim &)=default
 
 MonotonicityPreserving5Prim (double alpha, double epsilon)
 
 MonotonicityPreserving5Prim (CkMigrateMessage *msg)
 
 WRAPPED_PUPable_decl_base_template (Reconstructor, MonotonicityPreserving5Prim)
 
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>
void reconstruct (gsl::not_null< std::array< Variables< tags_list_for_reconstruct >, dim > * > vars_on_lower_face, gsl::not_null< std::array< Variables< tags_list_for_reconstruct >, dim > * > vars_on_upper_face, const Variables< hydro::grmhd_tags< DataVector > > &volume_prims, 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
 
template<size_t ThermodynamicDim>
void reconstruct_fd_neighbor (gsl::not_null< Variables< tags_list_for_reconstruct > * > vars_on_face, const Variables< hydro::grmhd_tags< DataVector > > &subcell_volume_prims, 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 Direction< dim > direction_to_reconstruct) const
 
- Public Member Functions inherited from grmhd::ValenciaDivClean::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 MonotonicityPreserving5Prim &lhs, const MonotonicityPreserving5Prim &rhs)
 
bool operator!= (const MonotonicityPreserving5Prim &lhs, const MonotonicityPreserving5Prim &rhs)
 

Detailed Description

Fifth order monotonicity-preserving (MP5) reconstruction. See fd::reconstruction::monotonicity_preserving_5() for details.

Member Function Documentation

◆ get_clone()

auto grmhd::ValenciaDivClean::fd::MonotonicityPreserving5Prim::get_clone ( ) const -> std::unique_ptr< Reconstructor >
overridevirtual

◆ ghost_zone_size()

size_t grmhd::ValenciaDivClean::fd::MonotonicityPreserving5Prim::ghost_zone_size ( ) const
inlineoverridevirtual

Member Data Documentation

◆ help

constexpr Options::String grmhd::ValenciaDivClean::fd::MonotonicityPreserving5Prim::help
staticconstexpr
Initial value:
{
"MP5 reconstruction scheme using primitive variables."}

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