Namespaces | Classes | Functions
NewtonianEuler::fd Namespace Reference

Finite difference functionality for Newtonian Euler. More...

Namespaces

 OptionTags
 Option tags for reconstruction.
 
 Tags
 Tags for reconstruction
 

Classes

class  AoWeno53Prim
 Adaptive-order WENO reconstruction hybridizing orders 5 and 3. See fd::reconstruction::aoweno_53() for details. More...
 
class  MonotisedCentralPrim
 Monotised central reconstruction. See fd::reconstruction::monotised_central() for details. More...
 
class  Reconstructor
 The base class from which all reconstruction schemes must inherit. More...
 

Functions

template<size_t Dim>
bool operator!= (const AoWeno53Prim< Dim > &lhs, const AoWeno53Prim< Dim > &rhs) noexcept
 
template<size_t Dim>
bool operator== (const MonotisedCentralPrim< Dim > &, const MonotisedCentralPrim< Dim > &) noexcept
 
template<size_t Dim>
bool operator!= (const MonotisedCentralPrim< Dim > &lhs, const MonotisedCentralPrim< Dim > &rhs) noexcept
 
template<typename PrimsTags , typename TagsList , size_t Dim, size_t ThermodynamicDim, typename F >
void reconstruct_prims_work (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 F &reconstruct, const Variables< PrimsTags > &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, size_t ghost_zone_size) noexcept
 Reconstructs the mass density, velocity, and pressure, then computes the specific internal energy and conserved variables. All results are written into vars_on_lower_face and vars_on_upper_face.
 
template<typename TagsList , typename PrimsTags , size_t Dim, size_t ThermodynamicDim, typename F0 , typename F1 >
void reconstruct_fd_neighbor_work (gsl::not_null< Variables< TagsList > * > vars_on_face, const F0 &reconstruct_lower_neighbor, const F1 &reconstruct_upper_neighbor, const Variables< PrimsTags > &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, size_t ghost_zone_size) noexcept
 Reconstructs the mass density, velocity, and pressure, then computes the specific internal energy and conserved variables. All results are written into vars_on_face. More...
 
void register_derived_with_charm () noexcept
 

Detailed Description

Finite difference functionality for Newtonian Euler.

Function Documentation

◆ reconstruct_fd_neighbor_work()

template<typename TagsList , typename PrimsTags , size_t Dim, size_t ThermodynamicDim, typename F0 , typename F1 >
void NewtonianEuler::fd::reconstruct_fd_neighbor_work ( gsl::not_null< Variables< TagsList > * >  vars_on_face,
const F0 &  reconstruct_lower_neighbor,
const F1 &  reconstruct_upper_neighbor,
const Variables< PrimsTags > &  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,
size_t  ghost_zone_size 
)
noexcept

Reconstructs the mass density, velocity, and pressure, then computes the specific internal energy and conserved variables. All results are written into vars_on_face.

This is used on DG elements to reconstruct their subcell neighbors' solution on the shared faces.