SpECTRE  v2024.09.29
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 = tmpl::list< curved_variables_tag >
 
using argument_tags = tmpl::list<::Tags::Time, domain::Tags::Coordinates< Dim, Frame::Inertial >, ::Tags::AnalyticSolutionOrData, gr::Tags::Lapse< DataVector >, gr::Tags::Shift< DataVector, Dim > >
 

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, \(\Psi\), \(\Pi\) and \(\Phi_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, \(\Phi_i\) and \(\Psi\) will also be forwarded but \(\Pi\) 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:

\begin{align} \Pi :=& -n^a \partial_a \Psi \\ =& \frac{1}{\alpha}\left(\beta^k \Phi_k - {\partial_t\Psi}\right),\\ =& \frac{1}{\alpha}\left(\beta^k \Phi_k + {\Pi}_{\mathrm{flat}}\right), \end{align}

where \(n^a\) is the unit normal to spatial slices of the spacetime foliation, and \({\Pi}_{\mathrm{flat}}\) comes from the flat spacetime solution.

DataBox changes:


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