CompFlow Tools

Normal Shock Calculator

Type into any box, a pitot reading included, and the rest of the shock follows, at any γ.

Every jump across a normal shock rises or falls monotonically with M₁, so any one of them fixes the whole shock. There is no second root to choose here.

Results

Quantity Value every white box is an input

Isentropic state either side

UpstreamDownstream

What this is computing

A normal shock is a discontinuity a few mean free paths thick that a supersonic flow cannot avoid. Mass, momentum and energy all cross it unchanged; entropy does not, and that one-way rise is what fixes the direction and makes every jump below a function of M₁ alone.

p2p1 =1+ 2γγ+1 (M12−1) ρ2ρ1 = (γ+1) M12 (γ−1) M12 +2
M22 = 1+ γ−12 M12 γM12− γ−12 T2T1 = p2p1 ρ1ρ2
p02p01 = e−Δs/R T02=T01

Stagnation temperature is unchanged because the shock is adiabatic; stagnation pressure is not, and its loss is the entropy rise wearing different units. Every jump here is monotonic in M₁, so any one of them fixes the whole shock — which is why this page has no branch to choose.

Only one direction is allowed

Nothing in mass, momentum or energy forbids running the shock backwards — an expansion shock satisfies all three. The second law forbids it, and this is the one place in the subject where entropy does visible work rather than bookkeeping.

Density saturates, pressure does not

Pressure and temperature climb without limit as M₁ grows, but the density ratio cannot pass (γ+1)/(γ−1) — 6 for air — and M₂ falls to a floor of 0.378 rather than to zero. A shock compresses a fixed amount however hard you hit it.

Why a pitot probe needs this page

A probe in supersonic flow reads the stagnation pressure behind its own bow shock, so the incompressible formula is not merely inaccurate, it is measuring a different quantity. And the loss is severe: p₀₂/p₀₁ is 0.721 at M₁ = 2 but 0.062 at M₁ = 5, which is why supersonic inlets use several oblique shocks instead of one normal one.