SpECTRE  v2021.11.01
elliptic::dg::InitializeFacesAndMortars< Dim > Struct Template Reference

Initialize the geometry on faces and mortars for the elliptic DG operator. More...

#include <Initialization.hpp>

Public Types

using return_tags = tmpl::append< domain::make_faces_tags< Dim, tmpl::list< domain::Tags::Direction< Dim >, domain::Tags::Coordinates< Dim, Frame::Inertial >, domain::Tags::FaceNormal< Dim >, domain::Tags::UnnormalizedFaceNormalMagnitude< Dim >, ::Tags::deriv< domain::Tags::UnnormalizedFaceNormal< Dim >, tmpl::size_t< Dim >, Frame::Inertial > > >, tmpl::list<::Tags::Mortars< domain::Tags::Mesh< Dim - 1 >, Dim >, ::Tags::Mortars<::Tags::MortarSize< Dim - 1 >, Dim > > >
 
using argument_tags = tmpl::list< domain::Tags::Mesh< Dim >, domain::Tags::Element< Dim >, domain::Tags::ElementMap< Dim >, domain::Tags::InverseJacobian< Dim, Frame::ElementLogical, Frame::Inertial > >
 

Public Member Functions

void operator() (gsl::not_null< DirectionMap< Dim, Direction< Dim > > * > face_directions, gsl::not_null< DirectionMap< Dim, tnsr::I< DataVector, Dim > > * > face_inertial_coords, gsl::not_null< DirectionMap< Dim, tnsr::i< DataVector, Dim > > * > face_normals, gsl::not_null< DirectionMap< Dim, Scalar< DataVector > > * > face_normal_magnitudes, gsl::not_null< DirectionMap< Dim, tnsr::ij< DataVector, Dim > > * > deriv_unnormalized_face_normals, gsl::not_null<::dg::MortarMap< Dim, Mesh< Dim - 1 > > * > mortar_meshes, gsl::not_null<::dg::MortarMap< Dim, ::dg::MortarSize< Dim - 1 > > * > mortar_sizes, const Mesh< Dim > &mesh, const Element< Dim > &element, const ElementMap< Dim, Frame::Inertial > &element_map, const InverseJacobian< DataVector, Dim, Frame::ElementLogical, Frame::Inertial > &inv_jacobian, const std::vector< std::array< size_t, Dim > > &initial_extents) const
 

Detailed Description

template<size_t Dim>
struct elliptic::dg::InitializeFacesAndMortars< Dim >

Initialize the geometry on faces and mortars for the elliptic DG operator.

Face normals are not yet normalized, and the face-normal magnitudes are not yet computed at all. Invoke elliptic::dg::NormalizeFaceNormals for this purpose, possibly preceded by elliptic::dg::InitializeBackground if the system has a background metric.

The Tags::deriv<domain::Tags::UnnormalizedFaceNormal<Dim>> is only added on external boundaries, for use by boundary conditions.


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