SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ForceFree::AnalyticData::MagnetosphericWald Class Reference

The magnetospheric Wald problem proposed in . More...

#include <MagnetosphericWald.hpp>

Classes

struct  Spin
 

Public Types

using options = implementation defined
 

Public Member Functions

 MagnetosphericWald (const MagnetosphericWald &)=default
 
MagnetosphericWaldoperator= (const MagnetosphericWald &)=default
 
 MagnetosphericWald (MagnetosphericWald &&)=default
 
MagnetosphericWaldoperator= (MagnetosphericWald &&)=default
 
 MagnetosphericWald (double spin, const Options::Context &context={})
 
auto get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override
 
void pup (PUP::er &p) override
 
template<typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tags... >) const
 Retrieve a collection of EM variables at position x.
 
template<typename Tag >
tuples::TaggedTuple< Tag > variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tag >) const
 Retrieve the metric variables.
 
virtual auto get_clone () const -> std::unique_ptr< InitialData >=0
 

Static Public Attributes

static constexpr Options::String help
 

Friends

bool operator== (const MagnetosphericWald &lhs, const MagnetosphericWald &rhs)
 
auto variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tags::TildeB >) const -> tuples::TaggedTuple< Tags::TildeB >
 Retrieve the EM variables at (x,t).
 
static auto variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tags::TildeE >) -> tuples::TaggedTuple< Tags::TildeE >
 Retrieve the EM variables at (x,t).
 
static auto variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tags::TildePsi >) -> tuples::TaggedTuple< Tags::TildePsi >
 Retrieve the EM variables at (x,t).
 
static auto variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tags::TildePhi >) -> tuples::TaggedTuple< Tags::TildePhi >
 Retrieve the EM variables at (x,t).
 
static auto variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tags::TildeQ >) -> tuples::TaggedTuple< Tags::TildeQ >
 Retrieve the EM variables at (x,t).
 

Detailed Description

The magnetospheric Wald problem proposed in .

This is an initial value problem that evolves the magnetosphere of a rotating black hole. The initial condition is given as same as the exact Wald solution (see also documentation of ForceFree::Solutions::ExactWald)

(1)Aμ=B02(ϕμ+2atμ),

but electric field is set to zero at t=0.

In the cartesian projection of the spherical Kerr-Schild coordinates (which we use in the code for representing tensors), initial magnetic fields is given as

(2)B~x=aB0z[(axry){1r4+2Mr(r2a2)(r4+a2z2)2}+aMrx{r2z2r4(r4+a2z2)4(r2+z2)(r4+a2z2)2}](3)B~y=aB0z[(rx+ay){1r4+2Mr(r2a2)(r4+a2z2)2}+aMry{r2z2r4(r4+a2z2)4(r2+z2)(r4+a2z2)2}](4)B~z=B0[1+a2z2r4+Ma2r3{1z2(a2+z2)(5r4+a2z2)(r4+a2z2)2}].

where M and a are mass and (dimensionless) spin of the Kerr black hole, B0 is the amplitude of magnetic field, and r is the radial coordinate defined in the spherical Kerr-Schild coordinate system (see the documentation of gr::Solutions::SphericalKerrSchild). All other variables are set to zero at t=0.

There is no known exact solution to this problem, but numerical simulations report that the system converges to a steady state with an equatorial current sheet inside the ergosphere.

Note
We set M=1 and B0=1 in the initial data to fix scales.

Member Function Documentation

◆ get_clone()

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

Member Data Documentation

◆ help

constexpr Options::String ForceFree::AnalyticData::MagnetosphericWald::help
staticconstexpr
Initial value:
{
"Magnetospheric Wald initial value problem"}

The documentation for this class was generated from the following file: