SpECTRE  v2026.09.05
Loading...
Searching...
No Matches
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 Types inherited from grmhd::AnalyticDataBase
template<typename DataType>
using tags

Public Member Functions

 OrszagTangVortex (const OrszagTangVortex &)=default
OrszagTangVortex & operator= (const OrszagTangVortex &)=default
 OrszagTangVortex (OrszagTangVortex &&)=default
OrszagTangVortex & operator= (OrszagTangVortex &&)=default
auto get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override
template<typename DataType, typename Tag1, typename Tag2, typename... Tags>
tuples::TaggedTuple< Tag1, Tag2, Tags... > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tag1, Tag2, Tags... >) const
 Retrieve a collection of hydrodynamic variables at position x.
template<typename DataType, typename Tag, Requires< not tmpl::list_contains_v< tmpl::push_back< hydro::grmhd_tags< DataType >, hydro::Tags::SpecificEnthalpy< DataType > >, Tag > > = nullptr>
tuples::TaggedTuple< Tag > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tag >) const
 Retrieve the metric variables.
const equation_of_state_type & equation_of_state () const
void pup (PUP::er &) override
template<typename DataType>
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::RestMassDensity< DataType > >) const -> 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::ElectronFraction< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::ElectronFraction< DataType > >
 Retrieve hydro variable at x
template<typename DataType>
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::SpecificInternalEnergy< DataType > >) const -> 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 -> 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 -> 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 -> 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 -> 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 -> 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 -> tuples::TaggedTuple< hydro::Tags::SpecificEnthalpy< DataType > >
 Retrieve hydro variable at x
template<typename DataType>
auto variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > >
 Retrieve hydro variable at x
Public Member Functions inherited from evolution::initial_data::InitialData
virtual const InitialData & unwrap () const
 Unwrap wrapper types (e.g. WithNoise, which wraps analytic initial data and adds random noise) to reach the underlying analytic solution or data.
Public Member Functions inherited from hydro::TemperatureInitialization< OrszagTangVortex >
auto variables (const tnsr::I< DataType, Dim > &x, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > >

Static Public Attributes

static constexpr Options::String help
Static Public Attributes inherited from grmhd::AnalyticDataBase
static constexpr size_t volume_dim = 3_st

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., [18]). 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 [120] and there is a sign error in the velocity in [18]. Despite these errors, the actual tests performed for those papers matched the standard problem as presented here.

Member Function Documentation

◆ get_clone()

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

Member Data Documentation

◆ help

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

The documentation for this class was generated from the following file:
  • src/PointwiseFunctions/AnalyticData/GrMhd/OrszagTangVortex.hpp