|
SpECTRE
v2025.08.19
|
Analytic initial data for a pure spherical harmonic in three dimensions. More...
#include <PureSphericalHarmonic.hpp>
Classes | |
| struct | Mode |
| struct | Radius |
| struct | Width |
Public Types | |
| using | options = tmpl::list< Radius, Width, Mode > |
| using | tags = tmpl::list< CurvedScalarWave::Tags::Psi, CurvedScalarWave::Tags::Pi, CurvedScalarWave::Tags::Phi< 3 > > |
Public Member Functions | |
| PureSphericalHarmonic (double radius, double width, std::pair< size_t, int > mode, const Options::Context &context={}) | |
| PureSphericalHarmonic (const PureSphericalHarmonic &)=default | |
| PureSphericalHarmonic & | operator= (const PureSphericalHarmonic &)=default |
| PureSphericalHarmonic (PureSphericalHarmonic &&)=default | |
| PureSphericalHarmonic & | operator= (PureSphericalHarmonic &&)=default |
| auto | get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override |
| tuples::TaggedTuple< CurvedScalarWave::Tags::Psi, CurvedScalarWave::Tags::Pi, CurvedScalarWave::Tags::Phi< 3 > > | variables (const tnsr::I< DataVector, 3 > &x, tags) const |
Retrieve the evolution variables at spatial coordinates x | |
| void | pup (PUP::er &) override |
| virtual auto | get_clone () const -> std::unique_ptr< InitialData >=0 |
Static Public Attributes | |
| static constexpr Options::String | help |
| static constexpr size_t | volume_dim = 3 |
Friends | |
| bool | operator== (const PureSphericalHarmonic &lhs, const PureSphericalHarmonic &rhs) |
| bool | operator!= (const PureSphericalHarmonic &lhs, const PureSphericalHarmonic &rhs) |
Analytic initial data for a pure spherical harmonic in three dimensions.
The initial data is taken from [182] , Eqs. 4.1–4.3, and sets the evolved variables of the scalar wave as follows:
\begin{align} \Psi &= 0 \\ \Phi_i &= 0 \\ \Pi &= \Pi_0(r, \theta, \phi) = e^{- (r - r_0)^2 / w^2} Y_{lm}(\theta, \phi), \end{align}
where \(r_0\) is the radius of the profile and \(w\) is its width. This describes a pure spherical harmonic mode \(Y_{lm}(\theta, \phi)\) truncated by a circular Gaussian window function.
When evolved, the scalar field \(\Phi\) will briefly build up around the radius \(r_0\) and then disperse. This can be used to study the ringdown behavior and late-time tails in different background spacetimes.
|
overridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |