A condition clause in a Rule-Based Control takes the form of:
object id attribute relation value
where
object | = | a category of network object |
id | = | the object's ID label |
attribute | = | an attribute or property of the object |
relation | = | a relational operator |
value | = | an attribute value |
Some example conditional clauses are:
JUNCTION 23 PRESSURE > 20
TANK T200 FILLTIME BELOW 3.5
LINK 44 STATUS IS OPEN
SYSTEM CLOCKTIME = 7:30 AM
SYSTEM DEMAND >= 1500
Objects can be any of the following keywords:
NODE JUNCTION TANK RESERVOIR
LINK PIPE PUMP VALVE
SYSTEM
When SYSTEM is used in a condition no ID is supplied.
The following attributes can be used with Node-type objects:
DEMAND
HEAD
PRESSURE
The following attributes can be used with Tanks:
LEVEL
FILLTIME (hours needed to fill a tank)
DRAINTIME (hours needed to empty a tank)
These attributes can be used with Link-Type objects:
FLOW
STATUS (OPEN, CLOSED, or ACTIVE)
SETTING (pump speed or valve setting)
The SYSTEM object can use the following attributes:
DEMAND | (total system demand) |
TIME | (hours from the start of the simulation expressed |
either as a decimal number or in hours:minutes format) | |
CLOCKTIME | (24-hour clock time with AM or PM appended) |
Relation operators consist of the following:
= | IS |
<> | NOT |
< | BELOW |
> | ABOVE |
<= | |
>= |