Pipe Slope & Drainage Gradient Calculator

ANALife Services AuthorityNational Calculator Authority›Pipe Slope & Drainage Gradient 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; } }

Pipe Slope & Drainage Gradient Calculator

Calculate pipe slope (gradient), fall over length, and estimated flow velocity using Manning's equation for partially or fully filled circular pipes.

Pipe Length (m)

Pipe Internal Diameter (mm)

Calculate From

Known Slope (%) → Find Fall & Velocity Known Fall (mm) → Find Slope & Velocity Known Velocity (m/s) → Find Slope & Fall

Slope / Gradient (%)

Fall / Drop (mm)

Flow Velocity (m/s)

Manning's Roughness Coefficient (n)

0.009 – PVC / uPVC (smooth plastic) 0.011 – Concrete (smooth) 0.013 – Concrete (rough / precast) 0.015 – Clay / vitrified clay 0.012 – Cast iron 0.010 – HDPE Custom value…

Custom Manning's n

Fill Level (% of diameter)

100% – Full bore 75% – Three-quarter full 50% – Half full 25% – Quarter full

Calculate

function pipToggleMode() { var mode = document.getElementById('pip-mode').value; document.getElementById('pip-slope-group').style.display = (mode === 'slope') ? '' : 'none'; document.getElementById('pip-fall-group').style.display = (mode === 'fall') ? '' : 'none'; document.getElementById('pip-velocity-group').style.display = (mode === 'velocity') ? '' : 'none'; }

document.getElementById('pip-manning').addEventListener('change', function() { document.getElementById('pip-manning-custom-group').style.display = (this.value === 'custom') ? '' : 'none'; });

function pipHydraulicRadius(D_m, fillRatio) { // For a circular pipe, hydraulic radius R = A / P // Using exact geometry for partial fill angle theta (radians) // theta = 2 * arccos(1 - 2*fillRatio) [central angle subtended by water surface] var theta = 2 * Math.acos(1 - 2 * fillRatio); var A = (D_m * D_m / 8) * (theta - Math.sin(theta)); // cross-sectional flow area (m²) var P = (D_m / 2) * theta; // wetted perimeter (m) var R = A / P; // hydraulic radius (m) return { A: A, P: P, R: R, theta: theta }; }

function pipCalc() { var resultDiv = document.getElementById('pip-result'); resultDiv.style.display = 'none';

// --- Read inputs --- var L = parseFloat(document.getElementById('pip-length').value); var D_mm = parseFloat(document.getElementById('pip-diameter').value); var mode = document.getElementById('pip-mode').value; var fillRatio = parseFloat(document.getElementById('pip-fill').value);

var manningSelect = document.getElementById('pip-manning').value; var n; if (manningSelect === 'custom') { n = parseFloat(document.getElementById('pip-manning-custom').value); } else { n = parseFloat(manningSelect); }

// --- Validation --- var errors = []; if (isNaN(L) || L 0) { resultDiv.innerHTML = 'Please fix the following:' + errors.map(function(e){ return ''; }).join('') + ''; resultDiv.style.display = 'block'; return; }

var D_m = D_mm / 1000;

// --- Hydraulic geometry --- var hyd = pipHydraulicRadius(D_m, fillRatio); var A = hyd.A; // m² var R = hyd.R; // m

// --- Manning's equation: V = (1/n) * R^(2/3) * S^(1/2) --- // Rearranged: // S = (V * n / R^(2/3))^2 // V = (1/n) * R^(2/3) * S^(1/2) // Q = V * A (m³/s)

var S, V, fall_mm, slope_pct, ratio_str;

if (mode === 'slope') { slope_pct = slopeInput; S = slope_pct / 100; // dimensionless slope fall_mm = S * L * 1000; // mm V = (1 / n) * Math.pow(R, 2/3) * Math.sqrt(S); } else if (mode === 'fall') { fall_mm = fallInput; S = (fall_mm / 1000) / L; slope_pct = S * 100; V = (1 / n) * Math.pow(R, 2/3) * Math.sqrt(S); } else { V = velocityInput; // S = (V * n / R^(2/3))^2 S = Math.pow((V * n) / Math.pow(R, 2/3), 2); slope_pct = S * 100; fall_mm = S * L * 1000; }

var Q_m3s = V * A; // m³/s var Q_ls = Q_m3s * 1000; // L/s var Q_m3h = Q_m3s * 3600; // m³/h

// Gradient ratio 1:X var gradientRatio = (S > 0) ? (1 / S) : Infinity;

// Self-cleansing check (minimum 0.6 m/s recommended for foul drainage)
var cleansingOK = V >= 0.6;
var cleansingMsg = cleansingOK
? '✓ Velocity meets self-cleansing minimum (≥ 0.6 m/s).'
'⚠ Velocity below self-cleansing minimum of 0.6 m/s. Consider increasing slope.'; var cleansingClass = cleansingOK ? 'calc-ok' : 'calc-warn';

// Max velocity check (erosion risk above ~3 m/s for concrete) var maxVelOK = V ' + 'ParameterValue' + 'Pipe Length' + L.toFixed(2) + ' m' + 'Internal Diameter' + D_mm.toFixed(0) + ' mm' + 'Fill Level' + fillLabel + '' + 'Manning's n' + n.toFixed(4) + '' + 'Slope / Gradient' + slope_pct.toFixed(4) + ' %' + 'Gradient Ratio1 : ' + gradientRatio.toFixed(1) + '' + 'Fall over Length' + fall_mm.toFixed(1) + ' mm' + 'Hydraulic Radius (R)' + (R * 1000).toFixed(2) + ' mm' + 'Flow Area (A)' + (A * 1e6).toFixed(2) + ' mm²' + 'Flow Velocity (V)' + V.toFixed(3) + ' m/s' + 'Flow Rate (Q)' + Q_ls.toFixed(3) + ' L/s  |  ' + Q_m3h.toFixed(3) + ' m³/h' + '' + '' + cleansingMsg + '' + '' + maxVelMsg + '';

resultDiv.style.display = 'block'; }

#### Formulas Used

Manning's Equation (full or partial flow in circular pipe):

V = (1 / n) × R2/3 × S1/2

Q = V × A

Where:

Partial fill geometry (central angle θ):

θ = 2 × arccos(1 − 2 × fill ratio)

A = (D² / 8) × (θ − sin θ)

P = (D / 2) × θ

Slope relationships:

S = Fall / Length  |  Slope% = S × 100  |  Gradient ratio = 1 : (1/S)

Solving for slope from known velocity:

S = (V × n / R2/3)2

#### Assumptions & References

More Calculators

Read Next

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

References