SpECTRE
v2025.03.17
|
Analytic initial data for a pure spherical harmonic in three dimensions in a KerrSchild background. More...
#include <KerrSphericalHarmonic.hpp>
Classes | |
struct | Amplitude |
The amplitude of the scalar field. More... | |
struct | Mass |
The mass of the black hole. More... | |
struct | Mode |
The spherical harmonic mode of the scalar field. More... | |
struct | Radius |
The location of the scalar field. More... | |
struct | Spin |
The spin of the black hole. More... | |
struct | Width |
The width of the scalar field. More... | |
Public Types | |
using | options = implementation defined |
template<typename DataType , typename Frame = Frame::Inertial> | |
using | tags = implementation defined |
![]() | |
template<typename DataType > | |
using | tags = implementation defined |
Public Member Functions | |
KerrSphericalHarmonic (const KerrSphericalHarmonic &)=default | |
KerrSphericalHarmonic & | operator= (const KerrSphericalHarmonic &)=default |
KerrSphericalHarmonic (KerrSphericalHarmonic &&)=default | |
KerrSphericalHarmonic & | operator= (KerrSphericalHarmonic &&)=default |
KerrSphericalHarmonic (double mass, const std::array< double, 3 > &dimensionless_spin, double amplitude, double radius, double width, std::pair< size_t, int > mode) | |
auto | get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override |
template<typename DataType , typename... Tags> | |
tuples::TaggedTuple< Tags... > | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tags... >) const |
Retrieve a collection of scalar variables at x | |
template<typename DataType , typename Tag > | |
tuples::TaggedTuple< Tag > | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tag >) const |
Retrieve the metric variables. | |
void | pup (PUP::er &) override |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< CurvedScalarWave::Tags::Psi >) const -> tuples::TaggedTuple< CurvedScalarWave::Tags::Psi > |
Retrieve scalar variable at x | |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< CurvedScalarWave::Tags::Phi< 3_st > >) const -> tuples::TaggedTuple< CurvedScalarWave::Tags::Phi< 3_st > > |
Retrieve scalar variable at x | |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< CurvedScalarWave::Tags::Pi >) const -> tuples::TaggedTuple< CurvedScalarWave::Tags::Pi > |
Retrieve scalar variable at x | |
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_st |
Protected Attributes | |
double | mass_ = std::numeric_limits<double>::signaling_NaN() |
std::array< double, volume_dim > | dimensionless_spin_ |
double | amplitude_ = std::numeric_limits<double>::signaling_NaN() |
double | radius_ {std::numeric_limits<double>::signaling_NaN()} |
double | width_sq_ {std::numeric_limits<double>::signaling_NaN()} |
std::pair< size_t, int > | mode_ |
gr::Solutions::KerrSchild | background_spacetime_ {} |
Friends | |
bool | operator== (const KerrSphericalHarmonic &lhs, const KerrSphericalHarmonic &rhs) |
Analytic initial data for a pure spherical harmonic in three dimensions in a KerrSchild background.
The initial data is taken from [176] , Eqs. 4.1–4.3, and sets the evolved variables of the scalar wave as follows:
where
When evolved, the scalar field
|
overridevirtual |
Implements evolution::initial_data::InitialData.
|
protected |
|
staticconstexpr |
|
protected |