Using the Maximum Traversals option with non-converging StormCAD and SewerCAD models

  Applies To 
  Product(s): StormCAD,  CivilStorm, SewerGEMS
  Version(s): 08.11.03.77 and higher
  Area:  Calculations

Problem

When using the GVF-Convex (SewerCAD) or GVF-Rational (StormCAD) solver, in some cases you may have a model that is converging in some return events but not converging in others. For example the 2 yr, 10yr, and 100 yr scenarios converge, but the 25 yr scenario is not converging. The Calculation summary may show "Convergence was NOT achieved."

You may also see different hydraulic results between using a value less than 30 versus a value higher than 30 for the Maximum Network Traversals calculation option.

How can the maximum network traversals calculation option help and how does it work? Shouldn't the results be the same as long as they are converging?

This applies to StormCAD as well as the GVF-Rational numerical solver in CivilStorm and SewerGEMS.

Solution

Resolving the convergence issues should first start with an analysis of the model configuration. Ensure that all data input is correct, as a bad value or mistakenly disconnected element could cause problems. Also check if extreme flooding conditions occur in the model, as this makes it much more difficult to solve.

If this does not help, open the calculation option set (Analysis > Calculation Options) that is assigned to the troublesome scenario that is not converging. When viewing the properties try to change "Maximum Network Traversals" (Trials) under the Analysis section. By default this option is set to 5. Try setting this number to a larger number such as 10, 20, 30 , or 40. Sometimes it just takes a few more trials extra traversals for the model to achieve convergence.

Starting with the latest cumulative patch set for the V8i SELECTSeries 3 release (automatically included in later builds) a convergence enhancement is included and invoked when setting the Maximum Network Traversals to a value of 30 or greater. For any models where the Max traversals option is set to a value below 30, there should be no change in the results.

The reason why this enhancement was made was because some models had trouble converging with pipes flowing near the crown, in the 'instability zone'. This is the range of depths just below the pipe crown of a circular pipe, where there are two conjugate depths for the same flow. (yn and yn' in the below illustration of normal depth vs flow).

As a side note, this problem occurs even with the Simplified Capacity Analysis option, because of the Actual Uniform Flow Velocity method. The velocity calculated from this method is always based on uniform flow, so the velocity is the same in both the Capacity and Backwater analysis methods (since the flow and physical properties stay the same.)

One of our assumptions in this situation was causing an increased likelihood for the solver to have trouble converging. When using the uniform flow velocity method, if the pipe's depth corresponds to a surcharged condition (both start and stop depth above crown), the full flow velocity method is used (V=Q/A). This assumption causes instability in the case of pipes flowing near full, due to the velocity change occurring between the surcharged depth and non-surcharged depth condition. Basically the abrupt change could cause the solver to bounce back and forth between these states (surcharged depth/full flow velocity and non-surcharged depth / uniform flow velocity), leading to convergence issues.

To fix this (with traversals set to 30 or higher), we changed the assumption here, so that it aligns with the normal depth assumption with the uniform flow velocity method. We removed the aforementioned depth check, so that the solver will only compare the pipe's flow to the "QMax" (typically about 15% higher than the "full capacity", which is the flow with normal depth equal to the crown) to determine when to use the full flow velocity method (V=Q/A). This is more consistent with the uniform flow assumption and is more stable.

In short, the default should be left as 5 traversals (and default flow tolerance of 0.001). After that If a model has trouble converging try increasing the max traversals option. Between a value of 20 and 29 for max traversals, a relaxation algorithm will be applied. In difficult cases where pipes are flowing near the top, increasing it to 30 or higher should help, by eliminating the depth check as explained above.


See Also

My scenario is not converging on a solution. Convergence NOT achieved in StormCAD

Recommended
Related