SpECTRE  v2023.03.09
CurvedScalarWave::Worldtube::Initialization::InitializeElementFacesGridCoordinates< Dim > Struct Template Reference

Initializes a map of the grid coordinates centered on the worldtube of all faces that abut the worldtube with corresponding ElementIds. More...

#include <InitializeElementFacesGridCoordinates.hpp>

## Public Types

using return_tags = tmpl::list< Tags::ElementFacesGridCoordinates< Dim > >

using simple_tags = tmpl::list< Tags::ElementFacesGridCoordinates< Dim > >

using compute_tags = tmpl::list<>

using simple_tags_from_options = tmpl::list<::domain::Tags::InitialExtents< Dim >, ::domain::Tags::InitialRefinementLevels< Dim >, evolution::dg::Tags::Quadrature >

using const_global_cache_tags = tmpl::list<>

using mutable_global_cache_tags = tmpl::list<>

using argument_tags = tmpl::flatten< tmpl::list< simple_tags_from_options, ::domain::Tags::Domain< Dim >, Tags::ExcisionSphere< Dim > > >

## Static Public Member Functions

static void apply (const gsl::not_null< std::unordered_map< ElementId< Dim >, tnsr::I< DataVector, Dim, Frame::Grid > > * > element_faces_grid_coords, const std::vector< std::array< size_t, Dim > > &initial_extents, const std::vector< std::array< size_t, Dim > > &initial_refinement, const Spectral::Quadrature &quadrature, const Domain< Dim > &domain, const ::ExcisionSphere< Dim > &excision_sphere)

## Detailed Description

template<size_t Dim>
struct CurvedScalarWave::Worldtube::Initialization::InitializeElementFacesGridCoordinates< Dim >

Initializes a map of the grid coordinates centered on the worldtube of all faces that abut the worldtube with corresponding ElementIds.

### Details

The worldtube singleton computes an internal solution in the grid frame and uses this map to evaluate compute it at the grid coordinates of each element face abutting the worldtube each time step. This data is sent to the corresponding element where it is used to apply pointwise boundary conditions. The ElementFacesGridCoordinates holds a map of all the element ids abutting the worldtube with the corresonding grid coordinates.

Warning
This currently assumes that initial domain remains the same and there is no AMR. To support this, the worldtube could send the coefficients of its internal solution to each element which can evaluate it on their current grid in the boundary conditions.

DataBox changes: