rgfrosh.shock
The core functionality of rgfrosh is built on the Shock class, which
defines the state of the different regions of the reflected shock.
Shock is a frozen data class - its attributes cannot be assigned after 
instantiation - and thus it is not very useful to instantiate it directly. Two different models
are defined to calculate shock conditions: 
- Ideal shock - the analytical solution of the conservation equations for ideal (calorically perfect) gases.
- Frozen shock - a numerical solver for a gas with an arbitrary equation of state.
            Shock
    
            u1: float
  
      instance-attribute
  
    Incident shock velocity [m/s].
            T1: float
  
      instance-attribute
  
    Initial temperature [K].
            P1: float
  
      instance-attribute
  
    Initial pressure [Pa].
            rho1: float
  
      instance-attribute
  
    Initial density [kg/m3].
            u2: float
  
      instance-attribute
  
    Velocity behind the incident shock (shock-fixed) [m/s].
            T2: float
  
      instance-attribute
  
    Temperature behind the incident shock [K].
            P2: float
  
      instance-attribute
  
    Pressure behind the incident shock [Pa].
            rho2: float
  
      instance-attribute
  
    Density behind the incident shock [kg/m3].
            u5: float
  
      instance-attribute
  
    Reflected shock velocity [m/s].
            T5: float
  
      instance-attribute
  
    Temperature behind the reflected shock [K].
            P5: float
  
      instance-attribute
  
    Pressure behind the reflected shock [Pa].
            rho5: float
  
      instance-attribute
  
    Density behind the reflected shock [kg/m3].
            MW: float
  
      instance-attribute
  
    Mean molecular weight [kg/kmol].