SpECTRE  2021.08.02
NewtonianEuler::AnalyticData::ShuOsherTube Class Reference

Initial data for the Shu-Osher oscillatory shock tube [97]. 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 source_term_type = Sources::NoSource
 
using options = tmpl::list< JumpPosition, LeftMassDensity, LeftVelocity, LeftPressure, RightVelocity, RightPressure, Epsilon, Lambda >
 

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) noexcept
 
 ShuOsherTube (const ShuOsherTube &)=delete
 
ShuOsherTubeoperator= (const ShuOsherTube &)=delete
 
 ShuOsherTube (ShuOsherTube &&) noexcept=default
 
ShuOsherTubeoperator= (ShuOsherTube &&) noexcept=default
 
template<typename DataType , typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, 1, Frame::Inertial > &x, tmpl::list< Tags... >) const noexcept
 
const EquationsOfState::IdealFluid< false > & equation_of_state () const noexcept
 
void pup (PUP::er &p) noexcept
 

Static Public Attributes

static constexpr Options::String help
 

Friends

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

Detailed Description

Initial data for the Shu-Osher oscillatory shock tube [97].

The general initial data is given by:

\begin{align*} \{\rho,v^x,p\}= \left\{ \begin{array}{ll} \left\{\rho_L, v^x_L, p_L\right\} &\mathrm{if} \;\;\; x<\Delta \\ \left\{1+\epsilon\sin(\lambda x), v^x_R, p_R\right\} &\mathrm{if} \;\;\; x\ge \Delta \end{array}\right. \end{align*}

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.

\begin{align*} \{\rho,v^x,p\}= \left\{ \begin{array}{ll} \left\{3.857143, 2.629369, 10.33333\right\} &\mathrm{if} \;\;\; x<-4 \\ \left\{1+0.2\sin(5x), 0, 1\right\} &\mathrm{if} \;\;\; x\ge -4 \end{array}\right. \end{align*}

With these values the usual final time is 1.8.

Member Data Documentation

◆ help

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