Duct pressure loss calculator
Enter airflow, duct size, length and material and get velocity, Reynolds number, the Darcy friction factor and total friction pressure loss — straight from Darcy-Weisbach and Colebrook-White, the same physics behind ASHRAE Fundamentals' Duct Design chapter.
Darcy-Weisbach + Colebrook-White
This is the calculation ASHRAE Fundamentals' Duct Design chapter is built on: friction pressure loss in a straight duct run comes from the Darcy-Weisbach equation, with the friction factor solved from the implicit Colebrook-White equation rather than read off a chart.
Δpf = f × (L/Dh) × (ρv²/2)
1/√f = −2·log₊₀( (ε/Dh)/3.7 + 2.51/(Re·√f) )
Re = ρvDh/μ
For a round duct Dh is simply the diameter. For a rectangular duct, Dh = 4A/P = 2ab/(a+b), the hydraulic diameter ASHRAE Duct Design defines for non-circular sections. Below Re = 2300 the flow is laminar and f = 64/Re is used directly, no iteration needed.
Solving Colebrook-White
Colebrook-White can't be rearranged to solve for f directly — it appears on both sides. This calculator seeds an initial estimate with the explicit Swamee-Jain approximation, then refines it by substitution until it converges (typically well under ten iterations). Verified against standard Moody-chart reference points (Re = 105, ε/D = 10-4 → f ≈ 0.0180; Re = 106, ε/D = 10-3 → f ≈ 0.0195) — both match to chart-reading precision.
Material roughness
Absolute roughness (ε) depends on the duct material and construction, not just the material name — seam type and joint spacing shift it too. Galvanized steel uses 0.09 mm, the value ASHRAE's own duct friction chart is built on for spiral/longitudinal-seam duct. Flexible duct is flagged as approximate: its corrugated wall behaves differently from simple sand-grain roughness, and ASHRAE publishes it as a separate chart rather than a Colebrook-White roughness value — treat that one figure as directional only.
Reducers and enlargers
A change in duct size costs pressure even with no bend or fitting involved — the standard theoretical loss coefficients, derived directly from conservation of momentum rather than looked up in a fitting database:
Sudden enlargement (Borda-Carnot):
K = (1 − A₁/A₂)², Δp = K × ρV₁²/2
Sudden contraction:
K = 0.5 × (1 − A₂/A₁), Δp = K × ρV₂²/2
Enlargement loss is referenced to the upstream (larger, slower) velocity; contraction loss to the downstream (smaller, faster) velocity — the convention used wherever these equations appear in fluid mechanics texts, not a duct-specific database value.
What this doesn't do yet. Elbows, tees and dampers have empirical loss coefficients, and the standard duct-specific source for them — ASHRAE's Duct Fitting Database — is commercial, so it isn't something we can legally embed here. They'll be added once a coefficient source we're allowed to publish is in hand.