Simple Controls vs. Logical Controls

Product(s): WaterGEMS, WaterCAD
Version(s): V8i, CONNECT Edition
Area:  Modeling


In WaterCAD and WaterGEMS, what is the effect of toggling the "Evaluate as simple control" check box in the Controls manager? What is the difference between simple and logical controls?


Simple Controls

1) Used in both steady state and EPS simulations.

2) Only basic conditions and actions are supported. For example, IF A THEN B. Composite actions cannot be created; for example: IF A OR B THEN C AND D. You will see a User Notification if you are trying to use types of conditions or actions that are not supported with a Simple control.

3) Time based controls ignore the operator when evaluated as simple, and always use ‘=’.

4) A steady state calculation run will only uses simple controls, and only if the "use simple controls?" calculation option is enabled (set to "True"). If the value is set to "False" or if there are no simple controls designated in the control manager window (which is done by checking the "Evaluate as "Simple" Control?" checkbox) then no controls will be considered during calculation.The screen shots for where each option is located are shown below.


5) For a particular time step the numerical solver goes through iterations to converge. If it converges at an even iteration (for example 8) then simple control conditions are checked. If another simple control condition is met, it iterates again until the hydraulics converge. If the hydraulics converge on an odd time step, simple controls aren't checked and the hydraulic timestep is complete. The act of only checking on even iterations is a mechanism used to defeat situations where the iterations would go on forever. Basically, if the control's action causes another control to trigger and that control causes the first one to trigger, it could oscillate forever and the model would not be able to converge. This is typically an indication that your controls should be revised. It is important to realize that this can also result in an incorrect solution. For example, if another simple control action would have occurred, but the solution converged on an iteration where that check is not made. This is a good reason to use logical controls instead, since the logic is different (see below).

Logical Controls 

1) Not used in steady state. (Since the action doesn't apply until the next intermediate time step)

2) Can define more complex controls, with composite conditions/actions (due to the way that they are evaluated) For example: IF A OR B THEN C AND D.

3)  Instead of determining the exact timestep at which the control would occur (like with simple), it will check every 1/10 of a calculation timestep. If a control condition would occur, the action is applied and an intermediate timestep will be created to reflect this.


See Also

How to determine if a condition or action is being shared with other controls?