SpECTRE  v2026.09.05
Loading...
Searching...
No Matches
CurvedScalarWave::AnalyticData::PureSphericalHarmonic Class Reference

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

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
Public Member Functions inherited from evolution::initial_data::InitialData
virtual const InitialData & unwrap () const
 Unwrap wrapper types (e.g. WithNoise, which wraps analytic initial data and adds random noise) to reach the underlying analytic solution or data.

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)

Detailed Description

Analytic initial data for a pure spherical harmonic in three dimensions.

Details

The initial data is taken from [188] , 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.

Member Typedef Documentation

◆ tags

using CurvedScalarWave::AnalyticData::PureSphericalHarmonic::tags
Initial value:
Auxiliary variable which is analytically the spatial derivative of the scalar field.
Definition Tags.hpp:60
The conjugate momentum of the scalar field.
Definition Tags.hpp:49
The scalar field.
Definition Tags.hpp:30

Member Function Documentation

◆ get_clone()

auto CurvedScalarWave::AnalyticData::PureSphericalHarmonic::get_clone ( ) const -> std::unique_ptr< evolution::initial_data::InitialData >
overridevirtual

Member Data Documentation

◆ help

Options::String CurvedScalarWave::AnalyticData::PureSphericalHarmonic::help
staticconstexpr
Initial value:
= {
"Initial data for a pure spherical harmonic mode truncated by a circular "
"Gaussian window funtion. The expression is taken from Scheel(2003), "
"equations 4.1-4.3."}

The documentation for this class was generated from the following file:
  • src/PointwiseFunctions/AnalyticData/CurvedWaveEquation/PureSphericalHarmonic.hpp