Sprinkler System Pipe Sizing Calculator

ANALife Services AuthorityNational Calculator Authority›Sprinkler System Pipe Sizing Calculator

.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; } }

Sprinkler System Pipe Sizing Calculator

Calculate the required pipe diameter and friction head loss for a sprinkler irrigation system using the Hazen-Williams equation. Enter the flow rate, pipe length, and system parameters to determine the optimal pipe size.

Flow Rate (GPM)

Total flow through the pipe section

Pipe Length (ft)

Length of the pipe section

Maximum Allowable Velocity (ft/s)

Recommended: 5 ft/s for mains, 7 ft/s for laterals

Hazen-Williams C Coefficient

PVC = 150, Polyethylene = 140, Galvanized Steel = 120, Cast Iron = 100

Available Pressure at Inlet (PSI)

Static pressure available at the start of the pipe

Elevation Change (ft) — positive = uphill

Height difference from inlet to outlet (negative if downhill)

Calculate

function sprCalc() { // --- Read inputs --- var Q_gpm = parseFloat(document.getElementById('spr_flow_rate').value); var L = parseFloat(document.getElementById('spr_pipe_length').value); var v_max = parseFloat(document.getElementById('spr_max_velocity').value); var C = parseFloat(document.getElementById('spr_hw_c').value); var P_avail = parseFloat(document.getElementById('spr_pressure_available').value); var elev = parseFloat(document.getElementById('spr_elevation_change').value) || 0;

// --- Validation --- var errors = []; if (isNaN(Q_gpm) || Q_gpm 160) errors.push("Hazen-Williams C must be between 60 and 160."); if (isNaN(P_avail) || P_avail 0) { resultDiv.style.display = 'block'; resultDiv.innerHTML = 'Please fix the following:' + errors.map(function(e){ return ''; }).join('') + ''; return; }

// --- Unit conversions --- // Q: GPM → ft³/s var Q_cfs = Q_gpm / 448.831;

// --- Step 1: Minimum pipe diameter from velocity constraint --- // A = Q / v → π/4 * D² = Q/v → D = sqrt(4Q / (π·v)) var D_velocity_ft = Math.sqrt((4 * Q_cfs) / (Math.PI * v_max)); var D_velocity_in = D_velocity_ft * 12;

// --- Step 2: Standard pipe sizes (nominal ID in inches, PVC Schedule 40 approximate IDs) --- // [nominal_label, actual_ID_inches] var pipeSizes = [ ["1/2"", 0.622], ["3/4"", 0.824], ["1"", 1.049], ["1-1/4"",1.380], ["1-1/2"",1.610], ["2"", 2.067], ["2-1/2"",2.469], ["3"", 3.068], ["4"", 4.026], ["6"", 6.065] ];

// --- Step 3: Hazen-Williams friction loss --- // h_f = 10.67 * L * Q^1.852 / (C^1.852 * D^4.87) // where Q in ft³/s, D in ft, h_f in ft // Equivalent formula with Q in GPM and D in inches: // h_f (ft) = 0.2083 * (100/C)^1.852 * Q^1.852 / D^4.8704 * L / 100 // Using the standard form: h_f = 10.67 * L * Q_cfs^1.852 / (C^1.852 * D_ft^4.8704)

function frictionLoss_ft(Q_cfs, C, D_ft, L) { return 10.67 * L * Math.pow(Q_cfs, 1.852) / (Math.pow(C, 1.852) * Math.pow(D_ft, 4.8704)); }

function velocity_fps(Q_cfs, D_ft) { var A = Math.PI / 4 * D_ft * D_ft; return Q_cfs / A; }

// --- Step 4: Find smallest standard size that satisfies velocity constraint --- var selectedSize = null; var tableRows = "";

for (var i = 0; i 0;

var rowClass = ""; if (vel_ok && pres_ok && selectedSize === null) { selectedSize = { label: label, D_in: D_in, v_fps: v_fps, hf_ft: hf_ft, hf_psi: hf_psi, P_residual: P_residual }; rowClass = ' style="background:#e6f4ea;font-weight:bold;"'; }

tableRows += '' + '' + label + '' + '' + D_in.toFixed(3) + '"' + '' + v_fps.toFixed(2) + (vel_ok ? ' ✓' : ' ✗') + '' + '' + hf_ft.toFixed(2) + '' + '' + hf_psi.toFixed(2) + '' + '' + P_residual.toFixed(2) + (pres_ok ? ' ✓' : ' ✗') + '' + ''; }

// --- Step 5: Velocity-only minimum diameter (informational) --- var D_min_label = "= D_velocity_in) { D_min_label = pipeSizes[j][0] + " (" + pipeSizes[j][1].toFixed(3) + '" ID)'; break; } }

// --- Build output --- var html = "";

if (selectedSize) { html += 'Recommended Pipe Size: ' + selectedSize.label + ''; html += 'Inside Diameter: ' + selectedSize.D_in.toFixed(3) + ' in'; html += 'Flow Velocity: ' + selectedSize.v_fps.toFixed(2) + ' ft/s'; html += 'Friction Head Loss: ' + selectedSize.hf_ft.toFixed(2) + ' ft (' + selectedSize.hf_psi.toFixed(2) + ' PSI)'; html += 'Residual Pressure at Outlet: ' + selectedSize.P_residual.toFixed(2) + ' PSI'; html += 'Elevation Pressure Effect: ' + (elev / 2.3077).toFixed(2) + ' PSI (' + (elev >= 0 ? 'loss' : 'gain') + ')'; html += 'Minimum Diameter (velocity only): ' + D_velocity_in.toFixed(3) + '" → ' + D_min_label + ''; } else { html += 'Warning: No standard pipe size in the table satisfies both the velocity and pressure requirements for these inputs. Consider increasing available pressure, reducing flow rate, or using a larger pipe not listed.'; }

html += 'All Standard Sizes Comparison:'; html += '' + '' + 'Nominal Size' + 'ID (in)' + 'Velocity (ft/s)' + 'h_f (ft)' + 'h_f (PSI)' + 'Residual P (PSI)' + '' + tableRows + '';

html += '✓ = meets criterion   ✗ = fails criterion   Highlighted row = recommended size

';

resultDiv.style.display = 'block'; resultDiv.innerHTML = html; }

#### Formulas Used

1. Minimum Diameter from Velocity Constraint:

D = √(4Q / (π · vmax))

where Q = flow rate (ft³/s), vmax = maximum allowable velocity (ft/s)

2. Hazen-Williams Friction Head Loss:

hf = 10.67 · L · Q1.852 / (C1.852 · D4.8704)

where hf = friction head loss (ft), L = pipe length (ft), Q = flow rate (ft³/s), C = Hazen-Williams roughness coefficient, D = inside pipe diameter (ft)

3. Pressure Conversion:

h (ft) = P (PSI) × 2.3077  |  P (PSI) = h (ft) / 2.3077

4. Elevation Pressure Effect:

Pelev = Δz / 2.3077   (positive elevation = pressure loss)

5. Residual Outlet Pressure:

Presidual = Pavailable − hf,PSI − Pelev,PSI

6. Flow Velocity:

v = Q / A = Q / (π/4 · D²)

#### Assumptions & References

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References