Skip to content
cfd-lab:~/en/posts/mach-architect● online
NOTE #010DAY WED CFD기법DATE 2026.03.11READ 3 min readWORDS 453#CFD#Compressible-Flow#Interactive#Isentropic#Nozzle

Mach Architect: Learn Compressible Flow by Designing Nozzles

An interactive simulator for experiencing isentropic flow, choking, and normal shocks by directly tuning the geometry and back pressure of a converging-diverging nozzle.

Mach Architect#

Studying converging-diverging (C-D) nozzle flow from textbooks alone makes it hard to develop intuition about how the area ratio A/AA/A^* and back-pressure ratio Pb/P0P_b/P_0 change the flow regime.

Design the nozzle yourself, then turn the back-pressure dial. Clear four levels and you'll absorb the essentials of 1D compressible nozzle flow.


MACH ARCHITECT1D COMPRESSIBLE FLOW PUZZLE
Level 1 -- Subsonic Acceleration
Objective: Exit Mach M_exit = 0.45 ~ 0.55
IN PROGRESS
NOZZLE CROSS SECTION — DRAG CONTROL POINTS
A*P0 INEXIT
MACH NUMBER M(x)
0.511.522.53M=1
PRESSURE P/P0(x)
0.250.50.751Pb/P0=0.880
BOUNDARY CONDITIONS
Pb/P0 = 0.880
0.04Pb*=0.5281.0
FLOW REGIME
SUBSONIC
M_exit0.4313
M_throat0.4313
A_e/A*1.000
Pb_design0.5282
MACH COLOR MAPM=0M=1M=2M=4-- SHOCK-- THROAT

Controls#

  • Nozzle geometry: drag the blue control points on the SVG up and down to adjust cross-section
  • Back pressure: the right-side slider sets Pb/P0P_b/P_0
  • Level select: switch with the LV1–LV4 buttons at the top

Level Walkthrough#

Level 1: Subsonic Acceleration#

The most basic case. In a converging nozzle, subsonic flow accelerates as the area shrinks. The isentropic relation:

AA=1M[2γ+1(1+γ12M2)]γ+12(γ1)\frac{A}{A^*} = \frac{1}{M}\left[\frac{2}{\gamma+1}\left(1+\frac{\gamma-1}{2}M^2\right)\right]^{\frac{\gamma+1}{2(\gamma-1)}}

Since M<1M < 1, decreasing AA increases MM. The goal is exit Mach 0.45–0.55.

Level 2: Choking#

When the flow chokes, M=1M = 1 at the throat. Lowering back pressure further leaves the upstream mass flow unchanged.

Critical pressure ratio (γ=1.4\gamma = 1.4):

PP0=(2γ+1)γγ1=0.5283\frac{P^*}{P_0} = \left(\frac{2}{\gamma+1}\right)^{\frac{\gamma}{\gamma-1}} = 0.5283

Drop back pressure below this value, or make the throat narrow enough.

Level 3: Supersonic Nozzle Design#

In a C-D nozzle, the flow accelerates supersonically once the area opens up beyond the throat. To reach M=2M = 2:

AeA=12[2γ+1(1+γ124)]γ+12(γ1)1.6875\frac{A_e}{A^*} = \frac{1}{2}\left[\frac{2}{\gamma+1}\left(1+\frac{\gamma-1}{2}\cdot 4\right)\right]^{\frac{\gamma+1}{2(\gamma-1)}} \approx 1.6875

And the back pressure must drop to the design pressure (Pb_design) for fully supersonic flow without shocks.

Level 4: Shock Positioning#

When the back pressure is above design but below critical, a normal shock forms inside the nozzle.

Pre/post-shock relations:

M22=M12(γ1)/2+1γM12(γ1)/2M_2^2 = \frac{M_1^2(\gamma-1)/2 + 1}{\gamma M_1^2 - (\gamma-1)/2} P2P1=2γM12(γ1)γ+1\frac{P_2}{P_1} = \frac{2\gamma M_1^2 - (\gamma-1)}{\gamma+1}

Adjusting back pressure moves the shock. Higher back pressure pushes the shock toward the throat, lower toward the exit. The target is to land it within x=0.650.80x = 0.65 \sim 0.80.


The Simulator's Physics Model#

This simulator rests on these assumptions:

  1. 1D quasi-1D flow: only area variation; viscosity/heat transfer ignored
  2. Isentropic flow (except across shocks): P0P_0, T0T_0 conserved
  3. Calorically perfect gas: γ=1.4\gamma = 1.4 (air)
  4. Normal shocks: Rankine–Hugoniot relations
  5. Nozzle geometry: smooth area distribution via Hermite interpolation

The shock position is found by discretely searching for the location that satisfies the exit pressure condition. Upstream of the shock is isentropic supersonic; downstream is isentropic subsonic with stagnation pressure loss applied.


Going Further#

Share if you found it helpful.