Pump Flow Rate and Head Calculation

Pump Flow Rate and Total Dynamic Head (TDH) Calculator

Results

Velocity: 0 m/s
Friction Head Loss: 0 m
Minor Head Loss: 0 m
Total Dynamic Head (TDH): 0 m

Understanding Pump Flow and Head Calculations

In fluid mechanics and hydraulic engineering, selecting the right pump requires an accurate calculation of the Total Dynamic Head (TDH). The TDH represents the total equivalent height that a fluid must be pumped, accounting for elevation changes, friction within the pipes, and losses through fittings.

Key Components of the Calculation

  • Flow Rate: The volume of fluid moved through the pipe per unit of time (m³/h).
  • Static Head: The vertical distance the fluid must be lifted. This is a constant value based on the physical height difference.
  • Friction Head Loss: This occurs as the fluid rubs against the interior walls of the pipe. It is calculated using the Darcy-Weisbach equation.
  • Minor Losses: Pressure drops caused by valves, elbows, tees, and other fittings. These are quantified by the "K" factor.

The Physics Formula

The calculation follows this general logic:

  1. Velocity (v): Calculated by dividing the flow rate by the cross-sectional area of the pipe ($v = Q/A$).
  2. Friction Loss ($h_f$): Calculated as $h_f = f \times (L/D) \times (v^2/2g)$, where $f$ is the friction factor, $L$ is length, $D$ is diameter, and $g$ is gravity (9.81 m/s²).
  3. Minor Loss ($h_m$): Calculated as $h_m = K \times (v^2/2g)$.
  4. TDH: Static Head + Friction Loss + Minor Loss.

Calculation Example

If you have a pump moving 20 m³/h of water through a 50mm pipe that is 50 meters long with a 10 meter lift (static head):

  • Flow velocity would be approximately 2.83 m/s.
  • Friction head loss might account for another 12-15 meters depending on pipe material.
  • Your pump would need to provide a TDH of approximately 25 meters to ensure delivery at the target flow rate.
function calculatePumpTDH() { var flowRate = parseFloat(document.getElementById('flowRate').value); var pipeDiameterMm = parseFloat(document.getElementById('pipeDiameter').value); var pipeLength = parseFloat(document.getElementById('pipeLength').value); var staticHead = parseFloat(document.getElementById('staticHead').value); var frictionFactor = parseFloat(document.getElementById('frictionFactor').value); var minorLossK = parseFloat(document.getElementById('minorLossK').value); var gravity = 9.81; if (isNaN(flowRate) || isNaN(pipeDiameterMm) || isNaN(pipeLength) || isNaN(staticHead) || isNaN(frictionFactor) || isNaN(minorLossK) || pipeDiameterMm <= 0) { alert("Please enter valid positive numbers for all fields."); return; } // Convert Flow Rate from m3/h to m3/s var q_m3s = flowRate / 3600; // Convert Diameter from mm to m var d_m = pipeDiameterMm / 1000; // Area of pipe (m2) var area = Math.PI * Math.pow((d_m / 2), 2); // Velocity (v = Q/A) var velocity = q_m3s / area; // Friction Head Loss (Darcy-Weisbach: h_f = f * (L/D) * (v^2 / 2g)) var frictionLoss = frictionFactor * (pipeLength / d_m) * (Math.pow(velocity, 2) / (2 * gravity)); // Minor Head Loss (h_m = K * (v^2 / 2g)) var minorLoss = minorLossK * (Math.pow(velocity, 2) / (2 * gravity)); // Total Dynamic Head (TDH) var totalDynamicHead = staticHead + frictionLoss + minorLoss; // Display Results document.getElementById('resVelocity').innerText = velocity.toFixed(3); document.getElementById('resFrictionLoss').innerText = frictionLoss.toFixed(2); document.getElementById('resMinorLoss').innerText = minorLoss.toFixed(2); document.getElementById('resTDH').innerText = totalDynamicHead.toFixed(2); document.getElementById('results').style.display = 'block'; }

Leave a Comment