Class OneDimensionalTimeDependentShock

Inheritance Relationships

Base Type

Class Documentation

class OneDimensionalTimeDependentShock : public AdvectionField

Advection field in x-direction with shock at x = x0 that propagates with a constant speed vsh = v_up - v_down and width x_sh approximated by a tanh() with variable compression ratio r_comp = v_up/v_down. Pre- and postshock speeds as well as shock speed must be specified. The shock position at t=0 can be specified, as well as the time t0 the shock starts to propagate.

Public Functions

OneDimensionalTimeDependentShock(double v_sh, double v1, double v0, double l_sh)

Constructor

Parameters:
  • v_sh; – // shock speed

  • v1; – // speed behind the shock in lab frame

  • v0; – // undisturbed speed in lab frame

  • l_sh; – // shock width

virtual Vector3d getField(const Vector3d &position, const double &time = 0) const
virtual double getDivergence(const Vector3d &position, const double &time = 0) const
void setShockSpeed(double v_sh)
void setSpeeds(double v1, double v0)
void setShockWidth(double l_sh)
void setShockPosition(double x_sh0)
void setShockTime(double t_sh0)
double getVshock() const
double getV1() const
double getV0() const
double getShockWidth() const
double getShockPosition(double time) const
double getShockTime() const
inline size_t addReference() const
inline size_t removeReference() const
inline int removeReferenceNoDelete() const
inline size_t getReferenceCount() const

Protected Attributes

mutable size_t _referenceCount