SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
evolution::dg::Initialization::ProjectMortars< Metavariables > Struct Template Reference

Initialize/update items related to mortars after an AMR change. More...

#include <Mortars.hpp>

Public Types

using dt_variables_tag = typename db::add_tag_prefix< ::Tags::dt, typename Metavariables::system::variables_tag >
 
using mortar_data_history_type = typename Tags::MortarDataHistory< dim, typename dt_variables_tag::type >::type
 
using return_tags = implementation defined
 
using argument_tags = implementation defined
 

Static Public Member Functions

static void apply (const gsl::not_null< ::dg::MortarMap< dim, evolution::dg::MortarDataHolder< dim > > * > mortar_data, const gsl::not_null<::dg::MortarMap< dim, Mesh< dim - 1 > > * > mortar_mesh, const gsl::not_null< ::dg::MortarMap< dim, std::array< Spectral::MortarSize, dim - 1 > > * > mortar_size, const gsl::not_null<::dg::MortarMap< dim, TimeStepId > * > mortar_next_temporal_id, const gsl::not_null< DirectionMap< dim, std::optional< magnitude_and_normal_type > > * > normal_covector_and_magnitude, const gsl::not_null< mortar_data_history_type * > mortar_data_history, const Mesh< dim > &new_mesh, const Element< dim > &new_element, const std::unordered_map< ElementId< dim >, amr::Info< dim > > &neighbor_info, const ::dg::MortarMap< dim, Mesh< dim > > &neighbor_mesh, const std::pair< Mesh< dim >, Element< dim > > &old_mesh_and_element)
 
template<typename... Tags>
static void apply (const gsl::not_null< ::dg::MortarMap< dim, evolution::dg::MortarDataHolder< dim > > * >, const gsl::not_null<::dg::MortarMap< dim, Mesh< dim - 1 > > * >, const gsl::not_null< ::dg::MortarMap< dim, std::array< Spectral::MortarSize, dim - 1 > > * >, const gsl::not_null< ::dg::MortarMap< dim, TimeStepId > * >, const gsl::not_null< DirectionMap< dim, std::optional< magnitude_and_normal_type > > * >, const gsl::not_null< mortar_data_history_type * >, const Mesh< dim > &, const Element< dim > &, const std::unordered_map< ElementId< dim >, amr::Info< dim > > &, const ::dg::MortarMap< dim, Mesh< dim > > &, const tuples::TaggedTuple< Tags... > &)
 
template<typename... Tags>
static void apply (const gsl::not_null< ::dg::MortarMap< dim, evolution::dg::MortarDataHolder< dim > > * >, const gsl::not_null<::dg::MortarMap< dim, Mesh< dim - 1 > > * >, const gsl::not_null< ::dg::MortarMap< dim, std::array< Spectral::MortarSize, dim - 1 > > * >, const gsl::not_null< ::dg::MortarMap< dim, TimeStepId > * >, const gsl::not_null< DirectionMap< dim, std::optional< magnitude_and_normal_type > > * >, const gsl::not_null< mortar_data_history_type * >, const Mesh< dim > &, const Element< dim > &, const std::unordered_map< ElementId< dim >, amr::Info< dim > > &, const ::dg::MortarMap< dim, Mesh< dim > > &, const std::unordered_map< ElementId< dim >, tuples::TaggedTuple< Tags... > > &)
 

Static Public Attributes

static constexpr size_t dim = Metavariables::volume_dim
 

Detailed Description

template<typename Metavariables>
struct evolution::dg::Initialization::ProjectMortars< Metavariables >

Initialize/update items related to mortars after an AMR change.

Mutates:

  • Tags::MortarData<dim>
  • Tags::MortarMesh<dim>
  • Tags::MortarSize<dim>
  • Tags::MortarNextTemporalId<dim>
  • evolution::dg::Tags::NormalCovectorAndMagnitude<dim>
  • Tags::MortarDataHistory<dim, typename dt_variables_tag::type>>

For p-refinement:

  • Does nothing to MortarDataHistory (only valid for global time-stepping) or MortarNextTemporalId (only valid for no h-refinement)
  • Sets the other Mortar tags to be default initialized for each neighbor
  • Sets the NormalCovectorAndMagnitude to std::nullopt

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