What should the "flow tolerance" be set to?

 Applies To Product(s): HAMMER Version(s): 08.11.xx.xx, 10.XX.XX.XX Area: Modeling Original Author: Jesse Dringoli, Bentley Technical Support Group

Problem

What should the "flow tolerance" be set to?

What is a good value for flow tolerance?

Solution

The flow tolerance determines if a pipe is considered as having zero flow or not. The best value to use for the Flow Tolerance field in the transient calculation options depends on the modeling situation. If you have pipes whose flow is zero in the initial conditions (such as near a pump that is off), you will need to make sure the flow tolerance is higher than the flow seen in those pipes. There's always going to be a little bit of calculation noise, so pipes whose flows should be zero might be something like 0.0004567. So, be sure to change the decimal precision on both the flow tolerance field and the computed flow field and compare the two. If all of the pipes in your model have positive flows, you don't need to worry about what to set the flow tolerance to.

When the flow in a pipe in the initial conditions is less than the tolerance, it will be considered as having exactly zero flow during the transient simulation, which changes the method by which hammer compute the DW friction factor to use for those pipes. The flow tolerance should be small enough so that pipes with positive flow aren't considered as having zero flow, but large enough so that pipes that do have zero flow are considered as such

If you have a pipe that basically has zero flow in the initial conditions, yet some numerical noise causes it to be slightly above the tolerance, the friction factor will not be accurate. On the other hand if you have a pipe with just a little bit of a flow in it, yet you set the flow tolerance too high, it could be considered as having zero flow and will result in calculation errors.

If you have a pipe that is expected to have a small flow, then to avoid friction factor calculation errors, you should either lower the Flow Tolerance below the flow seen in the pipe in question (which causes it to directly calculate the friction factor based on the roughness factor in the pipe), or set the "Round pipe heads" calculation option to "true" and enter a number of decimal places that results in the pipe headloss rounding to zero (in which case it will use a zero for the friction factor).