CompFlow Tools

Fanno Flow Calculator

Friction in a constant-area duct. Type into any box, duct length included, at any γ.

4fL*/D and p₀/p₀* are each shared by two flows, one subsonic and one supersonic, while every other quantity fixes the state outright. That is why there are two columns — the two flows this duct can carry.

Results

Quantity Subsonic accelerates to choking Supersonic decelerates to choking

What this is computing

Adiabatic flow down a constant-area duct, with wall friction as the only irreversibility. Stagnation temperature is therefore constant and entropy rises, which together leave the state a function of one variable — so every quantity below is referred to the sonic point the duct is heading for.

TT* = (γ+1)/2 1+ γ−12 M2 pp* = TT* M
VV* =M TT* ρρ* = 1 MTT*
4fL*D = 1−M2 γM2 + γ+12γ ln [ (γ+1) M2 2(1+ γ−12 M2) ]

f is the Fanning friction factor. If your value is Darcy–Weisbach, fD = 4f, then this same number is fDL*/D — the 4 is already accounted for. Mixing the two is a factor-of-four error and it is the commonest mistake on this page.

Friction drives both branches to M = 1

A subsonic flow accelerates down the duct, which sounds wrong until you follow the entropy: friction raises s, and on the Fanno line the state of maximum entropy is sonic. Both branches move towards it, so supersonic flow decelerates and subsonic flow speeds up. Heat addition does the same thing by an entirely different route.

What choking actually does

L* is the length that brings the flow exactly to M = 1. Make the duct longer and the flow does not cross sonic — the inlet conditions change instead and the mass flow drops until the duct is the right length for the flow it is carrying.

Only the supersonic branch has a ceiling

A supersonic Fanno flow can occupy at most 4fL*/D = 0.8215 in air, reached only as M₁ → ∞; beyond that no supersonic solution exists. Subsonic flow has no such limit — 4fL*/D runs to infinity as M → 0, so a long enough duct always has a subsonic answer.