The gradient of the pipe (e.g., 2 means 2% or 0.02 ft/ft).
0Gallons Per Minute (GPM)
Flow Rate (MGD):–
Flow Rate (CFS):–
Flow Velocity:–
Percent Full:–
Froude Number (Sub/Super):–
Understanding Wastewater Flow Rate Calculation
Accurate wastewater flow rate calculation is critical for the design, maintenance, and analysis of sanitary sewer systems. Unlike pressurized water pipes, wastewater pipes typically operate under gravity flow, meaning they are rarely full. Calculating the flow rate requires determining the hydraulic properties of the partially filled circular channel.
The Manning Equation for Gravity Flow
The standard method for calculating flow in open channels and gravity sewers is Manning's Equation. For Imperial units (which this calculator uses), the formula is:
Q = (1.486 / n) × A × R2/3 × S1/2
Q: Flow rate (cubic feet per second, cfs).
n: Manning's roughness coefficient (dimensionless, depends on material).
A: Cross-sectional area of the flow (square feet).
R: Hydraulic radius (Area / Wetted Perimeter).
S: Slope of the energy line (ft/ft), often assumed to be the pipe slope.
Key Input Variables Explained
Pipe Diameter: The internal diameter of the sewer pipe. Standard municipal lines often range from 8 inches to 36 inches or larger.
Depth of Flow: The actual depth of the liquid in the pipe. If the depth equals the diameter, the pipe is flowing full (surcharged).
Slope (%): The steepness of the pipe. A 1% slope drops 1 foot for every 100 feet of length. Steeper slopes increase velocity and capacity but may require deeper excavation.
Manning's n: This represents the friction inside the pipe. Plastic pipes (PVC) are smoother (lower n, higher flow) than rough concrete or corrugated metal.
Velocity and Self-Cleaning
When designing sewer systems, calculating velocity is just as important as flow rate. A minimum velocity of 2.0 ft/s is generally required to prevent solids from settling and clogging the pipe (self-cleaning velocity). Conversely, velocities exceeding 10 ft/s can cause scouring and damage the pipe lining over time.
Peak vs. Average Flow
This calculator determines the hydraulic capacity at a specific moment based on depth. In system planning, engineers must account for:
Average Daily Flow (ADF): The baseline flow generated by the population.
Peaking Factor: A multiplier applied to ADF to account for morning/evening usage spikes.
Inflow & Infiltration (I&I): Groundwater or stormwater entering the sanitary system, which can significantly increase flow rates during rain events.
function updateRoughness() {
var select = document.getElementById('pipeMaterial');
var customContainer = document.getElementById('customNContainer');
var nInput = document.getElementById('manningsN');
if (select.value === 'custom') {
customContainer.style.display = 'block';
nInput.value = ";
nInput.focus();
} else {
customContainer.style.display = 'none';
nInput.value = select.value;
}
}
function calculateWastewaterFlow() {
// 1. Get Inputs
var diameterIn = parseFloat(document.getElementById('pipeDiameter').value);
var depthIn = parseFloat(document.getElementById('flowDepth').value);
var slopePercent = parseFloat(document.getElementById('slopePercent').value);
var n = parseFloat(document.getElementById('manningsN').value);
// 2. Validation
if (isNaN(diameterIn) || isNaN(depthIn) || isNaN(slopePercent) || isNaN(n)) {
alert("Please fill in all fields with valid numbers.");
return;
}
if (diameterIn <= 0 || slopePercent <= 0 || n <= 0) {
alert("Diameter, Slope, and Roughness must be greater than zero.");
return;
}
if (depthIn = diameterIn) {
depthIn = diameterIn;
isFull = true;
}
// 3. Conversions to Feet and Decimal
var D = diameterIn / 12; // Diameter in feet
var y = depthIn / 12; // Depth in feet
var S = slopePercent / 100; // Slope in ft/ft
var r = D / 2; // Radius in feet
// 4. Calculate Geometry (Theta, Area, Perimeter)
var theta, A, P;
if (isFull) {
// Full pipe
theta = 2 * Math.PI;
A = Math.PI * Math.pow(r, 2);
P = 2 * Math.PI * r;
} else if (y === 0) {
// Empty pipe
theta = 0;
A = 0;
P = 0;
} else {
// Partial flow
// Theta is the central angle of the liquid segment
// formula: theta = 2 * arccos(1 – 2*(y/D)) or 2 * arccos((r-y)/r)
theta = 2 * Math.acos((r – y) / r);
// Area = (r^2 / 2) * (theta – sin(theta))
A = (Math.pow(r, 2) / 2) * (theta – Math.sin(theta));
// Wetted Perimeter = r * theta
P = r * theta;
}
// 5. Hydraulic Radius (R = A / P)
var R = 0;
if (P > 0) {
R = A / P;
}
// 6. Manning's Equation for Velocity (V)
// V = (1.486 / n) * R^(2/3) * S^(1/2)
var V = 0;
if (R > 0 && S > 0) {
V = (1.486 / n) * Math.pow(R, 2/3) * Math.sqrt(S);
}
// 7. Calculate Flow Rate (Q = A * V)
var Q_cfs = A * V;
// 8. Froude Number Check (Fr = V / sqrt(g * D_hydraulic))
// Hydraulic Depth D_h = Area / Top Width (T)
// Top Width T = 2 * r * sin(theta/2)
var FrText = "N/A";
if (A > 0 && !isFull && y > 0) {
var T = 2 * r * Math.sin(theta / 2);
var Dh = A / T;
var g = 32.2; // gravity ft/s^2
var Fr = V / Math.sqrt(g * Dh);
if (Fr 1) FrText = Fr.toFixed(2) + " (Supercritical)";
else FrText = "1.00 (Critical)";
} else if (isFull) {
FrText = "Full Pipe";
}
// 9. Unit Conversions
var Q_gpm = Q_cfs * 448.831;
var Q_mgd = Q_gpm / 694.444; // or Q_cfs * 0.64632
var percentFull = (depthIn / diameterIn) * 100;
// 10. Output Display
document.getElementById('resFlowGPM').innerText = Q_gpm.toLocaleString('en-US', {maximumFractionDigits: 1});
document.getElementById('resFlowMGD').innerText = Q_mgd.toFixed(4) + " MGD";
document.getElementById('resFlowCFS').innerText = Q_cfs.toFixed(3) + " cfs";
document.getElementById('resVelocity').innerText = V.toFixed(2) + " ft/s";
document.getElementById('resPercentFull').innerText = percentFull.toFixed(1) + "%";
document.getElementById('resFroude').innerText = FrText;
document.getElementById('resultContainer').style.display = 'block';
}