Drain Flow Rate & Blockage Severity Calculator
ANA›Life Services Authority›National Calculator Authority›Drain Flow Rate & Blockage Severity 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 Flow Rate & Blockage Severity Calculator
Calculate the flow rate through a circular drain pipe using Manning's equation and determine blockage severity based on the reduction in flow capacity.
Pipe Internal Diameter (mm)
Pipe Slope / Gradient (m/m)
Manning's Roughness Coefficient (n)
Current Fill Ratio (0 = empty, 1 = full)
Blocked Cross-Section Ratio (0 = clear, 1 = fully blocked)
Calculate
function draCalc() { var resultDiv = document.getElementById('dra-result');
var D_mm = parseFloat(document.getElementById('dra-pipe-diameter').value); var S = parseFloat(document.getElementById('dra-slope').value); var n = parseFloat(document.getElementById('dra-manning-n').value); var y_r = parseFloat(document.getElementById('dra-fill-ratio').value); var b_r = parseFloat(document.getElementById('dra-blocked-ratio').value);
// --- Validation --- if (isNaN(D_mm) || D_mm 1) { resultDiv.innerHTML = 'Fill ratio must be between 0.01 and 1.0.
'; return; } if (isNaN(b_r) || b_r = 1) { resultDiv.innerHTML = 'Blocked cross-section ratio must be between 0 and 0.99.
'; return; }
// --- Geometry for partially full circular pipe --- // D in metres var D = D_mm / 1000.0; var R = D / 2.0;
// Depth of flow y = y_r * D var y = y_r * D;
// Central angle theta (radians) from pipe invert // y = R - R*cos(theta/2) => theta = 2 * acos(1 - y/R) var theta = 2.0 * Math.acos(1.0 - y / R);
// Flow area for partial depth (unblocked) // A_flow = (R^2 / 2) * (theta - sin(theta)) var A_full_flow = (R * R / 2.0) * (theta - Math.sin(theta));
// Wetted perimeter // P = R * theta var P = R * theta;
// Hydraulic radius var Rh = A_full_flow / P;
// Full-pipe flow area (for reference) var A_pipe = Math.PI * R * R;
// Effective flow area after blockage // Blockage reduces the available cross-sectional area var A_effective = A_full_flow * (1.0 - b_r);
// Effective hydraulic radius after blockage // Approximate: wetted perimeter increases slightly; use conservative ratio var Rh_effective = Rh * Math.pow(1.0 - b_r, 0.5);
// Manning's equation: Q = (1/n) * A * Rh^(2/3) * S^(1/2) var Q_unblocked = (1.0 / n) * A_full_flow * Math.pow(Rh, 2.0/3.0) * Math.pow(S, 0.5); var Q_blocked = (1.0 / n) * A_effective * Math.pow(Rh_effective, 2.0/3.0) * Math.pow(S, 0.5);
// Full-bore flow rate (for reference) var Rh_full = D / 4.0; var Q_full = (1.0 / n) * A_pipe * Math.pow(Rh_full, 2.0/3.0) * Math.pow(S, 0.5);
// Flow velocity var V_unblocked = Q_unblocked / A_full_flow; var V_blocked = (A_effective > 0) ? Q_blocked / A_effective : 0;
// Flow reduction percentage var flow_reduction_pct = ((Q_unblocked - Q_blocked) / Q_unblocked) * 100.0;
- // Blockage severity classification
- var severity, severityClass, recommendation;
- if (b_r === 0) {
- severity = "No Blockage";
- severityClass = "calc-severity-none";
- recommendation = "Drain is clear. Routine inspection recommended annually.";
- } else if (b_r = 0.6;
- var cleansingMsg = cleansingOK
- ? "✓ Flow velocity meets self-cleansing threshold (≥ 0.6 m/s)."
- "⚠ Flow velocity is below self-cleansing threshold (0.6 m/s) — sediment deposition likely.";
resultDiv.innerHTML = '### Results ' + '' + 'ParameterValue' + 'Pipe Diameter' + D_mm.toFixed(0) + ' mm' + 'Flow Depth' + (y * 1000).toFixed(1) + ' mm (' + (y_r * 100).toFixed(0) + '% full)' + 'Unblocked Flow Area' + (A_full_flow * 1e6).toFixed(1) + ' mm²' + 'Hydraulic Radius (unblocked)' + (Rh * 1000).toFixed(2) + ' mm' + 'Full-Bore Flow Rate (Qfull)' + (Q_full * 1000).toFixed(3) + ' L/s (' + Q_full.toFixed(5) + ' m³/s)' + 'Unblocked Flow Rate (Q)' + (Q_unblocked * 1000).toFixed(3) + ' L/s (' + Q_unblocked.toFixed(5) + ' m³/s)' + 'Blocked Flow Rate (Qblocked)' + (Q_blocked * 1000).toFixed(3) + ' L/s (' + Q_blocked.toFixed(5) + ' m³/s)' + 'Flow Velocity (unblocked)' + V_unblocked.toFixed(3) + ' m/s' + 'Flow Velocity (blocked)' + V_blocked.toFixed(3) + ' m/s' + 'Flow Reduction' + flow_reduction_pct.toFixed(1) + '%' + '' + '' + 'Blockage Severity: ' + severity + '' + recommendation + '' + '' + cleansingMsg + '
'; }
.calc-table { width:100%; border-collapse:collapse; margin:12px 0; } .calc-table th, .calc-table td { border:1px solid #ddd; padding:8px 12px; text-align:left; font-size:0.95rem; } .calc-table th { background:#f0f4f8; font-weight:600; } .calc-severity-box { margin:14px 0; padding:12px 16px; border-radius:6px; font-size:0.95rem; border-left:5px solid; } .calc-severity-none { background:#e8f5e9; border-color:#43a047; color:#1b5e20; } .calc-severity-minor { background:#fff9c4; border-color:#f9a825; color:#5d4037; } .calc-severity-moderate { background:#ffe0b2; border-color:#ef6c00; color:#4e342e; } .calc-severity-severe { background:#ffccbc; border-color:#d84315; color:#3e2723; } .calc-severity-critical { background:#ffcdd2; border-color:#b71c1c; color:#b71c1c; font-weight:700; } .calc-cleansing { font-size:0.92rem; padding:8px 12px; border-radius:4px; margin-top:8px; } .calc-ok { background:#e8f5e9; color:#2e7d32; } .calc-warn { background:#fff3e0; color:#e65100; } .calc-error { color:#c62828; font-weight:600; }
#### Formula
Manning's Equation (full or partial flow):
Q = (1/n) × A × Rh2/3 × S1/2
Where:
- Q = volumetric flow rate (m³/s)
- n = Manning's roughness coefficient (dimensionless)
- A = cross-sectional flow area (m²)
- Rh = hydraulic radius = A / wetted perimeter (m)
- S = pipe slope (m/m)
Partial-depth geometry (circular pipe):
θ = 2 × arccos(1 − y/R)
A = (R²/2)(θ − sinθ) P = Rθ
Blockage effect:
Aeff = A × (1 − b) Rh,eff = Rh × (1 − b)0.5
Where b = blocked cross-section ratio (0–1).
#### Assumptions & References
- Self-cleansing velocity threshold of 0.6 m/s per BS EN 752 and Sewers for Adoption (Water UK).
- Blockage severity thresholds based on industry guidance from WRc Sewerage Rehabilitation Manual and CCTV drain survey classifications.
- Reference: Chaudhry, M.H. (2008). Open-Channel Hydraulics. Springer. | Manning, R. (1891). On the flow of water in open channels and pipes.
More Calculators
- Structural Load Capacity Calculator
- House Cleaning Frequency Calculator
- EV Home Charging Cost Calculator
- Cross-Connection Risk Assessment Calculator
- Charging Time Calculator by EV Model and Charger Level
- Home Charger Installation Cost Estimator
- Mental Health Days Needed Estimator
- Macronutrient Ratio Calculator
- Depression Symptom Severity Calculator (PHQ-9 Based)
- Body Fat Percentage & Healthy Weight Range Calculator
- Therapy Session Cost & Affordability Estimator
Read Next
Anxiety Stress Level Screener Gad 7 Based ANA › Life Services Authority › National Calculator Authority › Anxiety & Stress Level Screener (GAD-7 Based) .calc-container...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...