|
|
| StandingWave (std::array< double, Dim > wave_vector, std::array< double, Dim > center, double amplitude) |
|
| StandingWave (const StandingWave &)=default |
|
StandingWave & | operator= (const StandingWave &)=default |
|
| StandingWave (StandingWave &&)=default |
|
StandingWave & | operator= (StandingWave &&)=default |
| auto | get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override |
|
tuples::TaggedTuple< Tags::Psi, Tags::Pi, Tags::Phi< Dim > > | variables (const tnsr::I< DataVector, Dim > &x, double t, tmpl::list< Tags::Psi, Tags::Pi, Tags::Phi< Dim > >) const |
| | Retrieve the evolution variables at time t and spatial coordinates x
|
|
tuples::TaggedTuple<::Tags::dt< Tags::Psi >, ::Tags::dt< Tags::Pi >, ::Tags::dt< Tags::Phi< Dim > > > | variables (const tnsr::I< DataVector, Dim > &x, double t, tmpl::list<::Tags::dt< Tags::Psi >, ::Tags::dt< Tags::Pi >, ::Tags::dt< Tags::Phi< Dim > > >) const |
| | Retrieve the time derivatives of the evolution variables.
|
|
void | pup (PUP::er &p) override |
template<size_t Dim>
class ScalarWave::Solutions::StandingWave< Dim >
A standing wave solution to the Euclidean wave equation.
The solution is given by \(\Psi(\vec{x},t) = A \sin(\vec{k} \cdot (\vec{x} - \vec{x_0}))
\cos(\omega t)\) with the wave vector \(\vec{k}\), frequency \(\omega = ||\vec{k}||\), amplitude \(A\), and center \(\vec{x_0}\). The first-order variables follow the ScalarWave conventions \(\Pi = -\partial_t \Psi\) and \(\Phi_i = \partial_i \Psi\).
At \(t = 0\) this gives \(\Pi = 0\), meaning the initial data decomposes into equal left-moving and right-moving components.
- Template Parameters
-
| Dim | the spatial dimension of the solution |