Pipe head loss calculation: Darcy-Weisbach and Colebrook, step by step
Pipe head loss is calculated with Darcy-Weisbach, h_f = f·(L/D)·(v²/2g), using the Colebrook friction factor. This article works the full calculation for a 4" Sch 40 line carrying 104 °F (40 °C) water — and shows where it goes wrong when a step is skipped.
The short answer: three equations
Major head loss in a full pipe is calculated with the Darcy-Weisbach equation, using the friction factor from the Colebrook-White equation, and converted to pressure with hydrostatics:
h_f = f · (L/D) · (v²/2g)
Δp = ρ · g · h
1/√f = −2 · log₁₀( ε/(3.7·D) + 2.51/(Re·√f) )
In plain ASCII, the way it is usually typed:
h_f = f * (L/D) * v^2/(2*g)
dp = rho * g * h
1/sqrt(f) = -2*log10( (e/D)/3.7 + 2.51/(Re*sqrt(f)) )
Here h_f is the head loss in meters of the flowing liquid, f the Darcy friction factor (dimensionless), L the straight length, D the inside diameter, v the mean velocity, g = 9.80665 m/s², ρ the density, ε the absolute roughness and Re = v·D/ν the Reynolds number. Minor losses are added separately as h_minor = ΣK·v²/(2g).
The rest of this article is the step-by-step method, with a worked example in which every number can be reproduced.
Step 1 — Velocity with the actual inside diameter
Velocity is v = Q/A, with A = π·D²/4. The classic mistake is using the nominal size: a 4” Sch 40 pipe (ASME B36.10M) has an outside diameter of 114.3 mm (4.500 in) and an inside diameter of 102.26 mm (4.026 in). Since loss varies with roughly 1/D⁵, a 10% error in diameter becomes an error of about 60% in head loss.
Step 2 — Reynolds number with viscosity at operating temperature
Re = v·D/ν, with ν = μ/ρ. Water viscosity halves between 10 °C and 40 °C (from 1.306 to 0.653 mPa·s), so “water at 1 cSt” only holds near 20 °C. Values at 1 atm from the NIST Chemistry WebBook, which implements IAPWS-95 (density) and IAPWS 2008 (viscosity):
| T (°C) | T (°F) | ρ (kg/m³) | μ (mPa·s = cP) | ν (mm²/s = cSt) |
|---|---|---|---|---|
| 10 | 50 | 999.70 | 1.3059 | 1.3063 |
| 20 | 68 | 998.21 | 1.0016 | 1.0034 |
| 30 | 86 | 995.65 | 0.7972 | 0.8007 |
| 40 | 104 | 992.22 | 0.6527 | 0.6578 |
| 50 | 122 | 988.04 | 0.5465 | 0.5531 |
| 60 | 140 | 983.20 | 0.4660 | 0.4740 |
| 70 | 158 | 977.77 | 0.4035 | 0.4127 |
| 80 | 176 | 971.79 | 0.3541 | 0.3643 |
Re < 2000 is laminar; Re ≥ 4000 is turbulent; the transition zone lies in between.
Step 3 — Relative roughness ε/D
Absolute roughness ε depends on the material and the condition of the pipe. New seamless carbon steel has a typical ε of 0.045 mm (0.0018 in); the same steel after more than 5 years in service can reach 1 mm or more. The LOGOS pipe roughness table lists minimum, typical and maximum values for 31 materials, new and used — the same dataset the calculators use.
Step 4 — Friction factor by flow regime
- Laminar (Re < 2000): f = 64/Re (Hagen-Poiseuille). Independent of roughness.
- Transition (2000 ≤ Re < 4000): f is physically ill-defined. LOGOS uses Dunlop’s (1991) cubic interpolation, as described in the EPANET 2.2 manual, which starts from 64/Re at Re = 2000 and reaches the Colebrook value at Re = 4000. Treat any result in this range as uncertain.
- Turbulent (Re ≥ 4000): Colebrook-White (1939), the basis of the Moody diagram (1944). Because f appears on both sides, the equation is implicit. LOGOS solves it with a Serghides estimator followed by two Newton steps, which reaches machine precision — in the example below, the residual of the equation is 10⁻¹⁵.
Step 5 — Minor losses: K factor or equivalent length
Each valve or fitting dissipates h = K·v²/(2g). Add the K values of every fitting in the section (ΣK) and apply the section’s velocity head. K values are in the LOGOS minor loss K coefficients table.
The equivalent-length method says the same thing another way: L_eq = K·D/f is the length of straight pipe that loses as much as the fitting. The practical difference is that tabulated L/D values were computed with a fixed f, while the K method uses the f of your case. For viscous fluids (above roughly 20 cSt), tabulated K underestimates the loss, and LOGOS applies Darby’s 3-K method, which raises the coefficient as the Reynolds number drops.
Step 6 — Elevation is not a loss
Elevation change Δz enters the energy balance (Bernoulli), but it is not head loss: it is potential energy the fluid gains when it rises and returns when it falls. The distinction matters because losses grow roughly with Q², while static head does not depend on flow. Lumping both into one number hides the shape of the system curve.
Worked example: 80 m³/h of 40 °C water in 4” Sch 40
Inputs: water at 40 °C / 104 °F (ρ = 992.22 kg/m³; μ = 0.6527 mPa·s); Q = 80 m³/h (352 US gpm); new carbon steel, 4” Sch 40, D = 102.26 mm; ε = 0.045 mm; L = 250 m (820 ft); elevation rise +12 m (discharge into an elevated tank). Fittings:
| Fitting | Qty | K | ΣK | h_minor (m) |
|---|---|---|---|---|
| 90° standard elbow | 6 | 0.9 | 5.4 | 2.016 |
| Swing check valve | 1 | 2.5 | 2.5 | 0.933 |
| Pipe exit into tank | 1 | 1.0 | 1.0 | 0.373 |
| Tee, flow through run | 1 | 0.6 | 0.6 | 0.224 |
| 45° long-radius bend | 2 | 0.2 | 0.4 | 0.149 |
| Gate valve, fully open | 1 | 0.2 | 0.2 | 0.075 |
| Total | 10.1 | 3.770 |
Calculation:
- A = π·0.10226²/4 = 0.008213 m²; Q = 0.02222 m³/s → v = 2.706 m/s (8.88 ft/s).
- ν = 0.6527·10⁻³ / 992.22 = 0.6578·10⁻⁶ m²/s → Re = 2.706·0.10226/0.6578·10⁻⁶ ≈ 420,600 (turbulent).
- ε/D = 0.045/102.26 = 4.40·10⁻⁴.
- Colebrook → f = 0.01745.
- v²/(2g) = 0.3733 m → h_f = 0.01745·(250/0.10226)·0.3733 = 15.93 m.
- h_minor = 10.1·0.3733 = 3.77 m (equivalent to 59.2 m of straight 4” pipe).
| Term | m of liquid | kPa | bar | psi | Share |
|---|---|---|---|---|---|
| Friction h_f | 15.93 | 155.0 | 1.550 | 22.5 | 50.2% |
| Minor losses h_minor | 3.77 | 36.7 | 0.367 | 5.3 | 11.9% |
| Elevation Δz | 12.00 | 116.8 | 1.168 | 16.9 | 37.9% |
| Total | 31.70 | 308.4 | 3.084 | 44.7 | 100% |
The conversion uses Δp = ρ·g·h with the density of water at 40 °C (1 m of liquid = 9.730 kPa). The head loss proper is 19.70 m (191.6 kPa, 27.8 psi); the rest is elevation. Within the loss, friction accounts for 81% and fittings for 19% — and the six elbows alone weigh more than the check valve.
A design reading: 2.7 m/s is a high velocity for a discharge line this long. The next section shows why.
What if the diameter were different?
Same flow (80 m³/h), same 40 °C water, Sch 40 carbon steel, friction loss per 100 m of pipe:
| Size | ID (mm) | v (m/s) | Re | f | h_f per 100 m (m) | kPa per 100 m |
|---|---|---|---|---|---|---|
| 3” Sch 40 | 77.92 | 4.66 | 552,000 | 0.01805 | 25.65 | 249.6 |
| 4” Sch 40 | 102.26 | 2.71 | 420,600 | 0.01745 | 6.37 | 62.0 |
| 6” Sch 40 | 154.08 | 1.19 | 279,100 | 0.01704 | 0.80 | 7.8 |
The “friction ~ 1/D⁵” rule checks out: from 3” to 4”, (102.26/77.92)⁵ = 3.89 and the loss drops 4.03 times; from 4” to 6”, (154.08/102.26)⁵ = 7.77 and the loss drops 7.95 times. The effective exponent is about 5.1, slightly above 5 because the smaller pipe also has a higher ε/D. In practice, one pipe size step changes the loss by a factor of 4 to 8, and no 10% calculation margin makes up for choosing the wrong diameter.
Colebrook vs Swamee-Jain vs Hazen-Williams on the same case
| Method | f or h_f | Difference vs Colebrook |
|---|---|---|
| Colebrook-White (reference) | f = 0.01745; h_f = 15.93 m | — |
| Swamee-Jain (1976), explicit | f = 0.01756; h_f = 16.03 m | +0.64% |
| Hazen-Williams, C = 140 | h_f = 16.33 m | +2.5% |
| Hazen-Williams, C = 130 | h_f = 18.73 m | +17.6% |
| Hazen-Williams, C = 120 | h_f = 21.72 m | +36.4% |
Hazen-Williams (SI form: h_f = 10.67·L·Q^1.852 / (C^1.852·D^4.87)) contains neither viscosity nor temperature. The C that would reproduce Colebrook in this case is 141.9 at 40 °C, but 137.9 at 10 °C and 144.1 at 80 °C: the “material coefficient” is in fact absorbing the Reynolds number. That is why Hazen-Williams is reasonable for cold water in distribution networks, where C has been calibrated for that network, and inappropriate for hot water, condensate, oil, glycol, solutions or any fluid in laminar or transitional flow. Swamee-Jain is a good explicit approximation of Colebrook (error on the order of 1% within its fitted range); once Colebrook is solved exactly, it is no longer needed.
Limits and cautions
- Single-phase, incompressible, full pipe. Darcy-Weisbach with Colebrook assumes a liquid that does not vaporize and fills the cross-section. Two-phase flow, partially full pipes or flashing require other methods.
- Gas only with a small pressure drop. For gas, the incompressible treatment is acceptable only when the pressure drop is small relative to absolute pressure (references such as Crane TP-410 use the order of 10% of inlet pressure); beyond that, use a compressible formulation.
- Aging matters more than temperature. In the worked example, ε = 0.2 mm (steel after 1–2 years) raises h_f from 15.93 m to 21.65 m (+36%); ε = 1.0 mm (more than 5 years) raises it to 34.46 m (+116%). Temperature, from 10 °C to 80 °C, only moves h_f from 16.80 m to 15.47 m. Design with end-of-life roughness, not the catalog value.
- The 2000–4000 transition is uncertain. Across Dunlop’s range, the f of this pipe goes from 0.0286 (Re 2500) to 0.0411 (Re 3999), with a step of about 1.8% where it joins Colebrook at Re = 4000. No method is “exact” there.
- Tabulated K is a typical value. Manufacturers publish their own K or Cv for their valves; when available, use the manufacturer’s data.
From Δp to pump sizing
Head loss is one of the terms of total dynamic head: TDH = static head + suction losses + discharge losses (+ pressure difference between vessels, when present). Since losses grow with Q², the sum forms the system curve, and the real operating point is where that curve crosses the pump curve.
The LOGOS pump sizing calculator runs that sequence in the logged-in workspace: you enter the fluid’s ρ, μ and ε, the suction and discharge sections with diameter, length and fittings, and it calculates each section’s loss with the method in this article, finds the operating point, checks available NPSH and generates the calculation report as a Word (.docx) document. The physics runs in versioned Edge Functions on the server; during the open beta, full access is free. The numbers in this article were calculated with the same friction factor code those calculators use.
For a first check before the full sizing — the velocity in a given line, or the smallest pipe that keeps a flow under a target velocity — the LOGOS quick hydraulic calculations run right on the public page, free and without an account.
The output of any tool, including LOGOS, does not replace the professional responsibility of the engineer who signs the design.
References
- Colebrook, C. F. (1939). Turbulent flow in pipes, with particular reference to the transition region between the smooth and rough pipe laws. Journal of the Institution of Civil Engineers, 11(4).
- Moody, L. F. (1944). Friction factors for pipe flow. Transactions of the ASME, 66.
- Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe — Technical Paper No. 410.
- Swamee, P. K.; Jain, A. K. (1976). Explicit equations for pipe-flow problems. Journal of the Hydraulics Division, ASCE, 102(5).
- Rossman, L. A. et al. EPANET 2.2 User Manual, US EPA — transition formula attributed to Dunlop (1991).
- ASME B36.10M — Welded and Seamless Wrought Steel Pipe.
- IAPWS-95 (Wagner and Pruß, 2002) and IAPWS 2008 for viscosity (Huber et al., 2009), accessed through the NIST Chemistry WebBook, SRD 69.
Standards & methods
- Darcy-Weisbach — major (friction) head loss
- Colebrook, C. F. (1939) — friction factor in turbulent pipe flow
- Moody, L. F. (1944) — Friction factors for pipe flow (Trans. ASME)
- Crane Technical Paper No. 410 — Flow of Fluids Through Valves, Fittings, and Pipe
- Swamee, P. K. and Jain, A. K. (1976) — explicit equations for pipe-flow problems (J. Hydraulics Div., ASCE)
- Dunlop (1991), via the EPANET 2.2 manual (US EPA) — transition-zone interpolation
- ASME B36.10M — welded and seamless wrought steel pipe (NPS, schedule, inside diameter)
- IAPWS-95 and IAPWS 2008 (viscosity) — properties of water
Frequently asked questions
How do you calculate head loss in a pipe?
In five steps: (1) velocity v = Q/A using the actual inside diameter; (2) Reynolds number Re = v·D/ν with the fluid viscosity at operating temperature; (3) relative roughness ε/D; (4) friction factor f — 64/Re if Re < 2000, Colebrook-White if Re ≥ 4000; (5) h_f = f·(L/D)·(v²/2g). Add the minor losses h_minor = ΣK·v²/(2g) and, if you need pressure, convert with Δp = ρ·g·h. Elevation enters the energy balance, but it is not a loss.
What is the difference between head loss and pressure drop?
Head loss is the energy dissipated by friction and fittings, expressed in meters (or feet) of the flowing liquid. Pressure drop is the pressure difference measured between two points, and it also includes elevation change and velocity change. In a horizontal pipe of constant diameter the two are the same (Δp = ρ·g·h_f). In a run that rises 12 m, the pressure drop exceeds the head loss by exactly those 12 m of liquid column.
Should I use Darcy-Weisbach or Hazen-Williams?
Darcy-Weisbach with Colebrook is valid for any incompressible Newtonian fluid at any temperature, because viscosity enters through the Reynolds number. Hazen-Williams is empirical, calibrated for water near room temperature in turbulent flow, and its result depends heavily on the C value. In this article's example, changing C from 140 to 120 moves the loss from +2.5% to +36% relative to Colebrook. For oil, hot water, glycol or any viscous fluid, use Darcy-Weisbach.
How do I add up minor losses from valves and fittings?
Multiply each fitting's K by its quantity, add everything up (ΣK) and apply h_minor = ΣK·v²/(2g) using the velocity of the pipe section where the fittings are. If the diameter changes, sum per section, each with its own velocity. The equivalent-length method is the same thing written differently: L_eq = ΣK·D/f, added to the straight length.
What happens to the friction factor between Re 2000 and 4000?
That is the transition zone: the flow alternates between laminar and turbulent, and the friction factor is not well defined. No formula is exact there. LOGOS uses Dunlop's (1991) cubic interpolation — the same one used by EPANET — which connects 64/Re at Re = 2000 to Colebrook at Re = 4000. If your operating point falls in this range, the safest move is to change the diameter to get out of it.
Does head loss change with water temperature?
Yes, but only modestly in fully turbulent flow: in the worked example, friction loss goes from 16.80 m at 10 °C to 15.47 m at 80 °C (−7.9%), because viscosity drops and the Reynolds number rises. In laminar flow or with viscous fluids the effect is much larger, because f = 64/Re depends directly on viscosity.