SpECTRE  2021.08.02
grmhd::AnalyticData::OrszagTangVortex Class Reference

Analytic initial data for the relativistic Orszag-Tang vortex. More...

#include <OrszagTangVortex.hpp>

Public Types

using equation_of_state_type = EquationsOfState::IdealFluid< true >
 
using options = tmpl::list<>
 

Public Member Functions

template<typename DataType , typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tags... >) const noexcept
 Retrieve a collection of hydro variables at x
 
template<typename DataType , typename Tag , Requires< not tmpl::list_contains_v< hydro::grmhd_tags< DataType >, Tag > > = nullptr>
tuples::TaggedTuple< Tag > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tag >) const noexcept
 Retrieve the metric variables.
 
const equation_of_state_typeequation_of_state () const noexcept
 
void pup (PUP::er &) noexcept
 
template<typename DataType >
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::RestMassDensity< DataType > >) const noexcept -> tuples::TaggedTuple< hydro::Tags::RestMassDensity< DataType > >
 Retrieve hydro variable at x
 
template<typename DataType >
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::SpecificInternalEnergy< DataType > >) const noexcept -> tuples::TaggedTuple< hydro::Tags::SpecificInternalEnergy< DataType > >
 Retrieve hydro variable at x
 
template<typename DataType >
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::Pressure< DataType > >) const noexcept -> tuples::TaggedTuple< hydro::Tags::Pressure< DataType > >
 Retrieve hydro variable at x
 
template<typename DataType >
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::SpatialVelocity< DataType, 3 > >) const noexcept -> tuples::TaggedTuple< hydro::Tags::SpatialVelocity< DataType, 3 > >
 Retrieve hydro variable at x
 
template<typename DataType >
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::MagneticField< DataType, 3 > >) const noexcept -> tuples::TaggedTuple< hydro::Tags::MagneticField< DataType, 3 > >
 Retrieve hydro variable at x
 
template<typename DataType >
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::DivergenceCleaningField< DataType > >) const noexcept -> tuples::TaggedTuple< hydro::Tags::DivergenceCleaningField< DataType > >
 Retrieve hydro variable at x
 
template<typename DataType >
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::LorentzFactor< DataType > >) const noexcept -> tuples::TaggedTuple< hydro::Tags::LorentzFactor< DataType > >
 Retrieve hydro variable at x
 
template<typename DataType >
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::SpecificEnthalpy< DataType > >) const noexcept -> tuples::TaggedTuple< hydro::Tags::SpecificEnthalpy< DataType > >
 Retrieve hydro variable at x
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

Analytic initial data for the relativistic Orszag-Tang vortex.

The relativistic version of the Orszag-Tang vortex is a 2-dimensional test case for relativistic MHD systems (see, e.g., [12]). It describes the flow of an ideal fluid with adiabatic index \(5/3\). The initial conditions (and hence the states at later times) are periodic in both \(x\) and \(y\) with period 1. The initial conditions are:

\begin{align*} \rho &= \frac{25}{36 \pi} \\ p &= \frac{5}{12 \pi} \\ v_x &= -\frac{1}{2} \sin(2 \pi y) \\ v_y &= \frac{1}{2} \sin(2 \pi x) \\ B_x &= -\frac{1}{\sqrt{4 \pi}} \sin(2 \pi y) \\ B_y &= \frac{1}{\sqrt{4 \pi}} \sin(4 \pi x) \end{align*}

with \(\rho\) the rest mass density, \(p\) the pressure, \(v_i\) the spatial velocity, and \(B_i\) the magnetic field.

Note
We do not currently support 2-dimensional RMHD, so this class provides 3-dimensional data with no \(z\)-dependence.
Note
There are multiple errors in the description of this test problem in the original SpECTRE paper [64] and there is a sign error in the velocity in [12]. Despite these errors, the actual tests performed for those papers matched the standard problem as presented here.

Member Data Documentation

◆ help

constexpr Options::String grmhd::AnalyticData::OrszagTangVortex::help
staticconstexpr
Initial value:
= {
"The relativistic Orszag-Tang vortex"}