Public Types | Public Member Functions | Public Attributes | List of all members
dg::SimpleBoundaryData< FieldTags, ExtraDataTags > Struct Template Reference

Distinguishes between field data, which can be projected to a mortar, and extra data, which will not be projected. More...

#include <SimpleBoundaryData.hpp>

Public Types

using field_tags = FieldTags
 
using extra_data_tags = ExtraDataTags
 

Public Member Functions

 SimpleBoundaryData (const SimpleBoundaryData &) noexcept=default
 
SimpleBoundaryDataoperator= (const SimpleBoundaryData &) noexcept=default
 
 SimpleBoundaryData (SimpleBoundaryData &&) noexcept=default
 
SimpleBoundaryDataoperator= (SimpleBoundaryData &&) noexcept=default
 
 SimpleBoundaryData (const size_t num_points) noexcept
 
void pup (PUP::er &p) noexcept
 
template<size_t MortarDim>
SimpleBoundaryData< FieldTags, ExtraDataTags > project_to_mortar (const Mesh< MortarDim > &face_mesh, const Mesh< MortarDim > &mortar_mesh, const std::array< Spectral::MortarSize, MortarDim > &mortar_size) const noexcept
 Project the field_data to the mortar. More...
 
template<size_t MortarDim>
void orient_on_slice (const Index< MortarDim > &slice_extents, const size_t sliced_dim, const OrientationMap< MortarDim+1 > &orientation_of_neighbor) noexcept
 Orient the field_data More...
 

Public Attributes

Variables< FieldTags > field_data
 Data projected to the mortar mesh.
 
tuples::tagged_tuple_from_typelist< ExtraDataTags > extra_data
 Data on the element face that needs no projection to the mortar mesh. This is a TaggedTuple to support non-tensor quantities. It also helps supporting an empty list of ExtraDataTags.
 

Detailed Description

template<typename FieldTags, typename ExtraDataTags = tmpl::list<>>
struct dg::SimpleBoundaryData< FieldTags, ExtraDataTags >

Distinguishes between field data, which can be projected to a mortar, and extra data, which will not be projected.

Member Function Documentation

◆ orient_on_slice()

template<typename FieldTags , typename ExtraDataTags = tmpl::list<>>
template<size_t MortarDim>
void dg::SimpleBoundaryData< FieldTags, ExtraDataTags >::orient_on_slice ( const Index< MortarDim > &  slice_extents,
const size_t  sliced_dim,
const OrientationMap< MortarDim+1 > &  orientation_of_neighbor 
)
inlinenoexcept

Orient the field_data

See also
orient_variables_on_slice

◆ project_to_mortar()

template<typename FieldTags , typename ExtraDataTags = tmpl::list<>>
template<size_t MortarDim>
SimpleBoundaryData<FieldTags, ExtraDataTags> dg::SimpleBoundaryData< FieldTags, ExtraDataTags >::project_to_mortar ( const Mesh< MortarDim > &  face_mesh,
const Mesh< MortarDim > &  mortar_mesh,
const std::array< Spectral::MortarSize, MortarDim > &  mortar_size 
) const
inlinenoexcept

Project the field_data to the mortar.

See also
dg::project_to_mortar

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