PVC / Plastic (C=150)
New Steel / Copper (C=140)
Cast Iron – New (C=130)
Concrete (C=120)
Cast Iron – Old (C=100)
Galvanized Iron (C=100)
Please enter valid positive numbers for all fields.
Calculated Flow Rate
Flow Rate (Liters/min):0.00
Flow Rate (m³/hour):0.00
Flow Rate (US GPM):0.00
Velocity:0.00 m/s
Understanding Flow Rate and Pressure Drop
In fluid dynamics, the relationship between flow rate and pressure drop is critical for designing efficient piping systems. Whether you are an engineer designing an HVAC system or a plumber sizing water lines, understanding how pressure loss affects flow capacity is essential.
This calculator uses the Hazen-Williams equation, an empirical formula commonly used in the engineering industry to model the flow of water in pipes. It specifically calculates the flow rate ($Q$) that results from a specific pressure drop ($\Delta P$) over a known length of pipe.
Key Factors Influencing Flow Rate
Pressure Drop ($\Delta P$): This is the driving force of the fluid. A higher pressure drop (or available head) allows for a higher flow rate, assuming the pipe size remains constant.
Pipe Diameter: The internal diameter of the pipe has a massive impact on flow. Doubling the diameter can increase the flow rate by a factor of nearly 6 under the same pressure conditions due to reduced friction.
Pipe Length: Longer pipes induce more friction loss. If you double the length of the pipe, the pressure drop increases, or conversely, for a fixed pressure drop, the flow rate decreases.
Roughness Coefficient (C-Factor): The material of the pipe determines how much friction the fluid encounters against the pipe walls. Smooth plastic (PVC) has a higher C-factor (typically 150) than old cast iron (typically 100), allowing for better flow.
The Calculation Logic
While there are several formulas for fluid flow (such as Darcy-Weisbach), the Hazen-Williams equation is preferred for water distribution systems due to its simplicity and accuracy for turbulent flow conditions.
The rearranged formula for Flow Rate ($Q$) is derived from:
$$Q = k \cdot C \cdot d^{2.63} \cdot \left( \frac{\Delta P}{L} \right)^{0.54}$$
Where:
$Q$: Flow rate
$k$: Unit conversion constant
$C$: Roughness coefficient
$d$: Hydraulic diameter
$\Delta P/L$: Head loss per unit length (Hydraulic Gradient)
How to Use This Calculator
Simply input your available pressure drop (in bar), the inner diameter of your pipe (in millimeters), the total length of the pipe run (in meters), and select the pipe material. The tool will instantly compute the resulting volumetric flow rate in Liters per Minute, Cubic Meters per Hour, and US Gallons per Minute.
function calculateFlowRate() {
// 1. Get DOM elements
var presInput = document.getElementById('fr_pressure_drop');
var diamInput = document.getElementById('fr_diameter');
var lenInput = document.getElementById('fr_length');
var matInput = document.getElementById('fr_material');
var errorDiv = document.getElementById('fr_error');
var resultBox = document.getElementById('fr_result_box');
// 2. Parse values
var pressureBar = parseFloat(presInput.value);
var diameterMm = parseFloat(diamInput.value);
var lengthM = parseFloat(lenInput.value);
var cFactor = parseFloat(matInput.value);
// 3. Validation
if (isNaN(pressureBar) || isNaN(diameterMm) || isNaN(lengthM) || isNaN(cFactor) ||
pressureBar < 0 || diameterMm <= 0 || lengthM <= 0) {
errorDiv.style.display = 'block';
resultBox.style.display = 'none';
return;
}
// 4. Hide error if valid
errorDiv.style.display = 'none';
resultBox.style.display = 'block';
// 5. Calculation Logic: Hazen-Williams Equation
// Standard Metric Form for Head Loss (h_f in meters):
// h_f = 10.67 * L * (Q^1.852) / (C^1.852 * d^4.87)
// Where:
// Q is in m³/s
// d is in meters
// L is in meters
// Step A: Convert Inputs to SI
var d_meters = diameterMm / 1000;
// Convert Pressure (bar) to Head (meters of water)
// 1 bar approx 10.197 meters of head
var h_head = pressureBar * 10.19716;
// Step B: Rearrange formula to solve for Q
// h_f = (10.67 * L * Q^1.852) / (C^1.852 * d_meters^4.87)
// Q^1.852 = (h_f * C^1.852 * d_meters^4.87) / (10.67 * L)
var numerator = h_head * Math.pow(cFactor, 1.852) * Math.pow(d_meters, 4.87);
var denominator = 10.67 * lengthM;
var q_pow = numerator / denominator;
// Q in m³/s
var q_m3s = Math.pow(q_pow, (1 / 1.852));
// Step C: Convert results to display units
var q_m3h = q_m3s * 3600; // Cubic meters per hour
var q_lpm = q_m3s * 60000; // Liters per minute
var q_gpm = q_lpm * 0.264172; // US Gallons per minute
// Calculate Velocity (v = Q / A)
// Area = pi * r^2
var radius = d_meters / 2;
var area = Math.PI * Math.pow(radius, 2);
var velocity = q_m3s / area;
// 6. Output Results
document.getElementById('res_lpm').innerText = q_lpm.toFixed(2);
document.getElementById('res_m3h').innerText = q_m3h.toFixed(2);
document.getElementById('res_gpm').innerText = q_gpm.toFixed(2);
document.getElementById('res_velocity').innerText = velocity.toFixed(2) + " m/s";
}