Shocks and detonations waves#

In this section, you will find the documentation of the routines implemented to obtain the pre-shock and post-shock states of a set of fluid dynamic problems related with the shock waves and detonations waves.

Note

The kernel of the incident, reflected, and Chapman-Jouguet detonations are based on Gordon, S., & McBride, B. J. (1994). NASA reference publication, 1311.


Routines
cj_detonation(self, mix1, varargin)#

Compute pre-shock and post-shock states of a Chapman-Jouguet detonation

This method is based on Gordon, S., & McBride, B. J. (1994). NASA reference publication, 1311.

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

Optional Args:

mix2 (struct): Properties of the mixture in the post-shock state (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state

  • mix2 (struct): Properties of the mixture in the post-shock state

compute_guess_det(self, mix1, phi, overdriven)#

Obtain guess of the jump conditions for a Chapman-Jouguet detonation. Only valid if the mixture have CHON. It computes the guess assuming first a complete combustion, next it recomputes assuming an incomplete combustion from the composition obtained in the previous step.

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

  • phi (float) – Equivalence ratio [-]

  • overdriven (float) – Overdriven ratio [-] respect to the sound velocity of the mixture

Returns

Tuple containing

  • P (float): Pressure ratio [-]

  • T (float): Temperature ratio [-]

  • M1 (float): Pre-shock Mach number [-]

  • R (float): Density ratio [-]

  • Q (float): Dimensionless Heat release []

  • STOP (float): Relative error [-]

det_oblique_beta(self, mix1, overdriven, beta, varargin)#

Compute pre-shock and post-shock states of an oblique detonation wave given the wave angle (one solution)

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

  • overdriven (float) – Overdriven factor [-]

  • beta (float) – Wave angle [deg] of the incident oblique detonation

Optional Args:

mix2 (struct): Properties of the mixture in the post-shock state (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state

  • mix2 (struct): Properties of the mixture at the post-shock state

det_oblique_theta(self, mix1, overdriven, theta, varargin)#

Compute pre-shock and post-shock states of an oblique detonation wave given the deflection angle.

Two solutions:
  • Weak detonation

  • Strong detonation

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

  • overdriven (float) – Overdriven factor [-]

  • theta (float) – Deflection angle [deg]

Optional Args:
  • mix2_1 (struct): Properties of the mixture in the post-shock state - weak detonation (previous calculation)

  • mix2_2 (struct): Properties of the mixture in the post-shock state - strong detonation (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state

  • mix2_1 (struct): Properties of the mixture in the post-shock state - weak detonation

  • mix2_2 (struct): Properties of the mixture in the post-shock state - strong detonation

overdriven_detonation(self, mix1, overdriven, varargin)#

Compute pre-shock and post-shock states of an overdriven planar detonation

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

  • overdriven (float) – Overdriven factor [-]

Optional Args:

mix2 (struct): Properties of the mixture in the post-shock state (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state

  • mix2 (struct): Properties of the mixture in the post-shock state

shock_ideal_gas(gamma, M1)#

Compute jump conditions assuming a thermochemically frozen gas

Parameters
  • gamma (float) – Adiabatic index [-]

  • M1 (float) – Pre-shock Mach number [-]

Returns

Tuple containing

  • R (float): Density ratio [-]

  • P (float): Pressure ratio [-]

  • T (float): Temperature ratio [-]

shock_incident(self, mix1, u1, varargin)#

Compute pre-shock and post-shock states of a planar incident shock wave

This method is based on Gordon, S., & McBride, B. J. (1994). NASA reference publication, 1311.

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

  • u1 (float) – Pre-shock velocity [m/s]

Optional Args:

mix2 (struct): Properties of the mixture in the post-shock state (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state

  • mix2 (struct): Properties of the mixture in the post-shock state

shock_oblique_beta(self, mix1, u1, beta, varargin)#

Compute pre-shock and post-shock states of an oblique shock wave given the wave angle (one solution)

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

  • u1 (float) – Pre-shock velocity [m/s]

  • beta (float) – Wave angle [deg] of the incident oblique shock

Optional Args:

mix2 (struct): Properties of the mixture in the post-shock state (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state

  • mix2 (struct): Properties of the mixture at the post-shock state

shock_oblique_reflected_theta(self, mix1, u2, theta, mix2, varargin)#

Compute pre-shock and post-shock states of an oblique reflected shock wave given the deflection angle.

Two solutions:
  • Weak shock

  • Strong shock

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state of the incident shock

  • u2 (float) – Post-shock velocity [m/s] of the incident shock

  • theta (float) – Deflection angle [deg]

  • mix2 (struct) – Properties of the mixture in the post-shock state of the incident shock

Optional Args:

mix5_1 (struct): Properties of the mixture in the post-shock state of the reflected shock - weak shock (previous calculation) mix5_2 (struct): Properties of the mixture in the post-shock state of the reflected shock - strong shock (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state of the incident shock

  • mix2 (struct): Properties of the mixture in the post-shock state of the incident shock

  • mix5_1 (struct): Properties of the mixture in the post-shock state of the reflected shock - weak shock

  • mix5_2 (struct): Properties of the mixture in the post-shock state of the reflected shock - strong shock

shock_oblique_theta(self, mix1, u1, theta, varargin)#

Compute pre-shock and post-shock states of an oblique shock wave given the deflection angle.

Two solutions:
  • Weak shock

  • Strong shock

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

  • u1 (float) – Pre-shock velocity [m/s]

  • theta (float) – Deflection angle [deg]

Optional Args:
  • mix2_1 (struct): Properties of the mixture in the post-shock state - weak shock (previous calculation)

  • mix2_2 (struct): Properties of the mixture in the post-shock state - strong shock (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state

  • mix2_1 (struct): Properties of the mixture in the post-shock state - weak shock

  • mix2_2 (struct): Properties of the mixture in the post-shock state - strong shock

shock_polar(self, mix1, u1, varargin)#

Compute shock polars of an oblique shock wave

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state

  • u1 (float) – Pre-shock velocity [m/s]

Optional Args:

mix2 (struct): Properties of the mixture in the post-shock state (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state

  • mix2 (struct): Properties of the mixture at the post-shock state with the shock polar results

shock_reflected(self, mix1, u1, mix2, varargin)#

Compute pre-shock and post-shock states of a planar reflected shock wave

This method is based on Gordon, S., & McBride, B. J. (1994). NASA reference publication, 1311.

Parameters
  • self (struct) – Data of the mixture, conditions, and databases

  • mix1 (struct) – Properties of the mixture in the pre-shock state of the incident shock

  • u1 (float) – Pre-shock velocity [m/s]

  • mix2 (struct) – Properties of the mixture at the post-shock state of the incident shock

Optional Args:

mix5 (struct): Properties of the mixture in the post-shock state of the reflected shock (previous calculation)

Returns

Tuple containing

  • mix1 (struct): Properties of the mixture in the pre-shock state of the incident shock

  • mix2 (struct): Properties of the mixture at the post-shock state of the incident shock

  • mix5 (struct): Properties of the mixture in the post-shock state of the reflected shock