HAMMER provides several different ways to model a check valve, otherwise known as a “non-return” or “backflow preventer”. This Technote explains how each type of check valve works and when to use it.
This article was written in the context of a transient simulation in Bentley HAMMER, but a pipe or node check valve also works (prevents reverse flow) during a steady state or EPS in WaterCAD and WaterGEMS as well.
The first and simplest way to model a check valve is to place it on a pipe element. This is done by simply selecting “True” for the “Has check valve?” property of the pipe. This would be done on the pipe where the check valve would be located.
With this check valve approach, the following is assumed during the transient simulation:
When using a check valve on a pipe, you will notice a symbol appear on the pipe:
Another way to model a check valve is through the pump node element. If you’re modeling a Shut After Time Delay event, this is done by selecting “Check Valve” for the “Pump Valve Type”. If you’re modeling a Pump Startup or Variable Speed event, this is done by entering a zero for the “Time (For Valve To Operate)” field.
You have a check valve built into your pump, or if you’d like to assume the distance between the pump and downstream check valve is negligible. Similar to the pipe check valve, an instant closure is assumed, upon first detection of reverse flow. The pump node itself closes, preventing reverse flow.
Note: the pump check valve will not re-open if forward-flow occurs. See: The check valve in a pump in a HAMMER model is not reopening
The third way to model a check valve is by using the Check Valve node element. Simply place the check valve node in place of a junction, or even along the length of the pipe where the check valve exists (choose ‘yes’ when asked if you’d like to split the pipe).
*Make sure to set the Downstream Pipe so the check valve is facing the correct direction in the general section of the valve properties as shown below:
When using this approach to explicitly model the check valve as a node element, make sure that the pump valve type is adjusted accordingly. Meaning, if the check valve is modeled in the check valve node element and you want to remove the check valve in the pump (so as not to have two check valves), set the pump's "Pump Valve Type" to "Control Valve" and enter a un-achievable large number for the "Time (for valve to close)" like 9999999. See more in Modeling a pump that has neither a check valve nor a control valve.
The check valve node element is more flexible than the pump and pipe check valves, since it provides the following settings:
Closing Time: The time to close the valve, from the fully open position, after reverse flow is sensed. This also establishes the linear rate of closure used if the valve is partially open when it starts to close. Set this to zero for instantaneous closure.
Pressure Threshold –The pressure difference between the upstream and downstream side needed to reopen a closed check valve. If you select zero for this, the valve will reopen as soon as the upstream pressure exceeds the downstream pressure.
Opening Time: The time to open the valve, from the fully closed position, after the specified valve opening pressure threshold is exceeded. This also establishes the linear rate of opening used if the valve is partially closed when it starts to open. Set this to zero for instantaneous opening
Allow Disruption of Operation?: Denotes whether an operation (opening or closing) can be terminated prematurely due to a signal to reverse. False means that an opening or closing operation must complete once it starts (useful, for example, if the check valve is motorized and must fully close or open). True means that an opening or closing operation may be aborted at any time if the system conditions dictate. For example, if the check valve is half closed and the system pressures change (so that upstream pressure becomes higher than downstream pressure), then the valve will start to open again. Normally this field will be set to ‘True’.
When using the check valve node element, you will see a user notification message for each change in the check valve position (starting to open, starting to close and interruptions) See further below regarding headloss in the partially-open condition.
Introducing a delay in the closure of a check valve may prove to be more accurate, and sometimes more conservative. The reason is because in the case of an instantly closing check valve, the water column is essentially at rest at the time when it closes (zero flow). In contrast, if it takes some amount of time to close the check valve, momentum from the reverse flow is allowed to build up before the closure. Therefore the water column has some energy when the check valve closes, often resulting in more severe upsurge pressures.
Consider the below graphs, which show the head and flow over time for an emergency pump shut down event, comparing instant closure (using either the pipe or pump check valve) to slow closure with a delay of 0.1 seconds and 0.5 seconds (using the check valve node).
In the two slow closure cases, you can see that the peak HGL is higher than in the instant closure case. After 2 seconds, you can see from the flow graph that some reverse velocity has built up as the check valve closes, causing the increased pressure surge when the valve has fully closed. You can also observe that a closure delay of 0.5 seconds results in a higher pressure surge than a delay of 0.1 seconds, due to the increased time for reverse velocity to increase.
If you need to model a check valve with multi-stage closure (for example fast start and slow finish), this would need to be done manually with a Throttle Control Valve (TCV), because the check valve node element models a linear closure. With this approach, the time that the valve starts to close is manual. Meaning, it cannot be set to start closing upon detection of reverse flow. If you were to place a check valve next to the TCV, then both the TCV and the check valve would close, which would not produce the desired result.
Here is an article that goes into more detail on the actual closure aspect of modeling the TCV: Modeling Reference - Valve Closure
If the two "stages" of closure are a fast start followed by a slower finish, you could also consider checking the sensitivity by running the model with a check valve set to the slower rate, than another scenario with the check valve set to the faster rate. In some cases, a faster closure of the check valve could produce more conservative results - if the check valve takes too long to close, reverse velocity can build up, compared to a faster closure where that reverse velocity may not have a chance to build up yet. See the note and illustrations above regarding this.
When using the check valve node element, the HAMMER numerical solver can calculate the fraction of total opening (based on the open time and closure time), termed 'F'.
When the check valve is 100% open, the check valve headloss coefficient K= 0;
When the check valve is partially open, HAMMER uses the following equation to calculate the partially open headloss coefficient, based on the fraction open, flow and downstream pipe diameter.
A = F * (0.611 + 0.389 * F0.45)
Headloss coefficient K = (1 – 1 / A)2
With the headloss coefficient 'K', HAMMER uses the following formula to calculate headloss at the check valve with partial opening:
Headloss = K * V2/(2*G) = K * Q2 / (1.2337*G*D4)
G is gravity accelerationD is the diameter of the pipe downstream of the check valve. (ft, m)Q is the flow through the check valve (CFS, CMS)V is the velocity through the check valve (ft/s, m/s)K = Headloss coefficient / Minor loss coefficientF = fraction open (from zero to 1.0)
Reverse Velocity vs. Deceleration curves for a check valve
Modeling a pump that has neither a check valve nor a control valve
Protective Equipment FAQ
General HAMMER V8i FAQ