Static Pressure Drop Calculator for Duct Systems
ANA›Life Services Authority›National Calculator Authority›Static Pressure Drop Calculator for Duct Systems
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Static Pressure Drop Calculator for Duct Systems
Calculate the static pressure drop in HVAC duct systems for both circular and rectangular ducts using the Darcy-Weisbach equation with the Colebrook-White friction factor.
Duct Shape
Circular Rectangular
Duct Diameter (inches)
Duct Width (inches)
Duct Height (inches)
Duct Length (feet)
Airflow Rate (CFM)
Duct Material
Galvanized Steel (smooth) — ε = 0.0003 ft Galvanized Steel (standard) — ε = 0.001 ft Aluminum — ε = 0.0005 ft Flexible Duct (extended) — ε = 0.003 ft Flexible Duct (compressed) — ε = 0.015 ft Fiberglass Duct Board — ε = 0.005 ft Custom Roughness
Custom Absolute Roughness (ft)
Air Temperature (°F)
Altitude (feet above sea level)
Calculate Pressure Drop
#### Formulas Used
Darcy-Weisbach Equation:
ΔP = f × (L / Dh) × (ρ × V²) / 2
Where:
- ΔP = Static pressure drop (Pa or in. w.g.)
- f = Darcy friction factor (dimensionless)
- L = Duct length (m)
- Dh = Hydraulic diameter (m)
- ρ = Air density (kg/m³)
- V = Mean air velocity (m/s)
Hydraulic Diameter (rectangular duct):
Dh = (4 × W × H) / (2 × (W + H)) = (2 × W × H) / (W + H)
Colebrook-White Equation (implicit, solved iteratively):
1/√f = −2.0 × log₁₀(ε/(3.7 × Dh) + 2.51/(Re × √f))
Swamee-Jain Explicit Approximation (initial estimate):
f = 0.25 / [log₁₀(ε/(3.7 × Dh) + 5.74/Re⁰·⁹)]²
Reynolds Number:
Re = ρ × V × Dh / μ
Air Density (altitude & temperature corrected):
ρ = 1.2929 × (273.15 / TK) × (Palt / 101325)
Palt = 101325 × (1 − 2.25577×10⁻⁵ × altitude_m)^5.25588
Dynamic Viscosity of Air (Sutherland's Law):
μ = μ₀ × (T/T₀)^(3/2) × (T₀ + S)/(T + S)
where μ₀ = 1.716×10⁻⁵ Pa·s, T₀ = 273.15 K, S = 110.4 K
Pressure drop per 100 ft (common HVAC metric):
ΔP/100ft = ΔP_total × (100 / L_ft)
#### Assumptions & References
- References: ASHRAE Fundamentals Handbook (2021), Chapter 21 — Duct Design; Darcy-Weisbach equation; Colebrook (1939); Swamee & Jain (1976).
(function() {
function staToggleDuctShape() { var shape = document.getElementById('sta-duct-type').value; document.getElementById('sta-circular-inputs').style.display = (shape === 'circular') ? '' : 'none'; document.getElementById('sta-rectangular-inputs').style.display = (shape === 'rectangular') ? '' : 'none'; } window.staToggleDuctShape = staToggleDuctShape;
document.getElementById('sta-roughness').addEventListener('change', function() { var isCustom = this.value === 'custom'; document.getElementById('sta-custom-roughness-group').style.display = isCustom ? '' : 'none'; });
function staGetVal(id) { return parseFloat(document.getElementById(id).value); }
function staShowError(msg) { var el = document.getElementById('sta-result'); el.style.display = 'block'; el.innerHTML = '⚠ ' + msg + ''; }
// Colebrook-White solved via Newton-Raphson iteration function colebrookFriction(Re, relRoughness) { if (Re 200) { staShowError('Air temperature must be between -20°F and 200°F.'); return; } if (isNaN(altitude) || altitude 120) { staShowError('Diameter seems unrealistically large (max 120 inches).'); return; } Dh_ft = diam / 12.0; ductDesc = diam.toFixed(1) + '" diameter circular duct'; } else { var width = staGetVal('sta-width'); var height = staGetVal('sta-height'); if (isNaN(width) || width 120 || height > 120) { staShowError('Duct dimensions seem unrealistically large (max 120 inches each).'); return; } var W_ft = width / 12.0; var H_ft = height / 12.0; Dh_ft = (2.0 * W_ft * H_ft) / (W_ft + H_ft); ductDesc = width.toFixed(1) + '" × ' + height.toFixed(1) + '" rectangular duct (D_h = ' + (Dh_ft * 12).toFixed(2) + '")'; }
// Cross-sectional area in ft² var area_ft2; if (shape === 'circular') { var r = Dh_ft / 2.0; area_ft2 = Math.PI * r * r; } else { var W2 = staGetVal('sta-width') / 12.0; var H2 = staGetVal('sta-height') / 12.0; area_ft2 = W2 * H2; }
// Velocity in ft/min and ft/s var velocity_fpm = airflow / area_ft2; var velocity_fps = velocity_fpm / 60.0;
// Sanity check velocity if (velocity_fpm > 10000) { staShowError('Calculated velocity (' + Math.round(velocity_fpm) + ' FPM) is extremely high. Check inputs — typical HVAC ducts run 400–2500 FPM.'); return; }
// Convert to SI var Dh_m = Dh_ft * 0.3048; var L_m = length * 0.3048; var V_ms = velocity_fps * 0.3048; var roughness_m = roughness_ft * 0.3048;
// Air properties var rho = airDensity(tempF, altitude); // kg/m³ var mu = airViscosity(tempF); // Pa·s
// Reynolds number var Re = rho * V_ms * Dh_m / mu;
// Relative roughness var relRoughness = roughness_m / Dh_m;
// Friction factor var f = colebrookFriction(Re, relRoughness);
// Darcy-Weisbach pressure drop (Pa) var dP_Pa = f * (L_m / Dh_m) * (rho * V_ms * V_ms) / 2.0;
// Convert to in. w.g. (1 Pa = 0.00401463 in. w.g.) var dP_inwg = dP_Pa * 0.00401463;
// Per 100 ft var dP_per100ft = (length > 0) ? dP_inwg * (100.0 / length) : 0;
// Velocity pressure (in. w.g.) var Vp_Pa = 0.5 * rho * V_ms * V_ms; var Vp_inwg = Vp_Pa * 0.00401463;
// Flow regime label var regime; if (Re = 0.06 && dP_per100ft 0.15) { ashrae_msg = '⚠ Above typical ASHRAE range (0.06–0.15 in. w.g./100 ft) — consider larger duct or lower velocity.'; ashrae_color = '#c0392b'; } else { ashrae_msg = '✔ Within ASHRAE recommended range (0.06–0.15 in. w.g./100 ft).'; ashrae_color = '#27ae60'; }
// Density ratio vs standard air var rho_std = 1.2041; // kg/m³ at 68°F, sea level var densityRatio = rho / rho_std;
var html = '### Results ' + '' + 'Duct Configuration' + '' + ductDesc + ''
- 'Total Static Pressure Drop'
- ''
-
dP_inwg.toFixed(4) + ' in. w.g. | ' + dP_Pa.toFixed(2) + ' Pa'
-
'Pressure Drop per 100 ft'
- ''
-
dP_per100ft.toFixed(4) + ' in. w.g./100 ft'
-
'ASHRAE Design Check'
-
'' + ashrae_msg + ''
-
'Air Velocity'
-
'' + Math.round(velocity_fpm) + ' FPM | ' + velocity_fps.toFixed(2) + ' ft/s | ' + V_ms.toFixed(2) + ' m/s'
-
'Velocity Pressure'
-
'' + Vp_inwg.toFixed(4) + ' in. w.g. | ' + Vp_Pa.toFixed(2) + ' Pa'
-
'Reynolds Number'
-
'' + Math.round(Re).toLocaleString() + ' (' + regime + ')'
-
'Darcy Friction Factor (f)'
-
'' + f.toFixed(5) + ''
-
'Hydraulic Diameter'
-
'' + (Dh_ft * 12).toFixed(3) + ' in. | ' + (Dh_m * 1000).toFixed(1) + ' mm'
-
'Relative Roughness (ε/D)'
-
'' + relRoughness.toExponential(4) + ''
-
'Air Density'
-
'' + rho.toFixed(4) + ' kg/m³ (density ratio vs. std: ' + densityRatio.toFixed(3) + ')'
-
'Dynamic Viscosity'
-
'' + mu.toExponential(4) + ' Pa·s'
-
'Duct Cross-Section Area'
-
'' + area_ft2.toFixed(4) + ' ft² | ' + (area_ft2 * 144).toFixed(2) + ' in²'
-
'';
var el = document.getElementById('sta-result'); el.style.display = 'block'; el.innerHTML = html; } window.staCalc = staCalc;
})();
More Calculators
- Credit Hour to Degree Completion Calculator
- Student Loan Repayment Calculator
- Scholarship Eligibility Estimator
- National Curriculum Progress Tracker
- Learning Outcome Achievement Calculator
- Standardized Test Score Analyzer
Read Next
National Curriculum Progress Tracker ANA › Life Services Authority › National Calculator Authority › National Curriculum Progress Tracker .calc-container {...
Standardized Test Score Analyzer ANA › Life Services Authority › National Calculator Authority › Standardized Test Score Analyzer .calc-container { max-width:...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...