SpECTRE
v2024.09.29
|
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) |
Analytic initial data for scalar waves in curved spacetime.
When evolving a scalar field propagating through curved spacetime, this mutator initializes the scalar field and spacetime variables using
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: