CivilKit Calcs

Pump operating point calculator

A pump on a pipeline runs where the head it can deliver equals the head the pipeline demands. This template finds that point for a pump lifting water to a higher tank, tabulates both heads against flow, and plots the two curves so you can see where they cross. Pump size, pipe diameter, length, static lift and pipe condition are inputs.

Open this template Open a blank sheet

What it computes

The pump is described by a shut-off head and a free delivery, which the sheet turns into a falling parabola of head against flow. The pipeline needs the static lift plus a friction loss that grows with the square of the flow. The operating point is the flow at which the two heads are equal, and the sheet solves that directly. It then reports the flow, the head, the pipe velocity (with a warning above 3 m/s) and a table and plot of both curves.

Video: Plots in the sheet format (about 85 seconds). Read the chapter Plots.

Try it

Open the sheet in Calcs or embed it.

The formulas

Worked example

Defaults: the medium pump (40 m shut-off head, 75 L/s free delivery), a 150 mm pipe 400 m long, a static lift of 15 m and a new pipe. Engine results:

QuantityResult
Friction head per flow squared K7834.25 s 2/m⁵
Head above the static lift25 m
Flow at the operating point40.9 L/s
Head at the operating point28.1 m
Velocity in the pipe2.31 m/s

The pump settles at 40.9 L/s and 28.1 m. The velocity of 2.31 m/s is within 3 m/s.

Move the operating point

Marking the pipe as aged raises the friction factor to 0.030, which increases K to 13057.1 s 2/m⁵ and moves the operating point to 35.21 L/s at 31.19 m. A rougher pipe means less flow from the same pump.

Raising the static lift to 35 m instead drops the flow to 18.29 L/s, with the pump working harder at 37.62 m. The table in the sheet shows the heads at flows from 0 to 60 L/s, and the plot shows the crossing.

What this is, and is not

This is a generic textbook calculation, not a design-code check. The pump curves are quadratic models with round example numbers for a small, medium and large pump, not manufacturer data. The friction factor is a constant, not recalculated from the flow, and the pipeline is one diameter with no minor losses. There is no efficiency, power, NPSH or cavitation check, and no speed or parallel pump operation. To use a real pump, replace the shut-off head and free delivery with values that fit its curve. It does not apply load factors, resistance factors or any limit from a design standard. If you need a code check, use the formulas your standard requires, and treat this sheet as a way to see the mechanics and to check hand calculations.

The sheet source

# Pump and pipeline: operating point

A template with inputs. Choose **Input** in the results bar to fill in the form. A pump lifts water
through a pipeline to a higher tank. The pump delivers the head $H_p = H_0 \left(1 - (Q/Q_{max})^2\right)$
at the flow $Q$ (a shut-off head $H_0$ and a free delivery $Q_{max}$). The pipeline needs the head
$H_s = H_{st} + f \frac{L}{D}\frac{v^2}{2g}$, the static lift plus the friction loss with a constant friction
factor $f$. The pump runs where the two curves cross. The table and the plot follow the form.

## Inputs
pump: ? (Small = 1, *Medium = 2, Large = 3) | pump
D:    ? [100 mm = 100 mm, *150 mm = 150 mm, 200 mm = 200 mm] | pipe inside diameter
L_p:  ? 400 m | pipe length
H_st: ? 15 m | static lift, from the water surface to the tank
aged: ? off | aged pipe (rougher: the friction factor is 0.030, not 0.018)

## Pump curves
The input above picks one entry of each list.

H0_tab:   [30 m, 40 m, 50 m] | shut-off head
Qmax_tab: [60 L/s, 75 L/s, 90 L/s] | free delivery
H_0:   H0_tab.pump -> m
Q_max: Qmax_tab.pump -> L/s
if pump == 1: "The pump is the small one."
if pump == 2: "The pump is the medium one."
if pump == 3: "The pump is the large one."

## Pipeline
g_acc: 9.81 m/s^2 | gravitational acceleration
f: 0.018 + aged * 0.012 | friction factor
A: pi * D^2 / 4 -> m^2 | flow area
K: f * L_p / D / (2 * g_acc * A^2) -> s^2/m^5 | friction head per flow squared

## Operating point
The two curves cross where $H_0 - H_0 Q^2/Q_{max}^2 = H_{st} + K Q^2$, so
$Q^2 = (H_0 - H_{st}) / (K + H_0/Q_{max}^2)$.

H_net: H_0 - H_st -> m | head the pump has above the static lift
if H_net <= 0 m: "The pump cannot lift the water to the tank: choose a larger pump or lower the static lift."
Q_op: sqrt(max(H_net, 0 m) / (K + H_0 / Q_max^2)) -> L/s | flow at the operating point
H_op: H_0 * (1 - (Q_op / Q_max)^2) -> m | head at the operating point
v:    Q_op / A -> m/s | velocity in the pipe
if v > 3 m/s: "The velocity is above 3 m/s: expect noise and wear, use a larger pipe." else: "The velocity is within 3 m/s."

## Table
Q_v:  [0, 10, 20, 30, 40, 50, 60] * 1 L/s | flows in the table
H_pv: H_0 * (1 - (Q_v / Q_max)^2) -> m | pump head
H_sv: H_st + K * Q_v^2 -> m | head the pipeline needs
T: augment(Q_v / (1 L/s), H_pv / (1 m), H_sv / (1 m)) | columns: flow in L/s, pump head in m, pipeline head in m

## Curves
H_p(Q): H_0 * (1 - (Q / Q_max)^2) -> m | pump head at the flow Q
H_s(Q): H_st + K * Q^2 -> m | pipeline head at the flow Q

plot H_p(x * 1 L/s) / (1 m) as "pump", H_s(x * 1 L/s) / (1 m) as "pipeline" for x in 0..60

The same crossing, found numerically from the two curves:

if H_net > 0 m:
    Q_num: solve H_p(Q) = H_s(Q) for Q in 0 L/s..Q_max -> L/s | flow where the pump head equals the pipeline head

How to use it

  1. Open the template. Choose Open this template on this page. The sheet opens in a new tab of CivilKit Calcs, with the inputs set to the values used on this page.
  2. Switch to Input mode. In the results bar choose Input. The input lines become boxes, lists, buttons and ticks.
  3. Enter your values. Change the inputs to your own. Pump size, pipe diameter, length, static lift and the aged-pipe box are the inputs. Every change recalculates the whole page.
  4. Read and export the result. Read the results and the OK or not OK lines under them. Use Report, then Print PDF, Word or Excel, to keep the calculation with its workings.

Questions

What is the operating point of a pump?

The flow and head at which the pump curve crosses the system curve of the pipeline. The pump cannot run anywhere else on that pipeline.

Can I use my own pump curve?

The template models the pump with two numbers, a shut-off head and a free delivery. Replace them with values that fit your pump, or replace the pump curve line with your own formula.

Why is the friction factor constant?

To keep the sheet simple and solvable in closed form. The pipe flow template calculates it from the Reynolds number if you want that.

Does it give efficiency or power?

No. Add a line for power using the flow and head if you know the efficiency.

Is it suitable for selecting a pump?

Use it to understand the system. Select a pump from the manufacturer's published curves.

Open this template Open a blank sheet