Fluid Mechanics
The Moody Chart
One log-log graph that turns Reynolds number and roughness into a friction factor
The Moody chart is a log-log diagram that reads off the Darcy friction factor f from the pipe Reynolds number Re and the relative roughness ε/D. In laminar flow (Re < 2300) it collapses to the exact line f = 64/Re, independent of roughness. In turbulent flow (Re > 4000) it plots the implicit Colebrook-White equation, a family of curves that spans the smooth-pipe (Prandtl) limit at the bottom and the fully-rough (von Kármán) plateau at the right. The friction factor it returns feeds the Darcy-Weisbach equation h_f = f (L/D)(V²/2g), the workhorse for pipe head loss, pressure drop, and pump sizing. Published by Lewis Ferry Moody in 1944, it is still the first tool a hydraulic engineer reaches for.
- Axesf vs Re (log-log), curves of ε/D
- Laminarf = 64/Re, Re < 2300
- TurbulentColebrook, Re > 4000
- FeedsDarcy-Weisbach h_f = f(L/D)(V²/2g)
- f range≈ 0.008 to 0.1 in practice
- AuthorL. F. Moody, 1944
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
Why the Moody chart matters
Every time a fluid moves through a pipe, the wall drags on it and dissipates mechanical energy as heat. That loss sets the pump you must buy, the pressure your city water reaches, the fan power a data center burns to move air, and the throughput of an oil pipeline hundreds of kilometres long. The physics is captured by a single dimensionless number — the Darcy friction factor f — but f itself depends on the flow in a way no closed-form equation handled cleanly before 1944. The Moody chart solved that: it puts the entire behaviour of pipe friction, from creeping laminar flow to raging fully-rough turbulence, on one page you can read with a ruler.
- Pump and fan sizing. The head loss from Darcy-Weisbach sets the operating point on a pump curve.
- Pipe-diameter selection. A slightly larger diameter can slash pumping cost because loss scales with 1/D⁵.
- Water distribution. Municipal and building plumbing networks are balanced against these losses.
- Oil and gas pipelines. Long-haul lines live in the fully-rough regime where roughness dominates.
- HVAC ductwork. Air handling uses the same chart with the hydraulic diameter of rectangular ducts.
- Process plants. Chemical, food, and pharma piping is sized loop by loop against friction loss.
How to read it, step by step
The chart has three inputs and one output. You compute two dimensionless groups, find your operating point, and read f.
- Compute the Reynolds number. Re = ρVD/μ = VD/ν, where ρ is density (kg/m³), V is the mean (bulk) velocity (m/s), D is inside diameter (m), μ is dynamic viscosity (Pa·s), and ν = μ/ρ is kinematic viscosity (m²/s). This locates you on the horizontal axis, which spans roughly Re = 10³ to 10⁸.
- Compute the relative roughness. ε/D, where ε is the equivalent sand-grain roughness of the wall material (m) and D is the inside diameter (m). This picks which curve you follow — each labelled curve on the right side of the chart is one value of ε/D.
- Choose the regime. If Re < 2300 you are on the laminar line and roughness is irrelevant. If Re > 4000 you are on the turbulent curves. Between them is the transition band, which the chart deliberately leaves ambiguous.
- Read the friction factor. Drop a vertical line from your Re, find where it crosses your ε/D curve, and read f off the vertical axis (roughly 0.008 to 0.1 in practice).
- Feed Darcy-Weisbach. Put f into h_f = f (L/D)(V²/2g) to get head loss in metres of fluid, or Δp = f (L/D)(ρV²/2) for pressure drop in pascals.
The governing turbulent curve is the Colebrook-White equation, which the whole right half of the chart is simply a plot of:
1/√f = −2·log₁₀( (ε/D)/3.7 + 2.51 / (Re·√f) )
Here f is the Darcy friction factor (dimensionless), Re is the Reynolds number (dimensionless), and ε/D is the relative roughness (dimensionless). Because f sits inside the logarithm on the right and outside it on the left, the equation is implicit — you cannot solve for f algebraically. Two limits fall out of it. When ε/D → 0 the roughness term vanishes and you recover the smooth-pipe Prandtl law, 1/√f = 2·log₁₀(Re·√f) − 0.8. When Re → ∞ the viscous term 2.51/(Re√f) vanishes and you recover the fully-rough von Kármán law, 1/√f = −2·log₁₀( ε/(3.7·D) ), which has no Re in it at all — that is why those curves go flat.
Because iterating Colebrook by hand is tedious, engineers often use the explicit Swamee-Jain approximation, valid for 10⁻⁶ ≤ ε/D ≤ 10⁻² and 5×10³ ≤ Re ≤ 10⁸:
f = 0.25 / [ log₁₀( (ε/D)/3.7 + 5.74/Re^0.9 ) ]²
It reproduces the Colebrook chart to within about ±1 percent — well inside the ±5 to ±10 percent uncertainty of the roughness value ε itself, which is the real weak link in any of these calculations.
The four regions of the chart
Reading the Moody chart is really about knowing which of four regions your operating point lands in, because the physics — and the sensitivity of f to your inputs — is different in each.
| Region | Reynolds range | Depends on | Governing law |
|---|---|---|---|
| Laminar | Re < 2300 | Re only | f = 64/Re |
| Transition (critical) | 2300 – 4000 | unstable / indeterminate | none reliable |
| Smooth-pipe turbulent | > 4000, low ε/D | Re only | Prandtl: 1/√f = 2 log₁₀(Re√f) − 0.8 |
| Fully-rough turbulent | high Re, high ε/D | ε/D only | von Kármán: 1/√f = −2 log₁₀(ε/3.7D) |
The two turbulent regions are connected by the general Colebrook curve, and the dashed line running diagonally across the chart marks the boundary where roughness effects start to dominate over viscous effects — the entry into fully-rough behaviour. A pipe that is "smooth" at low velocity can become "rough" simply by pumping faster, because raising Re thins the viscous sublayer until the roughness peaks poke through it.
Typical equivalent roughness values ε that set which curve a real pipe rides on:
| Material | ε (mm) | ε/D at D = 100 mm |
|---|---|---|
| Drawn tubing (glass, brass, copper) | 0.0015 | 0.000015 |
| Commercial / welded steel | 0.045 | 0.00045 |
| Galvanized iron | 0.15 | 0.0015 |
| Cast iron (asphalted) | 0.12 | 0.0012 |
| Cast iron (uncoated) | 0.26 | 0.0026 |
| Concrete | 0.3 – 3.0 | 0.003 – 0.03 |
| Riveted steel | 0.9 – 9.0 | 0.009 – 0.09 |
Common misconceptions and failure modes
- Darcy versus Fanning. The Moody chart uses the Darcy friction factor (f = 64/Re laminar). The Fanning factor, common in chemical engineering, is exactly one quarter of it (f_F = 16/Re). Mixing them gives a 4× error in head loss.
- Roughness matters in laminar flow. It does not. Below Re ≈ 2300 the viscous sublayer fills the pipe; f = 64/Re regardless of wall texture. Reading a rough-pipe curve there is wrong.
- New-pipe roughness lasts. Corrosion, scaling, and biofilm can raise ε by an order of magnitude over decades. Old cast iron can behave like riveted steel, so design roughness is a life-cycle choice, not a catalog value.
- Designing in the transition band. Between Re 2300 and 4000, f is genuinely indeterminate and can double for a whisker of change. Robust designs stay out of it or take the conservative turbulent value.
- Confusing ε with a physical bump height. ε is an equivalent sand-grain roughness calibrated to Nikuradse's experiments, not a measured surface profile. Two walls with the same Ra can have different ε.
- Ignoring temperature. Viscosity ν changes Re strongly. Hot water has roughly one-third the viscosity of cold water, shifting Re — and therefore f — noticeably.
- Non-circular ducts. The chart is for round pipes. For ducts, substitute the hydraulic diameter D_h = 4A/P (four times area over wetted perimeter); it is an approximation, best in turbulent flow.
Worked example: head loss in a water main
Water at 20 °C flows at V = 2 m/s through a commercial-steel pipe of inside diameter D = 100 mm over a length L = 500 m. Find the head loss and pressure drop.
- Fluid properties. ρ = 998 kg/m³, ν = 1.004×10⁻⁶ m²/s at 20 °C.
- Reynolds number. Re = VD/ν = (2)(0.10)/(1.004×10⁻⁶) ≈ 1.99×10⁵. That is well above 4000, so the flow is turbulent.
- Relative roughness. Commercial steel ε ≈ 0.045 mm, so ε/D = 0.045/100 = 4.5×10⁻⁴.
- Friction factor. Entering the Moody chart at Re ≈ 2×10⁵ on the ε/D = 0.00045 curve gives f ≈ 0.019. The Swamee-Jain formula confirms f = 0.25/[log₁₀(0.00045/3.7 + 5.74/(1.99×10⁵)^0.9)]² ≈ 0.0187.
- Head loss. h_f = f (L/D)(V²/2g) = 0.0187 × (500/0.10) × (2²)/(2×9.81) = 0.0187 × 5000 × 0.2039 ≈ 19.1 m of water.
- Pressure drop. Δp = ρ g h_f = 998 × 9.81 × 19.1 ≈ 1.87×10⁵ Pa ≈ 1.87 bar.
Notice how brutally loss scales with the variables: because h_f ∝ f L V²/D and, for a fixed flow rate Q, V ∝ 1/D², head loss goes roughly as 1/D⁵. Bumping this pipe from 100 mm to 125 mm inside diameter would cut the head loss by more than a factor of three — often cheaper over a plant's life than the extra pumping power. That trade-off, read straight off the Moody chart, is the daily bread of hydraulic design.
Frequently asked questions
What is the Moody chart?
The Moody chart is a log-log diagram that gives the Darcy friction factor f as a function of Reynolds number Re and relative roughness ε/D. You enter with Re on the horizontal axis, follow the curve for your pipe's ε/D, and read f on the vertical axis. That f then goes into the Darcy-Weisbach equation to compute head loss. It collapses laminar theory, the Colebrook turbulent correlation, and the fully-rough limit onto one graph, so a single chart covers water, oil, gas, and air in round pipes of any roughness.
What is the friction factor in laminar flow?
In laminar flow (Re below about 2300) the Darcy friction factor is f = 64/Re, an exact result from the Hagen-Poiseuille solution. Roughness has no effect because the viscous sublayer fills the whole pipe and the wall texture stays buried inside it. On the Moody chart this is a single straight line of slope −1 on the log-log axes. If you use the Fanning friction factor instead, the laminar law is f_F = 16/Re, exactly one quarter of the Darcy value.
What is the Colebrook equation?
The Colebrook-White equation is the implicit turbulent correlation the Moody chart plots: 1/√f = −2 log₁₀( (ε/D)/3.7 + 2.51/(Re√f) ). It blends the smooth-pipe Prandtl law and the fully-rough von Kármán law into one curve. Because f appears on both sides it must be solved iteratively; two or three fixed-point passes converge to about 0.1 percent. The Swamee-Jain explicit formula, f = 0.25/[log₁₀( (ε/D)/3.7 + 5.74/Re^0.9 )]², approximates it within about ±1 percent and needs no iteration.
What is relative roughness?
Relative roughness is the dimensionless ratio ε/D, where ε is the equivalent sand-grain roughness height of the pipe wall and D is the inside diameter. Typical ε values are about 0.0015 mm for drawn tubing, 0.045 mm for commercial steel, 0.26 mm for cast iron, and 0.9–9 mm for riveted steel or concrete. Because it is ε divided by D, a wide 1 m pipe of the same material is hydraulically far smoother than a narrow 25 mm one, so large pipes sit on lower curves of the chart.
How does the Moody chart connect to Darcy-Weisbach?
The Moody chart's only job is to supply the friction factor f that the Darcy-Weisbach equation needs: h_f = f (L/D)(V²/2g), where h_f is head loss, L is pipe length, D is diameter, V is mean velocity, and g is gravity. Multiplying by ρg gives the pressure drop Δp = f (L/D)(ρV²/2). Read f off the chart at your operating Re and ε/D, plug it in, and you have the frictional loss used to size pumps, fans, and pipe diameters.
What happens in the transition region?
Between roughly Re = 2300 and Re = 4000 the flow is neither fully laminar nor fully turbulent; it flickers intermittently between the two states. The Moody chart shows this as a shaded gap where no single curve is reliable, and f can jump by a factor of two for tiny changes in conditions. Good practice is to avoid designing for this band. If you must estimate a value, engineers usually take the turbulent (upper) curve as a conservative worst case for head loss.
What is the difference between smooth-pipe and fully-rough flow?
In the smooth-pipe regime the roughness peaks stay submerged in the viscous sublayer, so f depends only on Re and follows the Prandtl law 1/√f = 2 log₁₀(Re√f) − 0.8. As Re rises, the sublayer thins until the roughness pokes through; the curves then flatten to horizontal in the fully-rough regime, where f depends only on ε/D and is given by the von Kármán law 1/√f = −2 log₁₀(ε/3.7D). In fully-rough flow doubling the velocity roughly quadruples the head loss because f has stopped changing.