Normal shock relations
[
mach
, T
, P
, rho
, downstream_mach
, P0
, P1
]
= flownormalshock(gamma
, normal_shock_relations
, mtype
)
[
produces an array for each normal shock relation (mach
, T
, P
, rho
, downstream_mach
, P0
, P1
]
= flownormalshock(gamma
, normal_shock_relations
, mtype
)normal_shock_relations
).
This function calculates these arrays for a given set of specific
heat ratios (gamma
) and any one of the
normal shock relations (normal_shock_relations
).
mtype
selects the normal shock relations
that normal_shock_relations
represents.
All ratios are downstream value over upstream value. Consider upstream
to be before or ahead of the shock; downstream is after or behind
the shock.
This function assumes that the medium is a calorically perfect gas. It assumes that the flow is frictionless and adiabatic. It assumes that the flow variables vary in one dimension only. It assumes that the main mechanism for the change of flow variables is the change of crosssectional area of the flow stream tubes.
If the temperature experiences large fluctuations, the perfect gas assumption might be invalid. If the stagnation temperature is above 1500 K, do not assume constant specific heats. In this case, the medium ceases to be a calorically perfect gas. You must then consider it a thermally perfect gas. See 2 for thermally perfect gas correction factors. If the temperature is so high that molecules dissociate and ionize (static temperature 5000 K for air), you cannot assume a perfect gas.

Array of  

Array of real numerical values for one of the normal shock relations. This argument can be one of the following:
 

Input mode for the normal shock relations in


Array of upstream Mach numbers. 

Array of pressure ratios. The pressure ratio is the static pressure downstream of the shock over the static pressure upstream of the shock. 

Array of temperature ratios. The temperature ratio is the static temperature downstream of the shock over the static temperature upstream of the shock. 

Array of density ratios. The density ratio is the density of the fluid downstream of the shock over the density upstream of the shock. 

Array of downstream Mach numbers. 

Array of total pressure ratios. The total pressure ratio is the total pressure downstream of the shock over the total pressure upstream of the shock. 

Array of RayleighPitot ratios. The RayleighPitot ratio is the static pressure upstream of the shock over the total pressure downstream of the shock. 
Calculate the normal shock relations for air (gamma
=
1.4) for total pressure ratio of 0.61. The following returns scalar
values for mach
, T
, P
, rho
, downstream_mach
, P0
,
and P1
.
[mach, T, P, rho, downstream_mach, P0, P1] = flownormalshock(1.4, 0.61, 'totalp')
Calculate the normal shock relations for gases with specific
heat ratios given in the following 1 x 4 row array for upstream Mach
number 1.5. The follow yields a 1 x 4 array for mach
, T
, P
, rho
, downstream_mach
, P0
,
and P1
.
gamma = [1.3, 1.33, 1.4, 1.67]; [mach, T, P, rho, downstream_mach, P0, P1] = flownormalshock(gamma, 1.5)
Calculate the normal shock relations for a specific heat ratio
of 1.4 and range of density ratios from 2.40 to 2.70 in increments
of 0.10. The following returns a 4 x 1 column array for mach
, T
, P
, rho
, downstream_mach
, P0
,
and P1
.
[mach, T, P, rho, downstream_mach, P0, P1] = flownormalshock(1.4,... (2.4:.1:2.7)', 'dens')
Calculate the normal shock relations for gases with specific
heat ratio and downstream Mach number combinations as shown. The
following example returns a 1 x 2 array for mach
, T
, P
, rho
, downstream_mach
, P0
,
and P1
each, where the elements of each
vector corresponds to the inputs elementwise.
gamma = [1.3, 1.4]; downstream_mach = [.34, .49]; [mach, T, P, rho, downstream_mach, P0, P1] = flownormalshock(gamma,... downstream_mach, 'down')
1. James, J. E. A., Gas Dynamics, Second Edition, Allyn and Bacon, Inc, Boston, 1984.
2. NACA Technical Report 1135, 1953, National Advisory Committee on Aeronautics, Ames Research Staff, Moffett Field, Calif. Pages 667–671.
flowfanno
 flowisentropic
 flowprandtlmeyer
 flowrayleigh