SpECTRE  v2024.02.05
CurvedScalarWave::Worldtube::Actions::SendToWorldtube Struct Reference

Projects the regular field \(\Psi^R\) and its time derivative \(\partial_t \Psi^R\) onto real spherical harmonics and sends the result to the worldtube. More...

#include <SendToWorldtube.hpp>

Public Types

using tags_to_send = tmpl::list< CurvedScalarWave::Tags::Psi, ::Tags::dt< CurvedScalarWave::Tags::Psi > >
 
using tags_to_slice_to_face = tmpl::list< CurvedScalarWave::Tags::Psi, CurvedScalarWave::Tags::Pi, CurvedScalarWave::Tags::Phi< Dim >, gr::Tags::Shift< DataVector, Dim >, gr::Tags::Lapse< DataVector >, domain::Tags::InverseJacobian< Dim, Frame::ElementLogical, Frame::Inertial > >
 
using inbox_tags = tmpl::list< Worldtube::Tags::SphericalHarmonicsInbox< Dim > >
 

Static Public Member Functions

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

Static Public Attributes

static constexpr size_t Dim = 3
 

Detailed Description

Projects the regular field \(\Psi^R\) and its time derivative \(\partial_t \Psi^R\) onto real spherical harmonics and sends the result to the worldtube.

Details

The regular field is obtained by subtracting the singular/puncture field from the numerical DG field. All spherical harmonics are computed for \(l <= n\), where \(n\) is the worldtube expansion order. The projection is done by integrating over the DG grid of the element face using definite_integral with the euclidean area element. The worldtube adds up all integrals from the different elements to obtain the integral over the entire sphere.

DataBox:


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