Choked Flow Calculator for Compressible Gas Nozzles Using Isentropic Relations

The purpose of this article is to provide a rigorous, practical method to calculate compressible gas flow through a nozzle or orifice, including choking criteria and mass flow rate formulas based on isentropic relations.

1. What “choking” means in a nozzle

Choking is the condition where the Mach number reaches 1.0 at the minimum flow area, which is the throat in a nozzle or the vena contracta for an orifice-like restriction.

Once the throat is sonic, the mass flow rate cannot increase by lowering downstream pressure further, as long as upstream stagnation conditions and throat area remain unchanged.

The downstream pressure still affects the downstream jet structure and may create shocks in a converging-diverging nozzle, but it does not increase the steady isentropic throat mass flow once choking has occurred.

2. Required inputs and symbols

Use absolute pressures and absolute temperatures throughout the calculation.

Symbol. Meaning. Typical unit.
P0. Upstream stagnation pressure at nozzle inlet. Pa.
T0. Upstream stagnation temperature at nozzle inlet. K.
Pb. Downstream back pressure. Pa.
A*. Throat area, which is the minimum flow area. m².
Ae. Exit area of the nozzle. m².
γ. Heat capacity ratio cp/cv of the gas. dimensionless.
R. Specific gas constant, equal to Ru divided by molecular weight. J·kg⁻¹·K⁻¹.
Cd. Discharge coefficient accounting for non-ideal contraction and losses. dimensionless.
ṁ. Mass flow rate. kg·s⁻¹.
M. Mach number at a section of interest. dimensionless.
Note : Use P0 and T0 as stagnation conditions upstream of the restriction, not the downstream pipe static conditions, and use absolute pressure rather than gauge pressure.

3. Step 1, Determine whether the flow is choked

The isentropic critical pressure ratio for choking at the throat is given by the expression below.

Critical pressure ratio. Pb / P0 ≤ (2 / (γ + 1))^(γ / (γ - 1)).

If the inequality holds, the throat is sonic and the flow is choked.

If the inequality does not hold, the flow is subsonic everywhere in a purely converging nozzle, and the mass flow depends on Pb.

3.1 Useful special case for air

For air with γ ≈ 1.4, the critical pressure ratio is approximately 0.528.

This implies choking occurs when the back pressure is at or below about 52.8 percent of the upstream stagnation pressure.

4. Step 2A, Mass flow rate for choked flow at the throat

For an ideal gas with isentropic acceleration to Mach 1 at the throat, the choked mass flow rate is computed from the stagnation conditions and the throat area.

Choked mass flow rate. ṁ = Cd · A* · P0 · sqrt( γ / (R · T0) ) · ( 2 / (γ + 1) )^((γ + 1) / (2(γ - 1))).

The factor in parentheses is sometimes called the critical flow function and depends only on γ.

Temperature has a square-root influence, while pressure and throat area have a linear influence.

4.1 Sonic throat properties at choking

These relations are frequently used for diagnostics and to compute density or velocity at the throat.

Sonic conditions at the throat for M = 1. T* = T0 · (2 / (γ + 1)). P* = P0 · (2 / (γ + 1))^(γ / (γ - 1)). ρ* = P* / (R · T*).

The throat velocity equals the local speed of sound at the throat, and it is computed as a* = sqrt(γ · R · T*).

Note : In real hardware, Cd is rarely exactly 1.0, and using Cd = 1.0 can materially overpredict flow, especially for sharp-edged orifices and short nozzles.

5. Step 2B, Mass flow rate for unchoked compressible flow

If Pb / P0 is above the critical ratio, the flow is not choked, and the mass flow depends on the pressure ratio through the Mach number at the minimum area.

For a purely converging nozzle where the exit is the minimum area, treat the exit area as A and solve for the exit Mach number M from the pressure ratio relation.

Isentropic pressure relation. Pb / P0 = (1 + (γ - 1)/2 · M^2)^(-γ / (γ - 1)).

After M is found, the isentropic mass flux relation gives the mass flow.

Unchoked mass flow rate at area A. ṁ = Cd · A · P0 · sqrt( γ / (R · T0) ) · M · (1 + (γ - 1)/2 · M^2)^(-(γ + 1)/(2(γ - 1))).

For practical calculations, M can be solved analytically for simple cases, but is commonly solved numerically using a one-dimensional root find because it is robust and fast.

6. Converging-diverging nozzles and the role of area ratio

A converging-diverging nozzle can produce supersonic flow in the diverging section only after the throat is choked.

In an isentropic nozzle, the exit Mach number depends on the area ratio Ae / A* through the area-Mach relation.

Area-Mach relation. A / A* = (1 / M) · [ (2 / (γ + 1)) · (1 + (γ - 1)/2 · M^2 ) ]^((γ + 1)/(2(γ - 1))).

For a given Ae / A*, there are generally two solutions for M, one subsonic and one supersonic, and the supersonic branch is selected for the diverging section when the nozzle is running supersonically.

After the exit Mach number is determined, the ideal isentropic exit pressure is computed as Pe / P0 = (1 + (γ - 1)/2 · Me^2)^(-γ/(γ - 1)).

If Pb is higher than the ideal isentropic Pe, the nozzle is overexpanded and internal shocks or flow separation may occur depending on geometry and operating point.

If Pb is lower than the ideal isentropic Pe, the nozzle is underexpanded and continues to expand outside the nozzle through expansion waves.

Note : The formulas in this article are strictly isentropic and do not model normal shocks, separation, or significant friction, so they are best used as a baseline design calculation and as an upper-bound flow estimate when Cd is appropriately selected.

7. Worked example for choked mass flow in a nozzle

Assume dry air modeled as an ideal gas with γ = 1.4 and R = 287 J·kg⁻¹·K⁻¹.

Let upstream stagnation conditions be P0 = 500,000 Pa and T0 = 300 K.

Let the throat diameter be 0.010 m so A* = π d² / 4 = 7.854×10⁻⁵ m².

Let Cd = 0.98 as a realistic calibration-like value for a well-made nozzle.

The critical pressure ratio for γ = 1.4 is (2/2.4)^(3.5) = 0.528, so the critical back pressure is P*crit = 0.528 × 500,000 Pa = 264,000 Pa.

If the nozzle discharges to atmosphere at about 101,325 Pa, then Pb / P0 ≈ 0.203 and the throat is choked.

Compute the choked mass flow rate using the choked-flow equation.

Given. γ = 1.4. R = 287. P0 = 500000. T0 = 300. A* = 7.8539816e-05. Cd = 0.98. Compute. ṁ = Cd · A* · P0 · sqrt( γ / (R · T0) ) · ( 2 / (γ + 1) )^((γ + 1) / (2(γ - 1))). Result. ṁ ≈ 8.98e-02 kg/s.

The result shows about 0.090 kg/s of air for the stated conditions and geometry.

If P0 doubles while T0 and A* remain constant, the predicted ṁ approximately doubles because ṁ scales linearly with P0.

If T0 increases, ṁ decreases with the inverse square root of T0 due to lower density at a fixed stagnation pressure.

8. Practical selection of γ, R, and Cd

8.1 Selecting γ and R

For a single pure gas behaving ideally, use tabulated γ at the relevant temperature range and compute R from molecular weight as R = Ru / MW.

For gas mixtures, compute mixture molecular weight and use a mixture-appropriate γ based on mixture cp and cv at the operating temperature range.

If the gas is near saturation, near critical conditions, or strongly non-ideal, treat ideal-gas isentropic results as a first estimate and validate with a real-gas property method and an appropriate expansion model.

8.2 Selecting Cd

Cd captures departures from the ideal one-dimensional, inviscid, perfectly expanded assumption.

Cd depends on the geometry type, Reynolds number, upstream piping, edge sharpness, surface finish, and whether the restriction resembles an orifice, a short nozzle, or a well-contoured nozzle.

When accuracy matters, determine Cd from calibration data, applicable test codes, or validated vendor curves for the specific meter or nozzle design.

Hardware type. Typical Cd behavior. Practical guidance.
Sharp-edged orifice-like restriction. Cd can be noticeably below 1.0 and varies with Reynolds number. Use a conservative Cd or obtain calibration-grade coefficients for the specific design.
Short nozzle or poorly contoured convergent nozzle. Cd is often closer to 1.0 but still below 1.0 in many cases. Use measured Cd when available, and validate if compressibility and losses are significant.
Well-contoured nozzle and smooth approach flow. Cd can be close to 1.0 under suitable conditions. Still apply Cd as a calibration factor and do not assume perfect performance.

9. Implementation recipe for a robust nozzle flow calculator

The workflow below is suitable for spreadsheets, scripts, or embedded calculators used for gas cabinet purge sizing, relief sizing pre-checks, and nozzle supply design.

Algorithm. 1) Read inputs P0, T0, Pb, gas properties γ and R, area A* or A, and Cd. 2) Compute critical ratio rcrit = (2/(γ+1))^(γ/(γ-1)). 3) If Pb/P0 ≤ rcrit then. 3.1) Set flow_state = "choked". 3.2) Compute ṁ = Cd*A*P0*sqrt(γ/(R*T0))*(2/(γ+1))^((γ+1)/(2(γ-1))). 4) Else. 4.1) Set flow_state = "unchoked". 4.2) Solve for M from Pb/P0 = (1 + (γ-1)/2*M^2)^(-γ/(γ-1)). 4.3) Compute ṁ = Cd*A*P0*sqrt(γ/(R*T0))*M*(1 + (γ-1)/2*M^2)^(-(γ+1)/(2(γ-1))). 5) Report flow_state, ṁ, and optionally T and P ratios for diagnostics.

9.1 Minimal Python example for engineering use

The code below implements the above logic with a simple numeric solve for the unchoked Mach number.

import math def choked_mass_flow(P0, T0, A_star, gamma, R, Cd=1.0): term = math.sqrt(gamma / (R * T0)) crit = (2.0 / (gamma + 1.0)) ** ((gamma + 1.0) / (2.0 * (gamma - 1.0))) return Cd * A_star * P0 * term * crit def critical_pressure_ratio(gamma): return (2.0 / (gamma + 1.0)) ** (gamma / (gamma - 1.0)) def mach_from_pressure_ratio(P_over_P0, gamma): def f(M): return (1.0 + (gamma - 1.0) * 0.5 * M * M) ** (-gamma / (gamma - 1.0)) - P_over_P0 lo, hi = 0.0, 1.0 for _ in range(80): mid = 0.5 * (lo + hi) if f(mid) > 0.0: lo = mid else: hi = mid return 0.5 * (lo + hi) def unchoked_mass_flow(P0, T0, A, Pb, gamma, R, Cd=1.0): M = mach_from_pressure_ratio(Pb / P0, gamma) term = math.sqrt(gamma / (R * T0)) denom = (1.0 + (gamma - 1.0) * 0.5 * M * M) ** ((gamma + 1.0) / (2.0 * (gamma - 1.0))) return Cd * A * P0 * term * M / denom, M def nozzle_flow(P0, T0, A_star, Pb, gamma, R, Cd=1.0): rcrit = critical_pressure_ratio(gamma) if (Pb / P0) <= rcrit: mdot = choked_mass_flow(P0, T0, A_star, gamma, R, Cd) return {"state": "choked", "mdot": mdot, "rcrit": rcrit} mdot, M = unchoked_mass_flow(P0, T0, A_star, Pb, gamma, R, Cd) return {"state": "unchoked", "mdot": mdot, "M": M, "rcrit": rcrit}
Note : For safety-critical sizing such as relief devices, use the governing code and validated methods, and treat simple isentropic nozzle equations as screening calculations unless explicitly permitted by the design basis.

FAQ

How do I know the flow is choked.

Compute the critical pressure ratio rcrit = (2/(γ+1))^(γ/(γ-1)) and compare Pb/P0 to rcrit.

If Pb/P0 is less than or equal to rcrit, the throat is sonic and the flow is choked.

Why does choked mass flow not depend on downstream pressure.

Once the throat reaches Mach 1, pressure information cannot propagate upstream through the sonic plane under the isentropic one-dimensional model.

Therefore the mass flow is fixed by upstream stagnation conditions and the minimum area, while downstream pressure mainly affects the expansion and shock pattern downstream.

Which pressure should I use for P0 in a real system.

Use the stagnation pressure at the nozzle inlet, which is the static pressure plus dynamic head for compressible flow, and it is close to the upstream static pressure if the inlet velocity is small.

If there is significant inlet velocity or significant upstream losses, compute or measure inlet stagnation conditions at the restriction entrance rather than using a remote vessel pressure.

How should I treat discharge coefficient Cd.

Use calibration data, applicable meter standards, or vendor-provided curves for the specific geometry and Reynolds number range.

If no data exist, treat Cd as an uncertainty driver and bracket calculations with conservative values while you plan validation or testing.

Does this method apply to steam or dense gases near the critical point.

The equations here assume ideal-gas behavior and isentropic acceleration.

Near saturation or near critical conditions, use a real-gas property method and a validated critical-flow model, and do not rely solely on ideal-gas isentropic relations.

: