SpECTRE
v2025.03.17
|
Initialize the geometry for the DG subdomain operator. More...
#include <InitializeSubdomain.hpp>
Public Types | |
using | simple_tags_from_options = implementation defined |
using | const_global_cache_tags = implementation defined |
using | simple_tags = db::wrap_tags_in< overlaps_tag, tmpl::append< typename InitializeGeometry::return_tags, typename InitializeFacesAndMortars::return_tags, typename InitializeOverlapGeometry::return_tags, tmpl::conditional_t< has_background_fields, tmpl::list<::Tags::Variables< typename System::background_fields > >, tmpl::list<> >, domain::make_faces_tags< Dim, typename System::background_fields > > > |
using | compute_tags = implementation defined |
Static Public Member Functions | |
template<typename DataBox , typename... InboxTags, typename Metavariables , typename ActionList , typename ParallelComponent > | |
static Parallel::iterable_action_return_t | apply (DataBox &box, const tuples::TaggedTuple< InboxTags... > &, const Parallel::GlobalCache< Metavariables > &, const ElementId< Dim > &, const ActionList, const ParallelComponent *const) |
Initialize the geometry for the DG subdomain operator.
Initializes tags that define the geometry of overlap regions with neighboring elements. The data needs to be updated if the geometry of neighboring elements changes.
Note that the geometry depends on the system and on the choice of background through the normalization of face normals, which involves a metric.
The FromInitialDomain
template parameter controls how the next-to-nearest-neighbor information is acquired:
FromInitialDomain = true
, uses the initial parameters from the input file. This can be used at the beginning of a simulation or if the domain never changes (no AMR).FromInitialDomain = false
, uses the mesh, element, and neighbor meshes of each neighbor. This typically requires communication to exchange this data between neighbors each time the domain changes, e.g. with AMR.DataBox:
BackgroundTag
domain::Tags::Element<Dim>
FromInitialDomain = true
:
FromInitialDomain = false
:Overlaps<domain::Tags::Mesh<Dim>>
Overlaps<domain::Tags::Element<Dim>>
Overlaps<domain::Tags::NeighborMesh<Dim>>
domain::Tags::Domain<Dim>
domain::Tags::FunctionsOfTime
LinearSolver::Schwarz::Tags::MaxOverlap<OptionsGroup>
LinearSolver::Schwarz::Tags::Overlaps
. See elliptic::dg::Actions::InitializeDomain
and elliptic::dg::Actions::initialize_operator
for a complete list.