SpECTRE
v2025.03.17
|
Analytic initial data for a Kelvin-Helmholtz instability simulation. More...
#include <KhInstability.hpp>
Classes | |
struct | AdiabaticIndex |
The adiabatic index of the fluid. More... | |
struct | BackgroundDensity |
The mass density outside of the strip. More... | |
struct | BackgroundVelocity |
The velocity along | |
struct | MagneticField |
The uniform magnetic field. More... | |
struct | PerturbAmplitude |
The amplitude of the perturbation. More... | |
struct | PerturbWidth |
The characteristic length for the width of the perturbation. More... | |
struct | Pressure |
The initial (constant) pressure of the fluid. More... | |
struct | StripBimedianHeight |
The vertical coordinate of the horizontal bimedian of the strip. More... | |
struct | StripDensity |
The mass density in the strip. More... | |
struct | StripThickness |
The thickness of the strip. More... | |
struct | StripVelocity |
The velocity along | |
Public Types | |
using | equation_of_state_type = EquationsOfState::IdealFluid< true > |
using | options = implementation defined |
![]() | |
template<typename DataType > | |
using | tags = implementation defined |
Public Member Functions | |
KhInstability (const KhInstability &)=default | |
KhInstability & | operator= (const KhInstability &)=default |
KhInstability (KhInstability &&)=default | |
KhInstability & | operator= (KhInstability &&)=default |
KhInstability (double adiabatic_index, double strip_bimedian_height, double strip_thickness, double strip_density, double strip_velocity, double background_density, double background_velocity, double pressure, double perturbation_amplitude, double perturbation_width, const 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. | |
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 KhInstability &lhs, const KhInstability &rhs) |
bool | operator!= (const KhInstability &lhs, const KhInstability &rhs) |
Analytic initial data for a Kelvin-Helmholtz instability simulation.
This is similar to the data from Section 4.7 of [18]. The initial state consists of a horizontal strip of mass density
and
where
whose net effect is to perturb the horizontal boundaries of the strip periodically along the
A uniform magnetic field can be added.
|
overridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |