SpECTRE  v2024.04.12
ForceFree::AnalyticData::FfeBreakdown Class Reference

A test problem designed to show that the system initially satisfying the force-free conditions may violate those in a later time. More...

#include <FfeBreakdown.hpp>

Public Types

using options = tmpl::list<>
 

Public Member Functions

 FfeBreakdown (const FfeBreakdown &)=default
 
FfeBreakdownoperator= (const FfeBreakdown &)=default
 
 FfeBreakdown (FfeBreakdown &&)=default
 
FfeBreakdownoperator= (FfeBreakdown &&)=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, 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 Member Functions

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

Static Public Attributes

static constexpr Options::String help {"A FFE breakdown problem"}
 

Friends

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

Detailed Description

A test problem designed to show that the system initially satisfying the force-free conditions may violate those in a later time.

This test was originally performed by [105]. We use the initial data with a linear transition layer as [62].

\begin{align*} B^x & = 1.0 , \\ B^y & = B^z = \left\{\begin{array}{ll} 1.0 & \text{if } x < -0.1 \\ -10x & \text{if } -0.1 \leq x \leq 0.1 \\ -1.0 & \text{if } x > 0.1 \\ \end{array}\right\}, \\ E^x & = 0.0 , \\ E^y & = 0.5 , \\ E^z & = -0.5 . \end{align*}

As time progresses, \(B^2-E^2\) approaches to zero.

Member Function Documentation

◆ get_clone()

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

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