SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
CurvedScalarWave::Initialization::InitializeEvolvedVariables< Dim > Struct Template Reference

Analytic initial data for scalar waves in curved spacetime. More...

#include <Initialize.hpp>

Public Types

using flat_variables_tag = typename ScalarWave::System< Dim >::variables_tag
 
using curved_variables_tag = typename CurvedScalarWave::System< Dim >::variables_tag
 
using return_tags = implementation defined
 
using argument_tags = implementation defined
 

Static Public Member Functions

template<typename AnalyticSolutionOrData >
static void apply (const gsl::not_null< typename curved_variables_tag::type * > evolved_vars, const double initial_time, const tnsr::I< DataVector, Dim > &inertial_coords, const AnalyticSolutionOrData &solution_or_data, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, Dim > &shift)
 

Detailed Description

template<size_t Dim>
struct CurvedScalarWave::Initialization::InitializeEvolvedVariables< Dim >

Analytic initial data for scalar waves in curved spacetime.

Details

When evolving a scalar field propagating through curved spacetime, this mutator initializes the scalar field and spacetime variables using

  1. analytic solution(s) or data of the flat or curved scalar wave equation for the evolution variables
  2. solutions of the Einstein equations for the spacetime background.

If the scalar field initial data returns CurvedScalarWave tags, Ψ, Π and Φi will simply be forwarded from the initial data class. Alternatively, the scalar field initial data can be provided using any member class of ScalarWave::Solutions which return ScalarWave tags. In this case, Φi and Ψ will also be forwarded but Π will be adjusted to account for the curved background. Its definition comes from requiring it to be the future-directed time derivative of the scalar field in curved spacetime:

(1)Π:=naaΨ(2)=1α(βkΦktΨ),(3)=1α(βkΦk+Πflat),

where na is the unit normal to spatial slices of the spacetime foliation, and Πflat comes from the flat spacetime solution.

DataBox changes:


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