SpECTRE  2021.08.02
GeneralizedHarmonic::gauges::Actions::InitializeDampedHarmonic< Dim, UseRollon > Struct Template Reference

Initialize the damped harmonic gauge, either with or without a rollon function. More...

#include <InitializeDampedHarmonic.hpp>

Public Types

using frame = Frame::Inertial
 
using const_global_cache_tags = tmpl::list< GeneralizedHarmonic::gauges::Tags::DhGaugeParameters< UseRollon > >
 
using simple_tags = tmpl::conditional_t< UseRollon, tmpl::list< GeneralizedHarmonic::Tags::InitialGaugeH< Dim, frame >, GeneralizedHarmonic::Tags::SpacetimeDerivInitialGaugeH< Dim, frame > >, tmpl::list<> >
 
using compute_tags = tmpl::conditional_t< UseRollon, DampedHarmonicRollonCompute< frame >, DampedHarmonicCompute< frame > >
 

Static Public Member Functions

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

Detailed Description

template<size_t Dim, bool UseRollon>
struct GeneralizedHarmonic::gauges::Actions::InitializeDampedHarmonic< Dim, UseRollon >

Initialize the damped harmonic gauge, either with or without a rollon function.

See GeneralizedHarmonic::gauges::damped_harmonic() for details on the condition.

When the non-rollon gauge is initialized, Eq. 9 and 10 of [72] are used to compute the time derivatives for the lapse and shift to compute the new \(\Pi_{ab}\).

Warning
The rollon gauge does not support moving meshes.

When the rollon gauge is used:

DataBox:

When the non-rollon gauge is used:

DataBox:

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.