Public Types | Public Member Functions | Static Public Attributes | List of all members
NewtonianEuler::fd::MonotisedCentralPrim< Dim > Class Template Reference

Monotised central reconstruction. See fd::reconstruction::monotised_central() for details. More...

#include <MonotisedCentral.hpp>

Public Types

using options = tmpl::list<>
 
using reconstruction_argument_tags = tmpl::list<::Tags::Variables< prims_tags >, hydro::Tags::EquationOfStateBase, domain::Tags::Element< Dim >, evolution::dg::subcell::Tags::NeighborDataForReconstructionAndRdmpTci< Dim >, evolution::dg::subcell::Tags::Mesh< Dim > >
 
- Public Types inherited from NewtonianEuler::fd::Reconstructor< Dim >
using creatable_classes = tmpl::list< AoWeno53Prim< Dim >, MonotisedCentralPrim< Dim > >
 

Public Member Functions

 MonotisedCentralPrim (MonotisedCentralPrim &&) noexcept=default
 
MonotisedCentralPrimoperator= (MonotisedCentralPrim &&) noexcept=default
 
 MonotisedCentralPrim (const MonotisedCentralPrim &)=default
 
MonotisedCentralPrimoperator= (const MonotisedCentralPrim &)=default
 
 MonotisedCentralPrim (CkMigrateMessage *msg) noexcept
 
 WRAPPED_PUPable_decl_base_template (Reconstructor< Dim >, MonotisedCentralPrim)
 
auto get_clone () const noexcept -> std::unique_ptr< Reconstructor< Dim >> override
 
void pup (PUP::er &p) override
 
size_t ghost_zone_size () const noexcept 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< prims_tags > &volume_prims, const EquationsOfState::EquationOfState< false, ThermodynamicDim > &eos, const Element< Dim > &element, const FixedHashMap< maximum_number_of_neighbors(Dim)+1, std::pair< Direction< Dim >, ElementId< Dim >>, evolution::dg::subcell::NeighborData, boost::hash< std::pair< Direction< Dim >, ElementId< Dim >>>> &neighbor_data, const Mesh< Dim > &subcell_mesh) const noexcept
 
template<size_t ThermodynamicDim, 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, ThermodynamicDim > &eos, const Element< Dim > &element, const FixedHashMap< maximum_number_of_neighbors(Dim)+1, std::pair< Direction< Dim >, ElementId< Dim >>, evolution::dg::subcell::NeighborData, boost::hash< std::pair< Direction< Dim >, ElementId< Dim >>>> &neighbor_data, const Mesh< Dim > &subcell_mesh, const Direction< Dim > direction_to_reconstruct) const noexcept
 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
 
void pup (PUP::er &p) override
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

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

Monotised central reconstruction. See fd::reconstruction::monotised_central() for details.

Member Function Documentation

◆ reconstruct_fd_neighbor()

template<size_t Dim>
template<size_t ThermodynamicDim, typename TagsList >
void NewtonianEuler::fd::MonotisedCentralPrim< Dim >::reconstruct_fd_neighbor ( gsl::not_null< Variables< TagsList > * >  vars_on_face,
const Variables< prims_tags > &  subcell_volume_prims,
const EquationsOfState::EquationOfState< false, ThermodynamicDim > &  eos,
const Element< Dim > &  element,
const FixedHashMap< maximum_number_of_neighbors(Dim)+1, std::pair< Direction< Dim >, ElementId< Dim >>, evolution::dg::subcell::NeighborData, boost::hash< std::pair< Direction< Dim >, ElementId< Dim >>>> &  neighbor_data,
const Mesh< Dim > &  subcell_mesh,
const Direction< Dim >  direction_to_reconstruct 
) const
noexcept

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::MonotisedCentralPrim< Dim >::help
staticconstexpr
Initial value:
{
"Monotised central reconstruction scheme using primitive variables."}

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