Namespaces | Classes | Typedefs | Enumerations | Functions
dg Namespace Reference

Functionality related to discontinuous Galerkin schemes. More...

Namespaces

 FirstOrderScheme
 Functionality related to the first-order DG scheme.
 
 protocols
 Protocols related to Discontinuous Galerkin functionality
 

Classes

struct  FluxCommunicationTypes
 Types related to flux communication. More...
 
struct  FluxesInboxTag
 The inbox tag for flux communication. More...
 
struct  SimpleBoundaryData
 Distinguishes between field data, which can be projected to a mortar, and extra data, which will not be projected. More...
 
class  SimpleMortarData
 Storage of boundary data on two sides of a mortar. More...
 

Typedefs

template<size_t VolumeDim>
using MortarId = std::pair<::Direction< VolumeDim >, ElementId< VolumeDim > >
 
template<size_t MortarDim>
using MortarSize = std::array< Spectral::MortarSize, MortarDim >
 
template<size_t VolumeDim, typename ValueType >
using MortarMap = std::unordered_map< MortarId< VolumeDim >, ValueType, boost::hash< MortarId< VolumeDim > >>
 

Enumerations

enum  Formulation { StrongInertial, WeakInertial }
 The DG formulation to use. More...
 

Functions

std::ostreamoperator<< (std::ostream &os, const Formulation t) noexcept
 
template<typename... FluxTags>
auto lift_flux (Variables< tmpl::list< FluxTags... >> flux, const size_t extent_perpendicular_to_boundary, Scalar< DataVector > magnitude_of_face_normal) noexcept -> Variables< tmpl::list< db::remove_tag_prefix< FluxTags >... >>
 Lifts the flux contribution from an interface to the volume. More...
 
template<size_t Dim>
Mesh< Dim > mortar_mesh (const Mesh< Dim > &face_mesh1, const Mesh< Dim > &face_mesh2) noexcept
 
template<size_t Dim>
std::array< Spectral::MortarSize, Dim - 1 > mortar_size (const ElementId< Dim > &self, const ElementId< Dim > &neighbor, const size_t dimension, const OrientationMap< Dim > &orientation) noexcept
 
template<size_t Dim>
MortarSize< Dim - 1 > mortar_size (const ElementId< Dim > &self, const ElementId< Dim > &neighbor, size_t dimension, const OrientationMap< Dim > &orientation) noexcept
 
template<size_t Dim>
bool needs_projection (const Mesh< Dim > &face_mesh, const Mesh< Dim > &mortar_mesh, const MortarSize< Dim > &mortar_size) noexcept
 
template<typename Tags , size_t Dim>
Variables< Tags > project_to_mortar (const Variables< Tags > &vars, const Mesh< Dim > &face_mesh, const Mesh< Dim > &mortar_mesh, const MortarSize< Dim > &mortar_size) noexcept
 
template<typename Tags , size_t Dim>
Variables< Tags > project_from_mortar (const Variables< Tags > &vars, const Mesh< Dim > &face_mesh, const Mesh< Dim > &mortar_mesh, const MortarSize< Dim > &mortar_size) noexcept
 
template<typename FluxCommTypes , typename NormalDotNumericalFluxComputer , size_t Dim, typename LocalData >
auto compute_boundary_flux_contribution (const NormalDotNumericalFluxComputer &normal_dot_numerical_flux_computer, LocalData &&local_data, const typename FluxCommTypes::PackagedData &remote_data, const Mesh< Dim > &face_mesh, const Mesh< Dim > &mortar_mesh, const size_t extent_perpendicular_to_boundary, const MortarSize< Dim > &mortar_size) noexcept -> db::const_item_type< db::remove_tag_prefix< typename FluxCommTypes::normal_dot_fluxes_tag >>
 
template<typename InboxTag , size_t Dim, typename TemporalIdType , typename... InboxTags>
bool has_received_from_all_mortars (const TemporalIdType &temporal_id, const Element< Dim > &element, const tuples::TaggedTuple< InboxTags... > &inboxes) noexcept
 Determines if data on all mortars has been received for the InboxTag at time temporal_id. More...
 

Detailed Description

Functionality related to discontinuous Galerkin schemes.