GeoPilotPipePilot DocumentationOpen PipePilot

Pumps and pump curves

Model a pump set with a head curve, see how EPANET reads one, three and many points, find the operating point against the system curve, and switch pumps with tank-level controls.

Add a pump

  1. Pick Add Pump, click the suction node, then the delivery node. Direction matters: water is pumped from the start node to the end node.
  2. Create the head curve: in the Browser's Data tab choose Curves and press Add. In the Curve Editor set the type to PUMP and type the flow and head points from the manufacturer's sheet, in the project's units (L/s and m in an LPS project).
  3. Select the pump and choose that curve in Pump Curve in the Property Editor.
  4. Run, then open Report > Pump Curve... or press Pump Curve... under the pump's properties to check where it operates.

A pump with no curve can run at a constant Power instead, but a head curve is what DPR pumping design needs. Speed is the relative speed (1 is the curve as entered) and Pattern varies it over time. Effic. Curve, Energy Price and Price Pattern feed Report > Energy.

How EPANET reads a curve

Points enteredWhat EPANET uses
One point (design flow, design head)A smooth curve through it, assuming a shutoff head of 133% of the design head and zero head at twice the design flow.
Three points, the first at zero flowA smooth curve, Head = A - B x Flow^C, through all three: shutoff, design and maximum flow.
Any other set of pointsStraight lines joining the points. Beyond the last point the last segment is extended, even to a negative head, with a warning. The first point's head is taken as the shutoff head.

Head must fall as flow rises from point to point, or EPANET rejects the curve with error 227.

A single-point curve is a guess everywhere except at the design point. Away from it, and above twice the design flow, results are not reliable. Where you have the manufacturer's curve, enter at least the shutoff head, the design point and the maximum flow.

The Pump Curve window

Open it from Report > Pump Curve... and choose a pump, or from the Pump Curve... button under a selected pump. It shows:

  • The curve type (single-point, three-point or multi-point), the equation EPANET will use, the Shutoff head and Max flow.
  • A chart of the pump curve, the curve points, the system curve, the points the pump actually ran at in the last run, and the Operating point where the pump and system curves cross.
  • Warnings in plain words: a single-point curve, a first point not at zero flow, run points past the end of the curve, a speed setting other than 1, results older than the inputs.

The system curve and the operating point

The system curve is the head the network asks of the pump at each flow: the static lift plus friction, h = Hs + k q^n, where n is 1.852 with Hazen-Williams. The pump runs where its curve meets the system curve.

  • From the run: after a run, the window takes the static lift from the nearest tank or reservoir on each side of the pump and fits k through the flow and head the pump delivered at the current time. It names the two storage nodes it chose. In a network, demands and other sources move the system curve, so treat this as an approximation.
  • Entered by hand: type the Static lift and the Friction at design flow. The defaults are the difference in initial storage levels and the friction that puts the system curve through the design point.

If the pump cannot lift the static head at all, the window says there is no operating point. That matches EPANET's "cannot deliver head" warning in a run.

Convert a single-point curve

For a single-point curve, Convert to 3-point curve replaces it with the three points EPANET already derives from the one: zero flow at 133% of the design head, the design point, and twice the design flow at zero head. Results stay the same, and you can then edit the points to match the manufacturer's sheet. If other pumps share the curve, the window lists them, because they change too.

Switching pumps on tank level

A pump that fills an ESR is normally switched by the ESR level. Write simple controls in the Browser: Data tab, Controls, Simple. The Pumped rising main sample uses:

  • LINK P1 OPEN IF NODE BT BELOW 1.5
  • LINK P1 CLOSED IF NODE BT ABOVE 4.5

Levels are measured from the tank floor, in metres in an LPS project. EPANET checks the text when you press OK, and a rejected line comes back with EPANET's own message so you can fix it. Controls only act in an extended period run.

Duty and standby pumps

Model each pump as its own link with the same curve. Set the standby pump's Initial Status to Closed. To model a changeover, open the standby and close the duty pump. Put a short pipe with Initial Status CV on each delivery to act as the non-return valve, so water cannot flow back through a stopped pump.