|
|
| ScalarWaveGr (BackgroundGrData background, ScalarFieldData scalar_field) noexcept |
| |
|
| ScalarWaveGr (CkMigrateMessage *) noexcept |
| |
|
| ScalarWaveGr (const ScalarWaveGr &)=delete |
| |
|
ScalarWaveGr & | operator= (const ScalarWaveGr &)=delete |
| |
|
| ScalarWaveGr (ScalarWaveGr &&) noexcept=default |
| |
|
ScalarWaveGr & | operator= (ScalarWaveGr &&) noexcept=default |
| |
|
template<typename DataType , typename Tag , Requires< tmpl::list_contains_v< spacetime_tags< DataType >, Tag > > = nullptr> |
| tuples::TaggedTuple< Tag > | variables (const tnsr::I< DataType, volume_dim > &x, tmpl::list< Tag >) const noexcept |
| | Retrieve spacetime variables.
|
| |
|
tuples::TaggedTuple< Pi > | variables (const tnsr::I< DataVector, volume_dim > &x, tmpl::list< Pi >) const noexcept |
| | Retrieve scalar wave variables.
|
| |
|
tuples::TaggedTuple< Phi< volume_dim > > | variables (const tnsr::I< DataVector, volume_dim > &x, tmpl::list< Phi< volume_dim > >) const noexcept |
| |
|
tuples::TaggedTuple< Psi > | variables (const tnsr::I< DataVector, volume_dim > &x, tmpl::list< Psi >) const noexcept |
| |
|
template<typename DataType , typename... Tags> |
| tuples::TaggedTuple< Tags... > | variables (const tnsr::I< DataType, volume_dim > &x, tmpl::list< Tags... >) const noexcept |
| |
|
void | pup (PUP::er &p) noexcept |
| |
template<typename ScalarFieldData, typename BackgroundGrData>
class CurvedScalarWave::AnalyticData::ScalarWaveGr< ScalarFieldData, BackgroundGrData >
Analytic initial data for scalar waves in curved spacetime.
Details
When evolving a scalar field propagating through curved spacetime, this class provides a method to initialize the scalar-field and spacetime variables using analytic solution(s) of the flat-space scalar-wave equation and of the Einstein equations. Note that the coordinate profile of the scalar field \(\Psi\) in curved spacetime being the same as \(\Psi\) in flat spacetime is our primary identification, allowing it to be initialized using any member class of ScalarWave::Solutions. We initialize \(\Phi_i\) in curved spacetime to the coordinate spatial derivative of \(\Psi\) in flat spacetime. The definition of \(\Pi\) 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.