SpECTRE
v2025.03.17
|
Initial conditions for relativistic MHD Riemann problems. More...
#include <RiemannProblem.hpp>
Classes | |
struct | AdiabaticIndex |
struct | Lapse |
struct | LeftMagneticField |
struct | LeftPressure |
struct | LeftRestMassDensity |
struct | LeftSpatialVelocity |
struct | RightMagneticField |
struct | RightPressure |
struct | RightRestMassDensity |
struct | RightSpatialVelocity |
struct | ShiftX |
Public Types | |
using | equation_of_state_type = EquationsOfState::IdealFluid< true > |
using | options = implementation defined |
![]() | |
template<typename DataType > | |
using | tags = implementation defined |
Public Member Functions | |
RiemannProblem (const RiemannProblem &)=default | |
RiemannProblem & | operator= (const RiemannProblem &)=default |
RiemannProblem (RiemannProblem &&)=default | |
RiemannProblem & | operator= (RiemannProblem &&)=default |
RiemannProblem (double adiabatic_index, double left_rest_mass_density, double right_rest_mass_density, double left_pressure, double right_pressure, const std::array< double, 3 > &left_spatial_velocity, const std::array< double, 3 > &right_spatial_velocity, const std::array< double, 3 > &left_magnetic_field, const std::array< double, 3 > &right_magnetic_field, double lapse, double shift) | |
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 > | |
tuples::TaggedTuple< Tag > | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tag >) const |
Retrieve the metric variables. | |
const EquationsOfState::IdealFluid< true > & | 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 the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< gr::Tags::Lapse< DataType > >) const -> tuples::TaggedTuple< gr::Tags::Lapse< DataType > > |
Retrieve the GRMHD variables at a given position. | |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< gr::Tags::Shift< DataType, 3 > >) const -> tuples::TaggedTuple< gr::Tags::Shift< DataType, 3 > > |
Retrieve the GRMHD variables at a given position. | |
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 the GRMHD variables at a given position. | |
virtual auto | get_clone () const -> std::unique_ptr< InitialData >=0 |
![]() | |
auto | variables (const tnsr::I< DataType, Dim > &x, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > > |
auto | variables (const tnsr::I< DataType, Dim > &x, const double t, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > > |
auto | variables (ExtraVars &extra_variables, const tnsr::I< DataType, Dim > &x, Args &... extra_args, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > > |
Static Public Attributes | |
static constexpr Options::String | help |
![]() | |
static constexpr size_t | volume_dim = 3_st |
Friends | |
bool | operator== (const RiemannProblem &lhs, const RiemannProblem &rhs) |
bool | operator!= (const RiemannProblem &lhs, const RiemannProblem &rhs) |
Initial conditions for relativistic MHD Riemann problems.
The standard problems were first collected in [10]. A complete Riemann solver for the RMHD equations is presented in [83] and can be downloaded from https://www.brunogiacomazzo.org/?page_id=395
The domain is from
While the problems were originally run in Minkowski space, changing the lapse
Below are the initial conditions for the 5 different Balsara Riemann problems. Please note that RP5 has a different final time than the rest, and that RP1 has a different adiabatic index than the rest.
RP1:
RP2:
RP3:
RP4:
RP5:
|
overridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |