Simple vs. Rule-Based Controls in InfoWater

Back to blog home

August 28, 2017 | Tim Medearis

InfoWater contains two ways users can apply controls to different model features: Simple controls and Rule-Based controls.  Simple controls  can be accessed within the Model Explorer after selecting a pipe, valve, or pump.  These controls can be used to change the status for pumps, valves, and pipes based on changes in time, pressure/head at nodes, pipe flows, etc.  For most models, these simple controls are flexible enough to satisfy rules the user wants input into the simulation.

However, if more customization is needed, users can access Rule-Based controls  (InfoWater > Edit > Rule-Based Control…).  These controls can include If-Then-Else statements based on a wide range of system parameters and can be prioritized as well.  Note also that if the user wants to user these Rule-Based controls within a simulation, they must check the ‘Enable Rule Control’ option in the Simulation Options window.

The InfoWater User Guide states that Rule-Based controls override Simple controls whenever their conditions conflict.  However, for users using both these types of rules heavily, it may be necessary to understand this at a deeper level.  Both sets of controls are evaluated at the specified Rule Timestep, which is recommended to be atleast 1/10 of the hydraulic time step.  In the first trial for each time step, Rule-Based controls override simple controls if they come into conflict.  However, for trials beyond Trial #1, only simple controls will change pump, valve, or pipe status.  Rule-Based controls are not run for trials beyond trial #1.  Because of this, it is very important to minimize your Rule Timestep, especially if you are using Rule-Based controls.

In addition, Rule-Based controls use an ‘OR’ premise which operates differently than some users may be accustomed to.  See the statement below:

screenshot of dialog box

One might expect that this statement would mean the following: (IF Tank 5004 > 124 AND Pipe 8025 < 10) OR Junction J346 < 136, THEN V8010 = 60.

However, EPANET, whose engine InfoWater is compatible with, interprets the statement like this: (IF T5004 > 124 AND Pipe 8025 < 10) AND ALSO IF J346 < 136, THEN V8010 = 60.  This means that all statements must be true in order for the action to be taken.  It is a different, and perhaps, unintuitive way to use an ‘OR’ statement, but it is what EPANET uses.

Whenever you use any type of controls within your model, it is always best to test them out first and verify exactly what they are doing before making any conclusions.  For more information, please contact our friendly Innovyze staff in your region.

Happy modeling!

Find out more

Contact us

Tags: rule-based controls

About the Authors

Tim Medearis

Tim Medearis

Sales Engineer


Tim is a Sales Engineer based in our Americas region. He joined Innovyze in July 2016 after completing his Master's degree with research in hydrology and industrial water treatment. He has worked extensively with Innovyze’s asset management software and has assisted in training, implementation, and support with hundreds of Innovyze customers around the world.