SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
NewtonianEuler::AnalyticData::SodExplosion< Dim > Class Template Reference

A cylindrical or spherical Sod explosion [205] [189]. More...

#include <SodExplosion.hpp>

Classes

struct  InitialRadius
 Initial radius of the discontinuity. More...
struct  InnerMassDensity
struct  InnerPressure
struct  OuterMassDensity
struct  OuterPressure

Public Types

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

Public Member Functions

 SodExplosion (const SodExplosion &)=default
SodExplosionoperator= (const SodExplosion &)=default
 SodExplosion (SodExplosion &&)=default
SodExplosionoperator= (SodExplosion &&)=default
auto get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override
 SodExplosion (double initial_radius, double inner_mass_density, double inner_pressure, double outer_mass_density, double outer_pressure, const Options::Context &context={})
template<typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataVector, Dim, Frame::Inertial > &x, tmpl::list< Tags... >) const
 Retrieve a collection of hydrodynamic variables at position x.
const equation_of_state_typeequation_of_state () const
void pup (PUP::er &) override

Static Public Attributes

static constexpr Options::String help

Friends

template<size_t SpatialDim>
bool operator== (const SodExplosion< SpatialDim > &lhs, const SodExplosion< SpatialDim > &rhs)

Detailed Description

template<size_t Dim>
class NewtonianEuler::AnalyticData::SodExplosion< Dim >

A cylindrical or spherical Sod explosion [205] [189].

Common initial conditions are:

\begin{align*}(\rho, v^i, p) = &\left\{ \begin{array}{ll} (1 ,0, 1) & \mathrm{if} \; r \le 0.5 \\ (0.125 ,0, 0.1) & \mathrm{if} \; r > 0.5 \end{array}\right. \end{align*}

where \(r\) is the cylindrical (2d) or spherical (3d) radius. This test problem uses an adiabatic index of 1.4. A reference solution can be computed in 1d by solving the Newtonian Euler equations in cylindrical or spherical symmetry. Note that the inner and outer density and pressure, as well as where the initial discontinuity is can be chosen arbitrarily.

Member Typedef Documentation

◆ options

template<size_t Dim>
using NewtonianEuler::AnalyticData::SodExplosion< Dim >::options
Initial value:
Initial radius of the discontinuity.
Definition SodExplosion.hpp:59
Pressure at radii less than InnerRadius.
Definition BlastWave.hpp:100
Pressure at radii greater than OuterRadius.
Definition BlastWave.hpp:107

Member Function Documentation

◆ get_clone()

template<size_t Dim>
auto NewtonianEuler::AnalyticData::SodExplosion< Dim >::get_clone ( ) const -> std::unique_ptr< evolution::initial_data::InitialData >
overridevirtual

Member Data Documentation

◆ help

template<size_t Dim>
Options::String NewtonianEuler::AnalyticData::SodExplosion< Dim >::help
staticconstexpr
Initial value:
= {
"Cylindrical or spherical Sod explosion."}

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