SpECTRE  v2024.03.19
NewtonianEuler::fd::MonotonisedCentralPrim< Dim > Class Template Reference

Monotonised central reconstruction. See fd::reconstruction::monotonised_central() for details. More...

#include <MonotonisedCentral.hpp>

Public Types

using options = tmpl::list<>
 
using reconstruction_argument_tags = tmpl::list<::Tags::Variables< prims_tags >, hydro::Tags::EquationOfState< false, 2 >, domain::Tags::Element< Dim >, evolution::dg::subcell::Tags::GhostDataForReconstruction< Dim >, evolution::dg::subcell::Tags::Mesh< Dim > >
 
- Public Types inherited from NewtonianEuler::fd::Reconstructor< Dim >
using creatable_classes = tmpl::list< AoWeno53Prim< Dim >, MonotonisedCentralPrim< Dim > >
 

Public Member Functions

 MonotonisedCentralPrim (MonotonisedCentralPrim &&)=default
 
MonotonisedCentralPrimoperator= (MonotonisedCentralPrim &&)=default
 
 MonotonisedCentralPrim (const MonotonisedCentralPrim &)=default
 
MonotonisedCentralPrimoperator= (const MonotonisedCentralPrim &)=default
 
 MonotonisedCentralPrim (CkMigrateMessage *msg)
 
 WRAPPED_PUPable_decl_base_template (Reconstructor< Dim >, MonotonisedCentralPrim)
 
auto get_clone () const -> std::unique_ptr< Reconstructor< Dim > > override
 
void pup (PUP::er &p) override
 
size_t ghost_zone_size () const override
 
template<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< prims_tags > &volume_prims, const EquationsOfState::EquationOfState< false, 2 > &eos, const Element< Dim > &element, const DirectionalIdMap< Dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< Dim > &subcell_mesh) const
 
template<typename TagsList >
void reconstruct_fd_neighbor (gsl::not_null< Variables< TagsList > * > vars_on_face, const Variables< prims_tags > &subcell_volume_prims, const EquationsOfState::EquationOfState< false, 2 > &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
 Called by an element doing DG when the neighbor is doing subcell. More...
 
- Public Member Functions inherited from NewtonianEuler::fd::Reconstructor< Dim >
 Reconstructor (const Reconstructor &)=default
 
Reconstructoroperator= (const Reconstructor &)=default
 
 Reconstructor (Reconstructor &&)=default
 
Reconstructoroperator= (Reconstructor &&)=default
 
virtual std::unique_ptr< Reconstructor< Dim > > get_clone () const =0
 
virtual size_t ghost_zone_size () const =0
 
void pup (PUP::er &p) override
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

template<size_t Dim>
class NewtonianEuler::fd::MonotonisedCentralPrim< Dim >

Monotonised central reconstruction. See fd::reconstruction::monotonised_central() for details.

Member Function Documentation

◆ get_clone()

template<size_t Dim>
auto NewtonianEuler::fd::MonotonisedCentralPrim< Dim >::get_clone ( ) const -> std::unique_ptr< Reconstructor< Dim > >
overridevirtual

◆ ghost_zone_size()

template<size_t Dim>
size_t NewtonianEuler::fd::MonotonisedCentralPrim< Dim >::ghost_zone_size ( ) const
inlineoverridevirtual

◆ reconstruct_fd_neighbor()

template<size_t Dim>
template<typename TagsList >
void NewtonianEuler::fd::MonotonisedCentralPrim< Dim >::reconstruct_fd_neighbor ( gsl::not_null< Variables< TagsList > * >  vars_on_face,
const Variables< prims_tags > &  subcell_volume_prims,
const EquationsOfState::EquationOfState< false, 2 > &  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

Called by an element doing DG when the neighbor is doing subcell.

This is used to reconstruct the fluxes on the mortar that the subcell neighbor would have sent had we instead used a two a two-communication subcell solver (first communication for reconstruction, second for fluxes).

Member Data Documentation

◆ help

template<size_t Dim>
constexpr Options::String NewtonianEuler::fd::MonotonisedCentralPrim< Dim >::help
staticconstexpr
Initial value:
{
"Monotonised central reconstruction scheme using primitive variables."}

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