Heating Water Flow Rate Calculator
Metric (kW, °C, L/min)
Imperial (BTU/h, °F, GPM)
Commonly 11°C or 20°C for modern systems (20°F for US boilers).
Required Flow Rate:
Understanding Heating Flow Rates
Calculating the correct water flow rate is essential for designing an efficient hydronic heating system. Whether you are sizing a central heating pump or balancing radiators, the flow rate determines how much thermal energy is transported from the heat source (boiler or heat pump) to the emitters.
The Core Formulas
The relationship between heat power, temperature change, and flow rate is governed by the laws of thermodynamics:
- Metric: Flow (L/min) = [Heat Load (kW) / (4.186 × ΔT)] × 60
- Imperial: Flow (GPM) = Heat Load (BTU/h) / (500 × ΔT)
Note: 4.186 is the specific heat capacity of water in kJ/kg·K, and 500 is a simplified constant for water at standard temperatures ($60 \text{ min} \times 8.33 \text{ lbs/gal} \times 1 \text{ Specific Heat}$).
What is Delta T ($\Delta T$)?
Delta T represents the temperature difference between the flow (outgoing) pipe and the return (incoming) pipe.
- Standard Radiators: Traditionally designed for an 11°C (20°F) drop.
- Condensing Boilers: Often optimized for a 20°C drop to ensure low return temperatures for maximum efficiency.
- Underfloor Heating: Usually operates on a lower Delta T, often around 5°C or 7°C.
Practical Example
If you have a house with a calculated heat loss (load) of 10 kW and you are using a standard radiator system with a 11°C Delta T:
Flow rate = 10 / (4.186 × 11) × 60 = 13.03 Liters per minute.
Selecting a pump that can provide at least this flow rate at the system’s hydraulic resistance (head) is critical for keeping the house warm during peak winter conditions.
function switchHeatingUnits() {
var system = document.getElementById(“unitSystem”).value;
var loadLabel = document.getElementById(“loadLabel”);
var deltaTLabel = document.getElementById(“deltaTLabel”);
var loadInput = document.getElementById(“heatLoad”);
var deltaTInput = document.getElementById(“deltaT”);
if (system === “metric”) {
loadLabel.innerHTML = “Heat Load (kW)”;
deltaTLabel.innerHTML = “Temperature Drop / Delta T (°C)”;
loadInput.placeholder = “e.g. 15”;
deltaTInput.placeholder = “e.g. 11”;
} else {
loadLabel.innerHTML = “Heat Load (BTU/h)”;
deltaTLabel.innerHTML = “Temperature Drop / Delta T (°F)”;
loadInput.placeholder = “e.g. 50000”;
deltaTInput.placeholder = “e.g. 20”;
}
document.getElementById(“flowResult”).style.display = “none”;
}
function calculateFlowRate() {
var system = document.getElementById(“unitSystem”).value;
var load = parseFloat(document.getElementById(“heatLoad”).value);
var dt = parseFloat(document.getElementById(“deltaT”).value);
var flowResultDiv = document.getElementById(“flowResult”);
var mainRes = document.getElementById(“mainResult”);
var secRes = document.getElementById(“secondaryResult”);
if (isNaN(load) || isNaN(dt) || dt <= 0 || load <= 0) {
alert("Please enter valid positive numbers for Heat Load and Delta T.");
return;
}
if (system === "metric") {
// Formula: Flow (L/s) = kW / (4.186 * dt)
// Convert to L/min: (kW / (4.186 * dt)) * 60
var lpm = (load / (4.186 * dt)) * 60;
var lps = load / (4.186 * dt);
var m3h = (lpm * 60) / 1000;
mainRes.innerHTML = lpm.toFixed(2) + " Liters / Minute";
secRes.innerHTML = "Equivalent to " + lps.toFixed(3) + " L/s or " + m3h.toFixed(2) + " m³/h";
} else {
// Formula: GPM = BTU/h / (500 * dt)
var gpm = load / (500 * dt);
var pph = load / dt; // Pounds per hour (assuming specific heat of 1)
mainRes.innerHTML = gpm.toFixed(2) + " Gallons / Minute (GPM)";
secRes.innerHTML = "Mass Flow Rate: ~" + Math.round(pph) + " lbs/hr";
}
flowResultDiv.style.display = "block";
flowResultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}