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

An electromagnetic wave propagating into +x direction in flat spacetime. More...

#include <FastWave.hpp>

Public Types

using options = implementation defined
 

Public Member Functions

 FastWave (const FastWave &)=default
 
FastWaveoperator= (const FastWave &)=default
 
 FastWave (FastWave &&)=default
 
FastWaveoperator= (FastWave &&)=default
 
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 Member Functions

static auto variables (const tnsr::I< DataVector, 3 > &x, double t, tmpl::list< Tags::TildeE >) -> tuples::TaggedTuple< Tags::TildeE >
 Retrieve the EM variables at (x,t).
 
static auto variables (const tnsr::I< DataVector, 3 > &x, double t, tmpl::list< Tags::TildeB >) -> 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).
 

Static Public Attributes

static constexpr Options::String help
 

Friends

bool operator== (const FastWave &lhs, const FastWave &rhs)
 
bool operator!= (const FastWave &lhs, const FastWave &rhs)
 

Detailed Description

An electromagnetic wave propagating into +x direction in flat spacetime.

The initial data is given by

Bx=1.0,By={1.0if x<0.11.5x+0.85if 0.1x0.10.7if x>0.1},Bz=0,Ex=Ey=0,Ez=By.

The electric and magnetic fields are advected to +x direction with the speed of light ( λ=+1), and the solution at (x,t) is

Ei(x,y,z,t)=Ei(xt,y,z,0),Bi(x,y,z,t)=Bi(xt,y,z,0).

Electric charge density q is zero everywhere.

Member Function Documentation

◆ get_clone()

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

Member Data Documentation

◆ help

constexpr Options::String ForceFree::Solutions::FastWave::help
staticconstexpr
Initial value:
{
"A fast mode wave propagating +x direction in flat spacetime"}

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