Drain Slope Calculator
ANA›Life Services Authority›National Calculator Authority›Drain Slope 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; } }
Drain Slope Calculator
Calculate drain pipe slope (grade), vertical drop, run length, and flow velocity using Manning's equation for proper drainage design.
Calculate:
Slope & Drop (from run + slope %) Flow Velocity (Manning's Equation) Run Length (from drop + slope %) Vertical Drop (from run + slope %)
Horizontal Run (ft):
Vertical Drop (in):
Slope (% or in/ft):
Enter as percentage (e.g. 2 = 2%) — equivalent to inches per foot × 100/12
Pipe Diameter (in):
Manning's n (roughness):
PVC / Smooth Plastic (n = 0.009) ABS / Cast Iron (n = 0.011) Concrete (n = 0.013) Clay / Vitrified (n = 0.015) Corrugated Metal (n = 0.024) Custom...
Custom Manning's n:
Slope for Velocity (%):
Calculate Results will appear here.
function draUpdateMode() { var mode = document.getElementById('dra_calc_mode').value; document.getElementById('dra_group_run').style.display = 'block'; document.getElementById('dra_group_drop').style.display = 'block'; document.getElementById('dra_group_slope').style.display = 'block'; document.getElementById('dra_group_velocity').style.display = 'none';
if (mode === 'slope') { // need run + slope% → compute drop document.getElementById('dra_group_drop').style.display = 'none'; } else if (mode === 'drop') { // need run + slope% → compute drop (same as slope mode output) document.getElementById('dra_group_drop').style.display = 'none'; } else if (mode === 'run') { // need drop + slope% → compute run document.getElementById('dra_group_run').style.display = 'none'; } else if (mode === 'velocity') { document.getElementById('dra_group_run').style.display = 'none'; document.getElementById('dra_group_drop').style.display = 'none'; document.getElementById('dra_group_slope').style.display = 'none'; document.getElementById('dra_group_velocity').style.display = 'block'; } document.getElementById('dra_result').innerHTML = 'Results will appear here.'; }
document.getElementById('dra_manning_n').addEventListener('change', function() { document.getElementById('dra_custom_n_group').style.display = this.value === 'custom' ? 'block' : 'none'; });
function draCalc() { var mode = document.getElementById('dra_calc_mode').value; var res = document.getElementById('dra_result');
if (mode === 'slope' || mode === 'drop') { var run = parseFloat(document.getElementById('dra_run').value); var slopePct = parseFloat(document.getElementById('dra_slope_pct').value); if (isNaN(run) || run Please enter a valid positive Run length.'; return; } if (isNaN(slopePct) || slopePct Please enter a valid non-negative Slope.'; return; }
// slope as decimal (rise/run) var S = slopePct / 100; // vertical drop in feet var dropFt = run * S; var dropIn = dropFt * 12; // slope in inches per foot var inPerFt = dropIn / run; // slope as ratio 1:X var ratio = (S > 0) ? (1 / S) : Infinity;
var minSlope = 0.25; // in/ft minimum recommended var warning = ''; if (inPerFt 0) { warning = '⚠ Warning: Slope is below the recommended minimum of 1/4 in/ft (≈2.08%) for residential drains. Solids may not flush properly.
'; } if (slopePct > 50) { warning += '⚠ Warning: Slope exceeds 50% — liquids may outrun solids, causing blockages.
'; }
res.innerHTML = '### Results ' + warning + '' + 'ParameterValue' + 'Horizontal Run' + run.toFixed(2) + ' ft' + 'Slope' + slopePct.toFixed(3) + ' %' + 'Slope (in/ft)' + inPerFt.toFixed(4) + ' in/ft' + 'Slope Ratio' + (S > 0 ? '1 : ' + ratio.toFixed(1) : 'Flat (0)') + '' + 'Vertical Drop' + dropFt.toFixed(4) + ' ft | ' + dropIn.toFixed(3) + ' in' + '';
} else if (mode === 'run') { var drop = parseFloat(document.getElementById('dra_drop').value); var slopePct = parseFloat(document.getElementById('dra_slope_pct').value); if (isNaN(drop) || drop Please enter a valid non-negative Vertical Drop.'; return; } if (isNaN(slopePct) || slopePct Slope must be greater than 0 to calculate run.'; return; }
var S = slopePct / 100; var dropFt = drop / 12; // drop entered in inches var runFt = dropFt / S; var inPerFt = (drop) / runFt;
res.innerHTML = '### Results ' + '' + 'ParameterValue' + 'Vertical Drop' + drop.toFixed(3) + ' in (' + dropFt.toFixed(4) + ' ft)' + 'Slope' + slopePct.toFixed(3) + ' % (' + inPerFt.toFixed(4) + ' in/ft)' + 'Required Horizontal Run' + runFt.toFixed(3) + ' ft' + '';
} else if (mode === 'velocity') { var diam = parseFloat(document.getElementById('dra_diameter').value); var nSel = document.getElementById('dra_manning_n').value; var n = (nSel === 'custom') ? parseFloat(document.getElementById('dra_custom_n').value) : parseFloat(nSel); var slopePct = parseFloat(document.getElementById('dra_slope_vel').value);
if (isNaN(diam) || diam Please enter a valid positive Pipe Diameter.'; return; } if (isNaN(n) || n Please enter a valid Manning's n value.'; return; } if (isNaN(slopePct) || slopePct Slope must be greater than 0 for velocity calculation.'; return; }
// Manning's equation for full-flow circular pipe (SI-derived, US customary) // V = (1.486 / n) * R^(2/3) * S^(1/2) [ft/s] // R = hydraulic radius = D/4 for full circular pipe // A = π * D² / 4 // Q = A * V
var S = slopePct / 100; var D_ft = diam / 12; // diameter in feet var R = D_ft / 4; // hydraulic radius (full pipe) var A = Math.PI * D_ft * D_ft / 4; // cross-sectional area ft² var V = (1.486 / n) * Math.pow(R, 2/3) * Math.pow(S, 0.5); // ft/s var Q_cfs = A * V; // ft³/s var Q_gpm = Q_cfs * 448.831; // gallons per minute
var minV = 2.0; // ft/s self-cleaning velocity var warning = ''; if (V 10) { warning += '⚠ Warning: Flow velocity exceeds 10 ft/s — may cause pipe erosion or joint damage.
'; }
res.innerHTML = '### Results (Full-Flow, Manning's Equation) ' + warning + '' + 'ParameterValue' + 'Pipe Diameter' + diam.toFixed(2) + ' in (' + D_ft.toFixed(4) + ' ft)' + 'Manning's n' + n.toFixed(4) + '' + 'Slope' + slopePct.toFixed(3) + ' % (' + (slopePct/10012).toFixed(4) + ' in/ft)' + 'Hydraulic Radius (R)' + R.toFixed(4) + ' ft' + 'Cross-Sectional Area (A)' + A.toFixed(4) + ' ft²' + 'Flow Velocity (V)' + V.toFixed(3) + ' ft/s' + 'Flow Rate (Q)' + Q_cfs.toFixed(4) + ' ft³/s | ' + Q_gpm.toFixed(2) + ' GPM*' + ''; } }
// Initialize mode display draUpdateMode();
#### Formulas Used
Slope & Drop:
Manning's Equation (full-flow circular pipe, US customary):
- V = (1.486 / n) × R2/3 × S1/2
Where: V = velocity (ft/s), n = Manning's roughness coefficient, R = hydraulic radius (ft), S = slope (ft/ft), D = diameter (ft), A = area (ft²), Q = flow rate (ft³/s)
#### Assumptions & References
- The US customary form uses the conversion factor 1.486 (= 1.0 m1/3/s converted to ft1/3/s).
- Minimum recommended residential drain slope: 1/4 inch per foot (≈ 2.08%) per IPC/UPC plumbing codes.
- Maximum recommended slope: 1/2 inch per foot (≈ 4.17%) to prevent liquids from outrunning solids.
- Self-cleaning minimum velocity: 2.0 ft/s to prevent sediment deposition.
- Reference: Manning, R. (1891). On the Flow of Water in Open Channels and Pipes. IPC Section 704, UPC Section 708.
More Calculators
- National Loan Eligibility Estimator
- Relocation Budget Planner Calculator
- National Loan Monthly Payment Calculator
- License Application Processing Time Estimator
- Reciprocity Eligibility Calculator
- Moving Day Timeline and Labor Hours Calculator
- National Health Expenditure Per Capita Calculator
- Lost Wages Calculator
- Legal Aid Eligibility Calculator
- Pro Bono Hours Qualifier Calculator
- Small Claims Court Eligibility Calculator
- Medicaid Spend-Down Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...