Public Types | Static Public Member Functions | Static Public Attributes | List of all members
dg::FirstOrderScheme::FirstOrderScheme< Dim, VariablesTag, DtVariablesTag, NumericalFluxComputerTag, TemporalIdTag > Struct Template Reference

Boundary contributions for a first-order DG scheme. More...

#include <FirstOrderScheme.hpp>

Public Types

using variables_tag = VariablesTag
 
using numerical_flux_computer_tag = NumericalFluxComputerTag
 
using NumericalFlux = typename NumericalFluxComputerTag::type
 
using temporal_id_tag = TemporalIdTag
 
using receive_temporal_id_tag = temporal_id_tag
 
using dt_variables_tag = DtVariablesTag
 
using BoundaryData = dg::FirstOrderScheme::BoundaryData< NumericalFlux >
 
using boundary_data_computer = detail::boundary_data_computer_impl< Dim, VariablesTag, NumericalFluxComputerTag >
 
using mortar_data_tag = ::Tags::SimpleMortarData< typename TemporalIdTag::type, BoundaryData, BoundaryData >
 
using magnitude_of_face_normal_tag = ::Tags::Magnitude< domain::Tags::UnnormalizedFaceNormal< volume_dim > >
 
using return_tags = tmpl::list< dt_variables_tag, ::Tags::Mortars< mortar_data_tag, Dim > >
 
using argument_tags = tmpl::list< domain::Tags::Mesh< Dim >, ::Tags::Mortars< domain::Tags::Mesh< Dim - 1 >, Dim >, ::Tags::Mortars<::Tags::MortarSize< Dim - 1 >, Dim >, NumericalFluxComputerTag, domain::Tags::Interface< domain::Tags::InternalDirections< Dim >, magnitude_of_face_normal_tag >, domain::Tags::Interface< domain::Tags::BoundaryDirectionsInterior< Dim >, magnitude_of_face_normal_tag > >
 

Static Public Member Functions

static void apply (const gsl::not_null< typename dt_variables_tag::type * > dt_variables, const gsl::not_null< typename ::Tags::Mortars< mortar_data_tag, Dim >::type * > all_mortar_data, const Mesh< Dim > &volume_mesh, const MortarMap< Dim, Mesh< Dim - 1 >> &mortar_meshes, const MortarMap< Dim, MortarSize< Dim - 1 >> &mortar_sizes, const NumericalFlux &normal_dot_numerical_flux_computer, const std::unordered_map< Direction< Dim >, Scalar< DataVector >> &face_normal_magnitudes_internal, const std::unordered_map< Direction< Dim >, Scalar< DataVector >> &face_normal_magnitudes_boundary) noexcept
 

Static Public Attributes

static constexpr size_t volume_dim = Dim
 

Detailed Description

template<size_t Dim, typename VariablesTag, typename DtVariablesTag, typename NumericalFluxComputerTag, typename TemporalIdTag>
struct dg::FirstOrderScheme::FirstOrderScheme< Dim, VariablesTag, DtVariablesTag, NumericalFluxComputerTag, TemporalIdTag >

Boundary contributions for a first-order DG scheme.

Computes Eq. (2.20) in [80] and lifts it to the volume (see dg::lift_flux) on all mortars that touch an element. The resulting boundary contributions are added to the DG operator data in the DtVariablesTag.


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