SpECTRE  2021.08.02
Initialization::Actions::DiscontinuousGalerkin< Metavariables > Struct Template Reference

Initialize items related to the discontinuous Galerkin method. More...

#include <DiscontinuousGalerkin.hpp>

Classes

struct  Impl
 
struct  Impl< LocalSystem, true >
 

Public Types

using boundary_scheme = typename Metavariables::boundary_scheme
 
using normal_dot_fluxes_tag = db::add_tag_prefix<::Tags::NormalDotFlux, typename boundary_scheme::variables_tag >
 
template<typename Tag >
using interface_tag = domain::Tags::Interface< domain::Tags::InternalDirections< dim >, Tag >
 
template<typename Tag >
using interior_boundary_tag = domain::Tags::Interface< domain::Tags::BoundaryDirectionsInterior< dim >, Tag >
 
template<typename Tag >
using external_boundary_tag = domain::Tags::Interface< domain::Tags::BoundaryDirectionsExterior< dim >, Tag >
 
using initialization_tags = tmpl::list< domain::Tags::InitialExtents< Metavariables::volume_dim > >
 
using simple_tags = typename Impl< typename Metavariables::system >::simple_tags
 
using compute_tags = typename Impl< typename Metavariables::system >::compute_tags
 

Static Public Member Functions

template<typename DbTagsList , typename... InboxTags, typename ArrayIndex , typename ActionList , typename ParallelComponent >
static auto apply (db::DataBox< DbTagsList > &box, const tuples::TaggedTuple< InboxTags... > &, const Parallel::GlobalCache< Metavariables > &, const ArrayIndex &, ActionList, const ParallelComponent *const) noexcept
 

Static Public Attributes

static constexpr size_t dim = Metavariables::system::volume_dim
 

Detailed Description

template<typename Metavariables>
struct Initialization::Actions::DiscontinuousGalerkin< Metavariables >

Initialize items related to the discontinuous Galerkin method.

Uses:

  • DataBox:
    • Tags::Element<Dim>
    • Tags::Mesh<Dim>
    • Tags::Next<temporal_id_tag>
    • Tags::Interface<Tags::InternalDirections<Dim>, Tags::Mesh<Dim - 1>>

DataBox changes:

  • Adds:
    • Tags::Interface<Tags::InternalDirections<Dim>, normal_dot_fluxes_tag>
    • Tags::Interface<Tags::BoundaryDirectionsInterior<Dim>, normal_dot_fluxes_tag>
    • Tags::Interface<Tags::BoundaryDirectionsExterior<Dim>, normal_dot_fluxes_tag>
  • Removes: nothing
  • Modifies: nothing
Note
This action relies on the SetupDataBox aggregated initialization mechanism, so Actions::SetupDataBox must be present in the Initialization phase action list prior to this action.