SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
elliptic::dg::subdomain_operator::Actions::InitializeSubdomain< System, BackgroundTag, OptionsGroup, FromInitialDomain > Struct Template Reference

Initialize the geometry for the DG subdomain operator. More...

#include <InitializeSubdomain.hpp>

Public Types

using simple_tags_from_options
using const_global_cache_tags
using simple_tags
using compute_tags = tmpl::list<>

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)

Detailed Description

template<typename System, typename BackgroundTag, typename OptionsGroup, bool FromInitialDomain = true>
struct elliptic::dg::subdomain_operator::Actions::InitializeSubdomain< System, BackgroundTag, OptionsGroup, FromInitialDomain >

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:

  • If 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).
  • If 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:

Member Typedef Documentation

◆ const_global_cache_tags

template<typename System, typename BackgroundTag, typename OptionsGroup, bool FromInitialDomain = true>
using elliptic::dg::subdomain_operator::Actions::InitializeSubdomain< System, BackgroundTag, OptionsGroup, FromInitialDomain >::const_global_cache_tags
Initial value:
tmpl::list<LinearSolver::Schwarz::Tags::MaxOverlap<OptionsGroup>>

◆ simple_tags

template<typename System, typename BackgroundTag, typename OptionsGroup, bool FromInitialDomain = true>
using elliptic::dg::subdomain_operator::Actions::InitializeSubdomain< System, BackgroundTag, OptionsGroup, FromInitialDomain >::simple_tags
Initial value:
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<>>,
tmpl::transform< TagList, tmpl::bind< Wrapper, tmpl::_1, tmpl::pin< Args >... > > wrap_tags_in
Create a new tmpl::list of tags by wrapping each tag in TagList in Wrapper<_, Args....
Definition PrefixHelpers.hpp:29
tmpl::transform< TagsList, make_faces_tag< tmpl::pin< tmpl::size_t< Dim > >, tmpl::_1, tmpl::pin< VolumeTags > > > make_faces_tags
Wrap all tags in TagsList in domain::Tags::Faces, except those in the VolumeTags list.
Definition Faces.hpp:42

◆ simple_tags_from_options

template<typename System, typename BackgroundTag, typename OptionsGroup, bool FromInitialDomain = true>
using elliptic::dg::subdomain_operator::Actions::InitializeSubdomain< System, BackgroundTag, OptionsGroup, FromInitialDomain >::simple_tags_from_options
Initial value:
tmpl::list<domain::Tags::InitialExtents<Dim>,
The initial refinement level per dimension for all elements in each block of the initial computationa...
Definition InitialRefinementLevels.hpp:23

The documentation for this struct was generated from the following file:
  • src/Elliptic/DiscontinuousGalerkin/SubdomainOperator/InitializeSubdomain.hpp