A hydraulic pump flow rate calculator is an essential tool for engineers and technicians to determine the volume of fluid a pump can move within a specific timeframe. The flow rate is typically measured in Gallons Per Minute (GPM) or Liters Per Minute (LPM).
The Core Formulas
To calculate the theoretical flow (without considering internal leakage), the following formulas are used:
In the real world, no pump is 100% efficient. Due to internal clearances and wear, some fluid slips back from the outlet to the inlet. This is called "slip." Actual Flow is calculated by multiplying the theoretical flow by the volumetric efficiency percentage (usually between 85% and 95% for high-quality pumps).
Example Calculation
If you have a pump with a displacement of 2.0 in³/rev running at 1,800 RPM with an efficiency of 90%:
Theoretical GPM = (2.0 × 1800) / 231 = 15.58 GPM
Actual GPM = 15.58 × 0.90 = 14.02 GPM
function calculateHydraulicFlow() {
var displacement = parseFloat(document.getElementById('pump_displacement').value);
var unit = document.getElementById('displacement_unit').value;
var speed = parseFloat(document.getElementById('pump_speed').value);
var efficiency = parseFloat(document.getElementById('pump_efficiency').value) / 100;
if (isNaN(displacement) || isNaN(speed) || isNaN(efficiency) || displacement <= 0 || speed <= 0) {
alert("Please enter valid positive numbers for all fields.");
return;
}
var theoreticalGPM = 0;
var theoreticalLPM = 0;
if (unit === "cubic_inches") {
// GPM = (in3 * RPM) / 231
theoreticalGPM = (displacement * speed) / 231;
// 1 GPM = 3.78541 LPM
theoreticalLPM = theoreticalGPM * 3.78541;
} else {
// LPM = (cc * RPM) / 1000
theoreticalLPM = (displacement * speed) / 1000;
// 1 LPM = 0.264172 GPM
theoreticalGPM = theoreticalLPM * 0.264172;
}
var actualGPM = theoreticalGPM * efficiency;
var actualLPM = theoreticalLPM * efficiency;
document.getElementById('result_gpm').innerText = actualGPM.toFixed(2);
document.getElementById('result_lpm').innerText = actualLPM.toFixed(2);
document.getElementById('result_theo_gpm').innerText = theoreticalGPM.toFixed(2);
document.getElementById('result_theo_lpm').innerText = theoreticalLPM.toFixed(2);
document.getElementById('results_area').style.display = 'block';
}