SpECTRE
v2024.05.11
|
A cylindrical or spherical Sod explosion [183] [167]. 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 = tmpl::list< InitialRadius, InnerMassDensity, InnerPressure, OuterMassDensity, OuterPressure > |
Public Member Functions | |
SodExplosion (const SodExplosion &)=default | |
SodExplosion & | operator= (const SodExplosion &)=default |
SodExplosion (SodExplosion &&)=default | |
SodExplosion & | operator= (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_type & | equation_of_state () const |
void | pup (PUP::er &) override |
virtual auto | get_clone () const -> std::unique_ptr< InitialData >=0 |
Static Public Attributes | |
static constexpr Options::String | help |
Friends | |
template<size_t SpatialDim> | |
bool | operator== (const SodExplosion< SpatialDim > &lhs, const SodExplosion< SpatialDim > &rhs) |
A cylindrical or spherical Sod explosion [183] [167].
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.
|
overridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |