SpECTRE  v2026.09.05
Loading...
Searching...
No Matches
grmhd::AnalyticData::SlabJet Class Reference

Analytic initial data for a slab jet. More...

#include <SlabJet.hpp>

Classes

struct  AdiabaticIndex
struct  AmbientDensity
struct  AmbientElectronFraction
struct  AmbientPressure
struct  InletRadius
struct  JetDensity
struct  JetElectronFraction
struct  JetPressure
struct  JetVelocity
struct  MagneticField

Public Types

using equation_of_state_type = EquationsOfState::IdealFluid<true>
using options
Public Types inherited from grmhd::AnalyticDataBase
template<typename DataType>
using tags

Public Member Functions

 SlabJet (const SlabJet &)=default
SlabJet & operator= (const SlabJet &)=default
 SlabJet (SlabJet &&)=default
SlabJet & operator= (SlabJet &&)=default
 SlabJet (double adiabatic_index, double ambient_density, double ambient_pressure, double ambient_electron_fraction, double jet_density, double jet_pressure, double jet_electron_fraction, std::array< double, 3 > jet_velocity, double inlet_radius, std::array< double, 3 > magnetic_field)
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< tmpl::list_contains_v< gr::analytic_solution_tags< 3, DataType >, Tag > > = nullptr>
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< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > >
 Retrieve the GRMHD variables at a given position.
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< SlabJet >
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

Friends

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

Detailed Description

Analytic initial data for a slab jet.

This test problem is described in [121], Section 7.4 and Fig. 13. It involves a high Lorentz factor jet injected into an ambient fluid with an initially uniform magnetic field.

The parameters used in [121] are:

AdiabaticIndex: 4. / 3.
AmbientDensity: 10.
AmbientPressure: 0.01
JetDensity: 0.1
JetPressure: 0.01
# u^i = [20, 0, 0] or W = sqrt(401)
JetVelocity: [0.9987523388778445, 0., 0.]
InletRadius: 1.
MagneticField: [1., 0., 0.]

In [121] an artificial dissipation of \(\eta_u=0.2\) and \(\eta_b=0.15\) is used, which we don't use here (yet).

Note
The inlet is currently modeled as the region of the domain where \(x <= 0\) and \(|y| <= \mathrm{inlet_radius}\). Since this class only sets the initial data, no fluid will flow into the domain during the evolution. This has to be modeled as a boundary condition and is not implemented yet.

Member Typedef Documentation

◆ options

using grmhd::AnalyticData::SlabJet::options
Initial value:
The adiabatic index of the ideal fluid.
Definition BlastWave.hpp:120
The x,y,z components of the uniform magnetic field threading the matter.
Definition BlastWave.hpp:114

Member Function Documentation

◆ get_clone()

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

Member Data Documentation

◆ help

Options::String grmhd::AnalyticData::SlabJet::help
staticconstexpr
Initial value:
= {
"Analytic initial data for a jet test."}

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