SpECTRE  v2024.04.12
evolution::dg Namespace Reference

Functionality for evolving hyperbolic partial differential equations using the discontinuous Galerkin method. More...

Namespaces

namespace  Actions
 Actions for using the discontinuous Galerkin to evolve hyperbolic partial differential equations.
 
namespace  Initialization
 Functionality for initializing the discontinuous Galerkin to evolve hyperbolic partial differential equations.
 
namespace  subcell
 Implementation of a generic finite volume/conservative finite difference subcell limiter.
 
namespace  Tags
 Tags used for DG evolution scheme.
 

Classes

struct  ApplyBoundaryCorrections
 Apply corrections from boundary communication. More...
 
struct  BackgroundGrVars
 Allocate or assign background general relativity quantities needed for evolution systems run on a curved spacetime without solving Einstein equations (e.g. ValenciaDivclean, ForceFree). More...
 
struct  BoundaryMessage
 [Charm++ Message] (https://charm.readthedocs.io/en/latest/charm%2B%2B/manual.html#messages) intended to be used in receive_data calls on the elements to send boundary data from one element on one node, to a different element on a (potentially) different node. More...
 
class  MortarData
 Data on the mortar used to compute the boundary correction for the DG scheme. More...
 
struct  using_subcell
 If Metavars has a SubcellOptions member struct and SubcellOptions::subcell_enabled is true then inherits from std::true_type, otherwise inherits from std::false_type. More...
 

Functions

template<typename Metavariables , typename DbTagsList , typename... InboxTags>
bool receive_boundary_data_global_time_stepping (const gsl::not_null< db::DataBox< DbTagsList > * > box, const gsl::not_null< tuples::TaggedTuple< InboxTags... > * > inboxes)
 Receive boundary data for global time-stepping. Returns true if all necessary data has been received.
 
template<typename System , size_t Dim, bool DenseOutput, typename DbTagsList , typename... InboxTags>
bool receive_boundary_data_local_time_stepping (const gsl::not_null< db::DataBox< DbTagsList > * > box, const gsl::not_null< tuples::TaggedTuple< InboxTags... > * > inboxes)
 Receive boundary data for local time-stepping. Returns true if all necessary data has been received. More...
 
template<size_t Dim>
bool operator== (const BoundaryMessage< Dim > &lhs, const BoundaryMessage< Dim > &rhs)
 
template<size_t Dim>
bool operator!= (const BoundaryMessage< Dim > &lhs, const BoundaryMessage< Dim > &rhs)
 
template<size_t Dim>
std::ostreamoperator<< (std::ostream &os, const BoundaryMessage< Dim > &message)
 
template<size_t Dim>
bool operator!= (const MortarData< Dim > &lhs, const MortarData< Dim > &rhs)
 
template<size_t Dim>
std::ostreamoperator<< (std::ostream &os, const MortarData< Dim > &mortar_data)
 

Variables

template<typename Metavars >
constexpr bool using_subcell_v = using_subcell<Metavars>::value
 If Metavars has a SubcellOptions member struct and SubcellOptions::subcell_enabled is true then is true, otherwise false. More...
 

Detailed Description

Functionality for evolving hyperbolic partial differential equations using the discontinuous Galerkin method.

Function Documentation

◆ receive_boundary_data_local_time_stepping()

template<typename System , size_t Dim, bool DenseOutput, typename DbTagsList , typename... InboxTags>
bool evolution::dg::receive_boundary_data_local_time_stepping ( const gsl::not_null< db::DataBox< DbTagsList > * >  box,
const gsl::not_null< tuples::TaggedTuple< InboxTags... > * >  inboxes 
)

Receive boundary data for local time-stepping. Returns true if all necessary data has been received.

Setting DenseOutput to true receives data required for output at Tags::Time instead of Tags::Next<::Tags::TimeStepId>.

Variable Documentation

◆ using_subcell_v

template<typename Metavars >
constexpr bool evolution::dg::using_subcell_v = using_subcell<Metavars>::value
constexpr

If Metavars has a SubcellOptions member struct and SubcellOptions::subcell_enabled is true then is true, otherwise false.

Note
This check is intentionally not inside the DgSubcell library so that executables that do not use subcell do not need to link against it.