This technote describes the process by which a user can model a pump startup transient event in HAMMER V8i. It also provides an example model file for demonstration.
In the previous version of HAMMER, V8 XM, a lengthy procedure was required to model a pump startup. (See Modeling a Pump start-up transient event in Bentley HAMMER V8 XM) The user needed to first obtain the rated operating point of the pump by turning it on, then turn the pump off, copy the initial conditions to the user defined fields and enter the rated head/flow, along with valve initial status. This can be cumbersome in some situations. For this reason, HAMMER V8i introduced a new transient pump type called "Pump Start - variable speed/torque". This allows the user to specify the rated head and flow of the pump without having to specify initial conditions. This can greatly simplify the steps need to model a pump startup event.
Before performing these steps, ensure that the demands, physical properties and other settings in the model describe the condition that you would like to represent. Meaning, if you would like to see the transient effects of the pump turning on during high demands and low tank level, ensure that the demands and tank level are adjusted as such. Ensure that the efficiency and transient rotational speed in your pump definition represent the "nominal" conditions. Meaning, the speed should be the speed at which the pump produces the flow/head seen when the pump in question is on (usually full speed), and the efficiency should be the efficiency at that nominal flow/head.
This walkthrough also assumes a steady-state analysis for the initial conditions and that you have storage downstream of the pump in question, or other pumps, either of which could supply the demands you have entered when the pump in question is off.
1. First, turn the pump on by selecting "On" as the "Status (Initial)" under the Initial settings section of its properties.
2. Go to Analysis > Compute Initial conditions. This invokes the pressure engine to allow us to see the point where it would operate on its characteristic curve, when it turns on.
3. Double click the pump in question to view the properties. Under the "Results" section, you will see the pump operating point. Write down the values seen for "Flow (Total)" and "Pump Head". We will use these later on.
If you have any active valves in the model (TCV, GPV, PRV, PSV, FCV, PBV), in places where the flow is zero or near zero in the initial conditions, you will need to find the correct discharge coefficient during this step. To do so, either check for the computed discharge coefficient in the results section of the properties, or temporarily select "true" for "specify initial conditions?" in the transient calculation options, click the valve, then go to Tools > Copy Initial Conditions, choose "selection", then OK - you will now see the discharge coefficient in the "transient (initial)" section of the properties. Record this value and set the "specify initial conditions?" calculation option back to "false". For any valves that you need to do this, morph them into a TCV, choosing "discharge coefficient" as the type, "Active" as the initial status, then enter the discharge coefficient that you recorded. If you do not do this, then HAMMER may use a discharge coefficient that will be inaccurate for higher flow rates once the pump turns back on. (since it will be based on zero or near-zero flow).
4. Under the "Transient (Operational)" section of the pump properties, select "Pump start - variable speed/torque" as the "Pump type (transient)" and enter the appropriate diameter. If the pump has a built-in check valve, enter "0" for the "Time (for valve to operate)", else enter the time that it takes for the built in valve to open (5 sec, 10 sec, 30 sec, etc...). To simulate a pump with no check valve enter a very small number like 0.1 seconds, so the valve is open immediately. Most likely you will enter zero for this.
5. Enter the pump flow and pump head found in step 3, in the "Flow (nominal)" and "Head (nominal)" fields.
6. Change the pump's Status (Initial) under the initial settings to "off" and re-compute initial conditions.
7. Now we must define when and how fast the pump starts up. Go to Components > Patterns to open the Pattern manager. Right click on "Operational (Transient, pump)" select "new" and enter a name. On the right side of this window, enter zero for the starting multiplier, since the starting relative speed factor should be zero (meaning the pump is off.) In the bottom-right table, define the pattern of time versus relative speed multiplier. In the example below, the relative speed factor jumps from zero to 1.00 (full speed) between 6 and 7 seconds, and then stays on for the duration of the simulation.
8. Close the pattern manager and select the pattern that you just created, from the "Operating Rule" dropdown in the pump properties. At this point, the pump properties should look similar to this:
9. The model is now correctly set up and you can compute the transient simulation. Go to Analysis > Compute.Note: If your pump is a variable speed pump ("Is variable speed pump?" = "True"), then you may encounter a notification stating that the rotational speed must be greater than zero. If you encounter this problem, you will need to re-run the initial conditions with the VSP turned on, note the computed relative speed factor, enter it as the "relative speed factor (initial)", set the initial status back to "off", set "Is variable speed pump?" to "false", re-compute initial conditions, then compute the transient simulation.
Note: If your pump is a variable speed pump ("Is variable speed pump?" = "True"), then you may encounter a notification stating that the rotational speed must be greater than zero. If you encounter this problem, you will need to re-run the initial conditions with the VSP turned on, note the computed relative speed factor, enter it as the "relative speed factor (initial)", set the initial status back to "off", set "Is variable speed pump?" to "false", re-compute initial conditions, then compute the transient simulation.
The results of this model can be viewed just like any other transient simulation. Go to Analysis > Transient Results Viewer. To view a graph of head and flow for the pump, you may want to select a time history for the pipe end adjacent to the pump:
As you can see, when the pump starts up, a transient occurs. After about 40 seconds, the head/flow stabilize to the nominal conditions. Note that in many cases, you may not see flow start to occur through the pump until the speed has increased enough so that the downstream head can be overcome.
You can also select a transient profile and click the "animation" button:
As you can see, there are some problems with vapor pockets forming upstream of the pump when it starts up. A surge tank may be required in this case.
Note that you can also view extended data specific to the pump, by entering a number for the "report period" attribute of its properties. For example, "10" would mean that extended data will be reported every 10 timesteps. You can view this report by going to Report > Transient Analysis Reports > Transient Analysis detailed report. At the very bottom of this text report, you will see the table of flow, speed, upstream and downstream head:
If all else fails, you could consider starting your transient simulation with the pumps on, then use the variable speed transient pump type to have them turn off then turn back on again. You can use the "Report history after" transient calculation option to have the transient reports begin after the pumps have settled in their off position.
Click to Download
Note: the above model is for example purposes only. It can be opened in version 08.11.00.30 and above and you can find additional information under File > Project Properties.
Product TechNotes and FAQs
Haestad Methods Product Tech Notes And FAQs
Hydraulics and Hydrology Forum
Bentley LEARN Server
Bentley's Technical Support Group requests that you please confine any comments you have on this Wiki entry to this "Comments or Corrections?" section. THANK YOU!