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

An exact electrovacuum force-free solution of Maxwell's equations in the Schwarzschild spacetime by Wald [204]. More...

#include <ExactWald.hpp>

Classes

struct  MagneticFieldAmplitude
 

Public Types

using options = implementation defined
 

Public Member Functions

 ExactWald (const ExactWald &)=default
 
ExactWaldoperator= (const ExactWald &)=default
 
 ExactWald (ExactWald &&)=default
 
ExactWaldoperator= (ExactWald &&)=default
 
 ExactWald (double magnetic_field_amplitude)
 
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, const double t, tmpl::list< Tags... >) const
 Retrieve a collection of EM variables at (x, t)
 
template<typename Tag >
tuples::TaggedTuple< Tag > variables (const tnsr::I< DataVector, 3 > &x, double t, 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 ExactWald &lhs, const ExactWald &rhs)
 
auto variables (const tnsr::I< DataVector, 3 > &x, double t, tmpl::list< Tags::TildeE >) const -> tuples::TaggedTuple< Tags::TildeE >
 Retrieve the EM variables at (x,t).
 
auto variables (const tnsr::I< DataVector, 3 > &x, double t, 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, double t, tmpl::list< Tags::TildePsi >) -> tuples::TaggedTuple< Tags::TildePsi >
 Retrieve the EM variables at (x,t).
 
static auto variables (const tnsr::I< DataVector, 3 > &x, double t, tmpl::list< Tags::TildePhi >) -> tuples::TaggedTuple< Tags::TildePhi >
 Retrieve the EM variables at (x,t).
 
static auto variables (const tnsr::I< DataVector, 3 > &x, double t, tmpl::list< Tags::TildeQ >) -> tuples::TaggedTuple< Tags::TildeQ >
 Retrieve the EM variables at (x,t).
 

Detailed Description

An exact electrovacuum force-free solution of Maxwell's equations in the Schwarzschild spacetime by Wald [204].

The solution is given in terms of the electromagnetic 4-potential

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

where B0 is the vector potential amplitude, ϕμ=ϕ, tμ=t, and a is the (dimensionless) spin of the black hole. The case a=0 is force-free outside the horizon.

Note
This solution is not force-free inside the horizon; the condition EiBi=0 is still satisfied, but B2>E2 is not.

In the spherical Kerr-Schild coordinates, the only nonzero component of vector potential is

(2)Aϕ=B02r2sin2θ.

Computing magnetic fields,

(3)B~r=θAϕ=B0r2sinθcosθ(4)B~θ=rAϕ=B0rsin2θ(5)B~ϕ=0,

Transformation to the Cartesian coordinates gives

(6)B~x=0,B~y=0,B~z=B0.

Electric fields are given by

(7)Ei=Fiana=1α(Fi0Fijβj).

We omit the derivation and write out results below:

(8)E~x=2MB0yr2,E~y=2MB0xr2,E~z=0

Note that B~iγBi, E~iγEi, and γ=1+2M/r in the (Cartesian) Kerr-Schild coordinates. We use M=1 Schwarzschild black hole in the Kerr-Schild coordinates (see the documentation of gr::Solutions::KerrSchild).

Member Function Documentation

◆ get_clone()

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

Member Data Documentation

◆ help

constexpr Options::String ForceFree::Solutions::ExactWald::help
staticconstexpr
Initial value:
{
"Exact vacuum solution of Maxwell's equations in Schwarzschild BH "
"spacetime by Wald (1974)."}

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