Skip to content

Engineering Guide

Moody Chart and Friction Factor: Colebrook-White vs Swamee-Jain Compared

Published July 3, 2026 · by Industrial Unit Converter Editorial Team

Moody Chart and Friction Factor: Colebrook-White vs Swamee-Jain Compared

A 4-inch Schedule 40 commercial steel water pipe at 100 GPM loses 6.16 meters of head per 100 meters of run. That number, from the Darcy-Weisbach equation with f = 0.0209 (Swamee-Jain), decides whether the cooling water pump at a chemical plant has enough head margin or whether it cavitates. The friction factor inside that calculation is the most-used empirical result in fluid mechanics, and three equations from 1939, 1976, and 1983 are how engineers get it.

The Moody chart (Moody 1944) is the visual form of the same physics. The Colebrook-White equation (1939) is what the chart plots. The Swamee-Jain (1976) and Haaland (1983) equations are explicit approximations that put the answer on a calculator or in a spreadsheet. This guide covers all four, plus the Darcy vs Fanning distinction that catches anyone reading a chemical engineering text for the first time.

Why the friction factor matters

Every pipe-flow pressure drop passes through one number: the Darcy friction factor f. The Darcy-Weisbach equation is:

h_f = f × (L/D) × V²/(2g)

For the 4-inch steel water line at 100 GPM (V = 0.768 m/s, D = 0.1023 m), f = 0.0209 gives h_f = 6.16 m per 100 m. If f is wrong by 30 percent because the engineer used Fanning instead of Darcy, the pump head calculation is wrong by 30 percent. The friction factor calculator takes Reynolds number, pipe roughness, and diameter as inputs. The Reynolds number comes from the Reynolds number calculator or the pipe flow variant.

A short history of the Moody chart

Lewis Ferry Moody published "Friction factors for pipe flow" in the Transactions of the ASME in 1944. The paper contained one chart plotting f vs Re on log-log axes with curves at constant relative roughness ε/D. The chart synthesized Nikuradse's 1933 sand-grain roughness experiments and Colebrook's 1939 implicit equation.

Colebrook's 1939 paper "Turbulent flow in pipes" in the Journal of the Institution of Civil Engineers contained the implicit equation that, when solved iteratively, gives f for any Re and ε/D. Moody's contribution was to plot the solutions as a chart so engineers could look up f without solving the implicit equation by hand.

For thirty years the Moody chart was the friction factor. Swamee and Jain published their explicit approximation in 1976 in the ASCE Journal of the Hydraulics Division, removing the need for iteration. Haaland followed in 1983 (ASME Journal of Fluids Engineering) as an alternative explicit form. White's Fluid Mechanics (8th ed., 2016) and Munson (8th ed., 2018) still teach the Moody chart as the visual reference while recommending Swamee-Jain or Colebrook-White for calculation. Crane TP-410 (2009) uses the Darcy factor for valves and fittings.

The three correlations and when to use each

Colebrook-White (1939): implicit, most accurate

1/√f = -2.0 × log₁₀((ε/D)/3.7 + 2.51/(Re×√f))

This is the equation that generated the Moody chart. f appears on both sides, which makes it implicit. Newton-Raphson iteration converges in 3-5 iterations from f = 0.02. Errors against experimental data are typically less than 1 percent.

Swamee-Jain (1976): explicit, accurate to plus or minus 1 percent

f = 0.25 / [log₁₀((ε/D)/3.7 + 5.74/Re^0.9)]²

The most-used explicit formula in modern engineering software. No iteration, just a logarithm and a square. Valid range: Re > 4,000 and 0 ≤ ε/D ≤ 0.05. For very smooth pipes (ε/D < 0.0001) at moderate Re, Swamee-Jain under-predicts f by 2-4 percent relative to Colebrook-White. The friction factor calculator uses Swamee-Jain for turbulent flow.

Haaland (1983): explicit, accurate to plus or minus 1.5 percent

1/√f = -1.8 × log₁₀((ε/D/3.7)^1.11 + 6.9/Re)

Haaland's form is useful when Swamee-Jain sits at the edge of validity, especially for very smooth pipes. The 1.11 exponent on (ε/D/3.7) gives different behavior at low ε/D, where the roughness term becomes negligible.

Laminar: f = 64/Re (exact)

For Re < 2,300, the friction factor is f = 64/Re, the analytical result for fully developed laminar flow in a circular pipe (Hagen-Poiseuille). In laminar flow, f is independent of pipe roughness.

Reference roughness values

Absolute roughness ε depends on pipe material and service age. The table below gives the standard values from Moody (1944), Colebrook (1939), and Miller's Internal Flow Systems (1990). Use the higher end of any range for aged pipe.

Material ε (mm) ε (in) ε (ft)
Drawn tubing (glass, copper) 0.0015 0.000059 0.0000049
Commercial steel, new 0.045 0.0018 0.00015
Commercial steel, typical 0.15 0.0059 0.00049
Galvanized iron 0.15 0.0059 0.00049
Cast iron, new 0.26 0.010 0.00085
Cast iron, aged 1.0 0.039 0.0033
Concrete, smooth 0.3 0.012 0.00098
Concrete, rough 3.0 0.12 0.0098
Riveted steel 0.9-9.0 0.035-0.35 0.003-0.030
Wood stave 0.5-3.0 0.020-0.12 0.0016-0.0098
PVC 0.0015 0.000059 0.0000049
HDPE 0.0015 0.000059 0.0000049
Stainless steel (drawn) 0.002 0.000079 0.0000066

For 30-year-old cast iron water mains, use ε = 1.0 mm or higher. Tuberculation and corrosion deposits can push effective roughness above 3 mm. Within 5-10 years, scaling typically raises commercial steel from 0.045 mm to 0.10-0.15 mm.

Worked examples

Example 1: 4-inch Schedule 40 commercial steel, 100 GPM water, 25°C

D = 0.1023 m, V = 0.768 m/s, ρ = 997 kg/m³, μ = 8.9 × 10⁻⁴ Pa·s.

Re = (997 × 0.768 × 0.1023) / 8.9 × 10⁻⁴ = 88,000

For new commercial steel, ε = 0.045 mm = 0.000045 m. ε/D = 0.00044.

Swamee-Jain: f = 0.25 / [log₁₀(0.00044/3.7 + 5.74/88000^0.9)]² = 0.25 / [log₁₀(0.000119 + 0.000232)]² = 0.25 / [log₁₀(0.000351)]² = 0.25 / (-3.455)² = 0.25 / 11.94 = 0.0209

Pressure drop per 100 m: h_f = 0.0209 × (100/0.1023) × (0.768²/(2×9.81)) = 6.16 m

Colebrook-White, starting at f = 0.025, converges to f = 0.0208 in four iterations. Swamee-Jain agrees with Colebrook within 0.5 percent. The same pipe with typical in-service commercial steel (ε = 0.15 mm) gives f = 0.0235, about 12 percent higher pressure drop.

Example 2: 6-inch cast iron (aged) at 200 GPM water, 25°C

D = 0.152 m, ε = 1.0 mm = 0.001 m (aged cast iron), ε/D = 0.00658. Re = 80,000.

Swamee-Jain: f = 0.25 / [log₁₀(0.00658/3.7 + 5.74/80000^0.9)]² = 0.25 / [log₁₀(0.001778 + 0.000246)]² = 0.25 / [log₁₀(0.002024)]² = 0.25 / (-2.694)² = 0.25 / 7.26 = 0.0344

The aged cast iron has 65 percent higher f than the new commercial steel in Example 1, due to corrosion deposits, tuberculation, and fouling. A 30-year-old cast iron water main behaves nothing like the chart value for new cast iron (ε = 0.26 mm). For municipal water distribution work, always use aged roughness or measure the actual head loss.

Example 3: 1/2-inch drawn copper tubing, 5 GPM water, 20°C

D = 0.0127 m, ε = 0.0015 mm = 0.0000015 m, ε/D = 0.000118. Re = 50,000.

Swamee-Jain: f = 0.25 / [log₁₀(0.000118/3.7 + 5.74/50000^0.9)]² = 0.25 / [log₁₀(0.0000319 + 0.000211)]² = 0.25 / [log₁₀(0.000243)]² = 0.25 / (-3.614)² = 0.25 / 13.06 = 0.0192

For comparison, the Blasius smooth-pipe correlation f = 0.316/Re^0.25 gives f = 0.0211 at Re = 50,000, about 10 percent higher. Swamee-Jain accounts for the small but non-zero roughness of drawn copper. The result is in the hydraulically smooth regime where f depends mainly on Re.

Darcy vs Fanning: the factor of four

The Darcy friction factor f appears in:

h_f = f × (L/D) × V²/(2g)

The Fanning friction factor f_F appears in:

h_f = 4 × f_F × (L/D) × V²/(2g)

The relationship is f_Darcy = 4 × f_Fanning, or f_Fanning = f_Darcy/4.

The Moody chart, Colebrook-White, Swamee-Jain, and Haaland all use Darcy. Crane TP-410 uses Darcy. White, Munson, and Cengel all use Darcy.

Fanning is still common in older chemical engineering texts. Quick check: if the chart or equation gives f ≈ 0.02 for water at Re = 100,000, it is Darcy. If it gives f ≈ 0.005, it is Fanning.

Mixing the two gives 4x the pressure drop in one direction or 1/4 in the other. The 4-inch steel water line at 100 GPM with the correct Darcy factor of 0.0209 gives h_f = 6.16 m per 100 m. Using Fanning 0.00523 in the Darcy equation gives h_f = 1.54 m per 100 m, a 75 percent under-prediction.

Six common mistakes

Mistake 1: Confusing Darcy and Fanning. The Darcy factor is 4 times the Fanning factor. Always verify which definition your source uses. Quick sanity check at Re = 100,000: 0.02 (Darcy) versus 0.005 (Fanning).

Mistake 2: Using f = 64/Re for turbulent flow. The 64/Re result applies only to laminar flow (Re < 2,300). For turbulent flow at Re = 100,000, 64/Re = 0.00064. The actual friction factor is around 0.02, more than 30x higher. Using 64/Re for turbulent flow under-predicts pressure drop by a factor of 30.

Mistake 3: Using new-pipe roughness for long-term design. New commercial steel has ε = 0.045 mm. After 10 years carrying hard water, the effective roughness can be 0.15 mm or higher. For a 30-year design life, use the typical or aged value.

Mistake 4: Using Swamee-Jain outside its valid range. Swamee-Jain is accurate to within 1 percent for Re > 4,000 and 0 ≤ ε/D ≤ 0.05. For ε/D above 0.05 (very rough), use Colebrook-White iterative or Haaland. The error for edge cases is 2-5 percent, which can matter in custody-transfer work.

Mistake 5: Forgetting viscosity at operating temperature. Water at 5°C has 3.5x higher viscosity than at 95°C. A cooling water line designed at 25°C that operates at 5°C has a higher Re than expected, but the friction factor is slightly lower because of the higher Re. Always carry the operating temperature through to the property lookup.

Mistake 6: Using nominal pipe size for inside diameter. A 4-inch Schedule 40 pipe has ID = 4.026 in (102.3 mm), not 4.000 in. A 1% error in D propagates to 1% in Re and 1% in friction factor. The Reynolds number pipe flow calculator does this lookup from the nominal size and schedule.

When to use which formula

Use Colebrook-White when high accuracy is required, when iteration is available, or when conditions are outside Swamee-Jain's valid range. Colebrook-White is the reference standard for legal or contractual pressure drop work and for research validation.

Use Swamee-Jain for hand calculation, for spreadsheet implementation without iteration, and for any case within the valid range (Re > 4,000, ε/D ≤ 0.05). Swamee-Jain is the default in most engineering software. The friction factor calculator uses Swamee-Jain for turbulent flow.

Use Haaland when Swamee-Jain sits at the edge of validity, especially for very smooth pipes (ε/D < 0.0001) at moderate Re.

Use f = 64/Re for laminar flow (Re < 2,300). The result is exact for fully developed flow in a circular pipe, independent of roughness.

For non-circular ducts, use the hydraulic diameter D_h = 4A/P in place of D. The hydraulic diameter guide covers rectangular, square, and annular ducts. For compressible flow, the compressed air piping design guide covers the integration for air systems, and the HVAC duct sizing guide covers low-pressure air. The head loss to PSI converter and PSI to feet of head handle the unit conversion. The fluid mechanics and pipe flow hub indexes all pipe-flow calculators.

Standards and best practices

  • Moody, L.F. (1944). "Friction factors for pipe flow." Trans. ASME 66(8), 671-684. The original chart.
  • Colebrook, C.F. (1939). "Turbulent flow in pipes." J. ICE 11(4), 133-156. The implicit equation behind the chart.
  • Swamee, P.K. and Jain, A.K. (1976). "Explicit equations for pipe-flow problems." J. Hydraulics Division, ASCE 102(HY5), 657-664. The most-used explicit approximation.
  • Haaland, S.E. (1983). "Simple and explicit formulas for the friction factor in turbulent pipe flow." J. Fluids Engineering, ASME 105(1), 89-90. Alternative explicit form.
  • White, F.M. (2016). Fluid Mechanics, 8th ed., McGraw-Hill. Standard US textbook.
  • Munson, B.R., Young, D.F., Okiishi, T.H. (2018). Fundamentals of Fluid Mechanics, 8th ed., Wiley. Alternative textbook.
  • Crane Co. (2009). Flow of Fluids Through Valves, Fittings, and Pipe, Technical Paper 410. Industry reference for valves and fittings.

FAQ

Q: How do I get the friction factor without iteration if Colebrook-White is my reference?

A: Use Swamee-Jain for Re > 4,000 and ε/D up to 0.05. The error is within 1 percent of Colebrook-White. For ε/D above 0.05, use Haaland. For Re < 2,300, use f = 64/Re. For transitional flow (2,300 < Re < 4,000), use 64/Re as a conservative upper bound.

Q: What roughness should I use for a 20-year-old carbon steel pipe?

A: Use the typical or aged value, not the new value. New commercial steel has ε = 0.045 mm; typical in-service carbon steel has ε = 0.15 mm. For water mains with significant scaling or corrosion, go higher (0.5-1.0 mm). The friction factor scales roughly with log(ε/D), so a 3x increase in ε gives 10-15 percent higher f.

Q: Why does the Moody chart show a horizontal line at high Re for rough pipe?

A: In the fully rough regime, the viscous sublayer is thin enough that the roughness elements protrude through it. The friction factor becomes independent of Re and depends only on ε/D. The chart shows this as horizontal asymptotes for high-roughness curves at high Re.

Q: How accurate is Swamee-Jain for smooth pipe at moderate Re?

A: Swamee-Jain under-predicts f by 2-4 percent for very smooth pipes (ε/D < 0.0001) at Re between 4,000 and 100,000, compared to Colebrook-White. For most engineering work, the error is within design margin. The Blasius correlation f = 0.316/Re^0.25 is another option for the smooth-pipe regime and agrees with Swamee-Jain within 2 percent for Re < 100,000.

Q: Should I use Darcy or Fanning for a chemical process simulator?

A: Check the simulator documentation. Aspen Plus, HYSYS, and ProMax use Darcy by default. Some older in-house correlations use Fanning. The simulator input form usually labels the friction factor field explicitly. Convert if needed: f_Darcy = 4 × f_Fanning.

Q: Does the friction factor change with elevation or system pressure?

A: For liquid flow, no. Re for liquids is independent of system pressure. For gas flow, density changes with pressure across the pressure drop, so the mass flow is constant but the volumetric flow and velocity change. For isothermal gas flow with small pressure drop (less than 10 percent of inlet pressure), use the average density. For larger pressure drops, integrate the Darcy-Weisbach equation along the pipe.

References

  • Moody, L.F. (1944). "Friction factors for pipe flow." Trans. ASME 66(8), 671-684.
  • Colebrook, C.F. (1939). "Turbulent flow in pipes." J. ICE 11(4), 133-156.
  • Swamee, P.K. and Jain, A.K. (1976). "Explicit equations for pipe-flow problems." J. Hydraulics Division, ASCE 102(HY5), 657-664.
  • Haaland, S.E. (1983). "Simple and explicit formulas for the friction factor in turbulent pipe flow." J. Fluids Engineering, ASME 105(1), 89-90.
  • White, F.M. (2016). Fluid Mechanics, 8th ed., McGraw-Hill.
  • Munson, B.R., Young, D.F., Okiishi, T.H. (2018). Fundamentals of Fluid Mechanics, 8th ed., Wiley.
  • Crane Co. (2009). Flow of Fluids Through Valves, Fittings, and Pipe, Technical Paper 410.
  • Miller, D.S. (1990). Internal Flow Systems, 2nd ed., BHRA Information Services.

Related tools and calculators