💨 Fanno Flow (Duct Friction)
1D adiabatic compressible flow in a constant-area duct with friction. Solves for choking limits and shock positions.
⚡ Fortran 90 Engine
Double Precision (IEEE 754)
✓ ISO / ASME Validated
📊 Solver Telemetry
● ACTIVE
👁️ Views
3,802
⚡ Solves
2,973
💾 Downloads
585
📦 Fortran Code
4.5 KB
📅 Released
Jun 2026
⏱️ Latency
< 1 ms
💡
Hardware & Sizing Partner: Need to size a control valve or check ASME flange bolt torque for this line?
📝 Configuration
📊 Results & Diagrams
Configure inputs and click Calculate Fanno Flow to view results.
📘 Calculation Methodology
Mathematical Model & Theory
Fanno flow refers to steady 1D compressible flow of an ideal gas in a constant-area duct with friction, assuming the duct is adiabatic (no heat transfer). Wall friction causes stagnation pressure losses and accelerates subsonic flows, while decelerating supersonic flows towards choking ($M=1$).
The Fanno relations are governed by the friction parameter equation:
$$\frac{f L^*}{D} = \frac{1-M^2}{\gamma M^2} + \frac{\gamma+1}{2\gamma} \ln\left[\frac{(\gamma+1)M^2}{2 + (\gamma-1)M^2}\right]$$
Static temperature and pressure ratios relative to the critical sonic state ($M^* = 1.0$) are computed as follows:
$$\frac{T}{T^*} = \frac{\gamma+1}{2+(\gamma-1)M^2}, \quad \frac{P}{P^*} = \frac{1}{M} \sqrt{\frac{\gamma+1}{2+(\gamma-1)M^2}}$$
Academic References
- Shapiro, Ascher H.: The Dynamics and Thermodynamics of Compressible Fluid Flow, Ronald Press.
- Anderson, John D.: Modern Compressible Flow, McGraw-Hill.
Worked Engineering Example
Problem Statement:
Air ($\gamma = 1.4$) enters a $D = 50\text{ mm}$ duct with Darcy friction factor $f = 0.02$ at $M_1 = 0.5$. Calculate the critical choking length $L^*$ and the exit Mach $M_2$ for a duct length $L = 1.0\text{ m}$.
Step-by-step Solution:
1. Evaluate the Fanno friction parameter $\frac{f L^*}{D}$ for $M_1 = 0.5$:
$$\frac{f L_1^*}{D} = \frac{1 - 0.25}{1.4 \times 0.25} + \frac{2.4}{2.8} \ln\left[\frac{2.4 \times 0.25}{2 + 0.4 \times 0.25}\right] = 1.0691$$ 2. Calculate the choking length $L_1^*$:
$$L_1^* = \frac{1.0691 \times 0.05\text{ m}}{0.02} = 2.6727\text{ m}$$ 3. Evaluate the remaining choking parameter at exit (2):
$$\frac{f L_2^*}{D} = 1.0691 - \frac{0.02 \times 1.0\text{ m}}{0.05\text{ m}} = 1.0691 - 0.400 = 0.6691$$ 4. Invert Fanno friction relation numerically for $\frac{f L_2^*}{D} = 0.6691$ to find $M_2$ on the subsonic branch:
$$M_2 = 0.5609$$ Final Results:
• Critical pipe length: 2.67 m
• Exit Mach: 0.5609
Air ($\gamma = 1.4$) enters a $D = 50\text{ mm}$ duct with Darcy friction factor $f = 0.02$ at $M_1 = 0.5$. Calculate the critical choking length $L^*$ and the exit Mach $M_2$ for a duct length $L = 1.0\text{ m}$.
Step-by-step Solution:
1. Evaluate the Fanno friction parameter $\frac{f L^*}{D}$ for $M_1 = 0.5$:
$$\frac{f L_1^*}{D} = \frac{1 - 0.25}{1.4 \times 0.25} + \frac{2.4}{2.8} \ln\left[\frac{2.4 \times 0.25}{2 + 0.4 \times 0.25}\right] = 1.0691$$ 2. Calculate the choking length $L_1^*$:
$$L_1^* = \frac{1.0691 \times 0.05\text{ m}}{0.02} = 2.6727\text{ m}$$ 3. Evaluate the remaining choking parameter at exit (2):
$$\frac{f L_2^*}{D} = 1.0691 - \frac{0.02 \times 1.0\text{ m}}{0.05\text{ m}} = 1.0691 - 0.400 = 0.6691$$ 4. Invert Fanno friction relation numerically for $\frac{f L_2^*}{D} = 0.6691$ to find $M_2$ on the subsonic branch:
$$M_2 = 0.5609$$ Final Results:
• Critical pipe length: 2.67 m
• Exit Mach: 0.5609