SpECTRE  v2025.08.19
Cce::Actions::InitializeFirstHypersurface< EvolveCcm, BoundaryComponent > Struct Template Reference

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)
 

Detailed Description

template<bool EvolveCcm, typename BoundaryComponent>
struct Cce::Actions::InitializeFirstHypersurface< EvolveCcm, BoundaryComponent >

Given initial boundary data for \(J\) and \(\partial_r J\), computes the initial hypersurface quantities \(J\) and gauge values.

Details

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.


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