SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
NewtonianEuler::AnalyticData::ShuOsherTube Class Reference

Initial data for the Shu-Osher oscillatory shock tube . More...

#include <ShuOsherTube.hpp>

Classes

struct  Epsilon
 
struct  JumpPosition
 Initial postition of the discontinuity. More...
 
struct  Lambda
 
struct  LeftMassDensity
 
struct  LeftPressure
 
struct  LeftVelocity
 
struct  RightPressure
 
struct  RightVelocity
 

Public Types

using equation_of_state_type = EquationsOfState::IdealFluid< false >
 
using options = implementation defined
 

Public Member Functions

 ShuOsherTube (double jump_position, double mass_density_l, double velocity_l, double pressure_l, double velocity_r, double pressure_r, double epsilon, double lambda)
 
 ShuOsherTube (const ShuOsherTube &)=default
 
ShuOsherTubeoperator= (const ShuOsherTube &)=default
 
 ShuOsherTube (ShuOsherTube &&)=default
 
ShuOsherTubeoperator= (ShuOsherTube &&)=default
 
auto get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override
 
template<typename DataType , typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, 1, Frame::Inertial > &x, tmpl::list< Tags... >) const
 
const EquationsOfState::IdealFluid< false > & equation_of_state () const
 
void pup (PUP::er &p) override
 
virtual auto get_clone () const -> std::unique_ptr< InitialData >=0
 

Static Public Attributes

static constexpr Options::String help
 

Friends

bool operator== (const ShuOsherTube &lhs, const ShuOsherTube &rhs)
 

Detailed Description

Initial data for the Shu-Osher oscillatory shock tube .

The general initial data is given by:

{ρ,vx,p}={{ρL,vLx,pL}ifx<Δ{1+ϵsin(λx),vRx,pR}ifxΔ

with the adiabatic index being 1.4.

With the standard parameters given below, this is a Mach-3 shock moving into a sinusoidal density profile.

{ρ,vx,p}={{3.857143,2.629369,10.33333}ifx<4{1+0.2sin(5x),0,1}ifx4

With these values the usual final time is 1.8.

Member Function Documentation

◆ get_clone()

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

Member Data Documentation

◆ help

constexpr Options::String NewtonianEuler::AnalyticData::ShuOsherTube::help
staticconstexpr
Initial value:
= {
"1D Shu-Osher oscillatory shock tube."}

The documentation for this class was generated from the following file: