SpECTRE
v2024.09.29
|
Given initial boundary data for \(J\) and \(\partial_r J\), computes the initial hypersurface quantities \(J\) and gauge values. More...
#include <InitializeFirstHypersurface.hpp>
Public Types | |
using | const_global_cache_tags = tmpl::list< Tags::LMax, Tags::NumberOfRadialPoints > |
Static Public Member Functions | |
template<typename DbTags , typename... InboxTags, typename Metavariables , typename ArrayIndex , typename ActionList , typename ParallelComponent > | |
static Parallel::iterable_action_return_t | apply (db::DataBox< DbTags > &box, const tuples::TaggedTuple< InboxTags... > &, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const ActionList, const ParallelComponent *const) |
Given initial boundary data for \(J\) and \(\partial_r J\), computes the initial hypersurface quantities \(J\) and gauge values.
This action is to be called after boundary data has been received, but before the time-stepping evolution loop. So, it should be either late in an initialization phase or early (before a Actions::Goto
loop or similar) in the Evolve
phase.
Internally, this dispatches to the call function of Tags::InitializeJ
, which designates a hypersurface initial data generator chosen by input file options, InitializeGauge
, and InitializeScriPlusValue<Tags::InertialRetardedTime>
to perform the computations. Refer to the documentation for those mutators for mathematical details.
Cce::Tags::InitializeJBase
, trusting that a tag that inherits from that base tag is present in the box or the global cache. Typically, this tag should be added by the worldtube boundary component, as the type of initial data is decided by the type of the worldtube boundary data.