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 |
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
.