Modeling Reference - Check Valves in HAMMER

Product(s): HAMMER
Version(s): V8i, Connect Edition
Area: Modeling


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. 

Pipe Check Valve

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:

  • The check valve is located at the center point of the pipe
  • The check valve closes instantly on first detection of reverse flow 

When using a check valve on a pipe, you will notice a symbol appear on the pipe:


Pump Check Valve

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.

This approach would be used when

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.

Check Valve Element

The third way to model a check valve is by using the Check Valve node element. 

Note: 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. For instance, if the check valve is modeled with the check valve element and you not want to model the check valve in the pump, set the pump property "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 approach should be used when

  • You would like to see the check valve as a node, for visual or reporting purposes.
  • You need to model a check valve that has a delayed closure instead of an instant closure.
  • You need to model other advanced things, such as the pressure required to re-open the valve.
  • You want to model check valve at a wye junction in model.
  • You want to us a Check Valve Dynamic Curve or reverse velocity vs. deceleration curve (Note: this is available starting with HAMMER version

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’.

Check Valve Dynamic Curve: Starting with HAMMER CONNECT Edition Update 3 (version, a Check Valve Dynamic Curve or reverse velocity vs. deceleration curve can be modeled. See this link for more information. 

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.

Slam vs. Non-Slam Check valve

A "non-slam" check valve is modeled using a closure delay of zero (closed instantly upon flow reversal), which can be modeled with the pipe, pump or node check valve. See more here: Modeling a Non-slam Check Valve

Multi-stage or two-stage (dual stage) Check Valve Closure

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 node 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.

Headloss Across the Check Valve Node

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 acceleration
D 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 coefficient
F = fraction open (from zero to 1.0)

See Also

Check Valve Dynamic Curve or Reverse Velocity vs. Deceleration Curves for a Check Valve in HAMMER

Modeling a pump that has neither a check valve nor a control valve

Protective Equipment FAQ

General HAMMER V8i FAQ