### Balancing a Pump Curve against a System Curve

Introduction
This article will demonstrate how you can balance a pump curve against a system curve to calculate liquid velocity with Excel.

First, we'll develop the equations that determine the liquid velocity in a simple pump and pipe system.  Then we'll discuss how these equations be solved using Excel's Goal Seek feature. Finally, we'll show Visual Basic code that can be used to automate Goal Seek so that any parameter change will automatically calculate the new liquid velocity.

Pump and Pipe System
Consider a centrifugal pump receiving liquid from a reservoir and forcing liquid through a pipe to a reservoir.

First consider the pump.  Its flowrate-head curve is can be described by a polynomial derived from empirical data, where a, b and c are best-fit coefficients, and Q is the volumetric flowrate

 Equation 1
But the volumetric flowrate is

 Equation 2
where A is the cross-sectional area of the pipe and V is the liquid velocity through the pipe.  Substituting Equation 2 into Equation 1 to eliminate Q gives

 Equation 3
This equation now describes the head produced by the pump as a function of the liquid velocity through the pipe.

Now consider the pipe.  Frictional head loss through the pipe can be described by the Bernoulli equation and written as

 Equation 4
We'll call Equation 4 the System Curve. f is the friction factor, given by the Haaland Equation.

 Equation 5
where Re is the Reynolds Number.

 Equation 6
The Haaland equation is only valid in turbulent flow, i.e. if the Reynolds Number is over 2500.

For our pump and pipe system, the pump head is equal to the head loss in the pipe.  Hence
 Equation 7
We can now use Excel to find the liquid velocity that satisfies Equation 7 (effectively determining the intersection between the pump curve and the system curve).

Excel Implementation
The Excel spreadsheet uses this cell coloring convention.

Step 1.  First define the parameters and calculate the cross-sectional area of the pipe.

Step 2. Now define the coefficients of the pump curve

Step 3. Set up the calculations required by Goal Seek

Step 4. Go to Data > What-If Analysis > Goal Seek.  Make the changes such that we find the liquid velocity that makes difference between pump curve and the system curve equal to zero.

You should now have the correct value of the liquid velocity.

Ensure that the Reynolds number is greater than 2500 so that our assumption of turbulent flow (and hence the use of the Haaland equation) is verified.

Visual Basic Macro to Automate Goal Seek
If you're really keen, you can use Visual Basic to automate Goal Seek.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim bSuccess As Boolean
On Error Resume Next
bSuccess = Range("C23").GoalSeek(0, Range("c18"))
On Error GoTo 0
If Not bSuccess Then
MsgBox "Goal Seek Failed"
End If
End Sub

Whenever any value in the worksheet is changed, the Worksheet_Change() event is initiated .  The VB code then asks GoalSeek() to find the liquid velocity ("C18") that makes the difference between the pump and system curve ("C23") equal to zero.