SpECTRE
v2024.04.12
|
An electromagnetic wave propagating into \(+x\) direction in flat spacetime. More...
#include <FastWave.hpp>
Public Types | |
using | options = tmpl::list<> |
Public Member Functions | |
FastWave (const FastWave &)=default | |
FastWave & | operator= (const FastWave &)=default |
FastWave (FastWave &&)=default | |
FastWave & | operator= (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) |
An electromagnetic wave propagating into \(+x\) direction in flat spacetime.
The initial data is given by [105]
\begin{align*} B^x & = 1.0 , \\ B^y & = \left\{\begin{array}{ll} 1.0 & \text{if } x < -0.1 \\ -1.5x + 0.85 & \text{if } -0.1 \leq x \leq 0.1 \\ 0.7 & \text{if } x > 0.1 \\ \end{array}\right\}, \\ B^z & = 0 , \\ E^x & = E^y = 0 , \\ E^z & = -B^y . \end{align*}
The electric and magnetic fields are advected to \(+x\) direction with the speed of light ( \(\lambda=+1\)), and the solution at \((\vec{x},t)\) is
\begin{align*} E^i(x,y,z,t) & = E^i(x-t,y,z,0) , \\ B^i(x,y,z,t) & = B^i(x-t,y,z,0) . \end{align*}
Electric charge density \(q\) is zero everywhere.
|
overridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |