On some occasions, a user may want to specify both the head and flow at a pump. To understand why this can’t be done, you need to understand how the hydraulic solver works.
The model has one unknown for every hydraulic element. For pipes, it is flow and for nodes, it is either head (junctions, hydrants) or flow (reservoir, tank). This enables the model to set up a matrix with n-rows and n-columns corresponding to n-nonlinear equations and n-unknowns.
If the user specifies both head and flow at a pump, then the matrix is over-specified, and it is very likely, that the problem can’t be solved. Therefore, flow and head can’t be simultaneously specified at a pump.
There are three ways to represent a pump in the model, the “correct way” using the pump curve and two shortcuts—known inflow or known head.
It is generally best not to force a flow or head from a pump and instead, let the model find the correct operating point (flow and head) on the curve. This is the only approach that will yield correct energy costs.
However, there may be cases where using one of the shortcuts may work. For example, in the distant future in a planning study, the actual pump will not be known but the user can reasonably assume that the hydraulic grade from the pump station will be near a certain value. In that case a fixed head may be acceptable. In another case during model calibration, the user may know pump station outflow exactly from SCADA data and is not interested in calibrating the pump curve and only wants to calibrate head in the system over time. The pump station discharge flow can be represented as an inflow (negative demand) with a pattern.
How are pumps handled in each OpenFlows product?
Using pump flow test data to create a pump curve
General Pump Selection Process
Understanding System Head Curves
Can I set the value of flow and pump head to a specific number like the value from SCADA? (Forum discussion)