Calculating the flow rate of water through a pipe is a fundamental requirement for plumbing, irrigation, and industrial engineering. The flow rate (Q) is determined by the cross-sectional area of the pipe (A) and the velocity of the water (v) moving through it.
The Mathematical Formula
Q = A × v
Where:
Q: Volumetric Flow Rate
A: Cross-sectional area of the pipe (π × r²)
v: Average velocity of the fluid
Step-by-Step Example (Imperial)
If you have a 4-inch pipe with a water velocity of 5 feet per second:
Calculate Flow (Q): 0.0873 sq ft × 5 ft/s = 0.4365 Cubic Feet per Second (CFS).
Convert to Gallons: 0.4365 CFS × 448.83 = ~195.9 Gallons per Minute (GPM).
Frequently Asked Questions
Why does pipe diameter matter? As the diameter increases, the area increases exponentially (squared). A pipe twice as large carries four times as much water at the same velocity.
What is a typical water velocity? For domestic plumbing, velocities are usually kept between 4 and 8 feet per second to prevent noise and pipe erosion.
function updateUnits() {
var system = document.getElementById("unitSystem").value;
var labelD = document.getElementById("labelDiameter");
var labelV = document.getElementById("labelVelocity");
if (system === "imperial") {
labelD.innerText = "Pipe Inner Diameter (Inches)";
labelV.innerText = "Flow Velocity (ft/s)";
} else {
labelD.innerText = "Pipe Inner Diameter (mm)";
labelV.innerText = "Flow Velocity (m/s)";
}
}
function calculateFlow() {
var system = document.getElementById("unitSystem").value;
var d = parseFloat(document.getElementById("diameter").value);
var v = parseFloat(document.getElementById("velocity").value);
if (isNaN(d) || isNaN(v) || d <= 0 || v <= 0) {
alert("Please enter valid positive numbers for diameter and velocity.");
return;
}
var area, cubicRate, standardRate, hourlyRate;
var cubicUnit, standardUnit, areaUnit, hourlyUnit;
if (system === "imperial") {
// Convert inches to feet
var radiusFt = (d / 2) / 12;
area = Math.PI * Math.pow(radiusFt, 2);
cubicRate = area * v; // Cubic Feet per Second (CFS)
standardRate = cubicRate * 448.831; // Gallons per Minute (GPM)
hourlyRate = standardRate * 60; // Gallons per Hour (GPH)
cubicUnit = " CFS (ft³/s)";
standardUnit = " GPM (Gallons/min)";
areaUnit = " sq ft";
hourlyUnit = " GPH (Gallons/hr)";
} else {
// Metric: mm to meters
var radiusM = (d / 2) / 1000;
area = Math.PI * Math.pow(radiusM, 2);
cubicRate = area * v; // Cubic Meters per Second (m³/s)
standardRate = cubicRate * 60000; // Liters per Minute (LPM)
hourlyRate = standardRate * 60; // Liters per Hour (LPH)
cubicUnit = " m³/s";
standardUnit = " LPM (Liters/min)";
areaUnit = " sq m";
hourlyUnit = " LPH (Liters/hr)";
}
document.getElementById("cubicFlow").innerText = cubicRate.toFixed(4) + cubicUnit;
document.getElementById("standardFlow").innerText = standardRate.toLocaleString(undefined, {maximumFractionDigits: 2}) + standardUnit;
document.getElementById("areaResult").innerText = area.toFixed(5) + areaUnit;
document.getElementById("hourlyFlow").innerText = hourlyRate.toLocaleString(undefined, {maximumFractionDigits: 0}) + hourlyUnit;
document.getElementById("results").style.display = "block";
}