OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::controls Namespace Reference

Classes

struct  Action
 
class  ControlEngine
 Mutable compiled control rules and per-action PID history. Use one owning simulation thread. Rule/context edits, parsing and evaluation must be serialized. No method catches allocation failures or rolls back all preceding mutations on exception. Hydraulic quantities use project display units; serial dates/time comparisons use SWMM days unless stated otherwise. More...
 
struct  NamedVariable
 
struct  ParseError
 Diagnostic for the most recent parseRuleText() rejection. More...
 
struct  PIDState
 
struct  Premise
 
struct  Rule
 

Enumerations

enum class  CompareOp : int {
  EQ = 0 ,
  NE = 1 ,
  LT = 2 ,
  LE = 3 ,
  GT = 4 ,
  GE = 5
}
 
enum class  LogicOp : int {
  AND = 0 ,
  OR = 1
}
 
enum class  ConditionVar : int {
  NODE_DEPTH = 0 ,
  NODE_MAXDEPTH = 1 ,
  NODE_HEAD = 2 ,
  NODE_VOLUME = 3 ,
  NODE_INFLOW = 4 ,
  LINK_FLOW = 10 ,
  LINK_DEPTH = 11 ,
  LINK_SETTING = 12 ,
  LINK_STATUS = 13 ,
  LINK_FULLFLOW = 14 ,
  LINK_FULLDEPTH = 15 ,
  LINK_VELOCITY = 16 ,
  LINK_LENGTH = 17 ,
  LINK_SLOPE = 18 ,
  LINK_TIMEOPEN = 19 ,
  LINK_TIMECLOSED = 20 ,
  GAGE_RAIN = 30 ,
  GAGE_RAIN_PAST = 31 ,
  SIM_TIME = 40 ,
  SIM_DATE = 41 ,
  CLOCK_TIME = 42 ,
  SIM_DAY = 43 ,
  SIM_MONTH = 44 ,
  SIM_DAYOFYEAR = 45
}
 
enum class  ActionType : int {
  NUMERIC = 0 ,
  CURVE = 1 ,
  TIMESERIES = 2 ,
  PID = 3
}
 

Enumeration Type Documentation

◆ ActionType

enum class openswmm::controls::ActionType : int
strong
Enumerator
NUMERIC 

Direct numeric setting value.

CURVE 

Setting from curve lookup(ControlValue)

TIMESERIES 

Setting from timeseries lookup(currentTime)

PID 

PID controller output.

◆ CompareOp

enum class openswmm::controls::CompareOp : int
strong
Enumerator
EQ 
NE 
LT 
LE 
GT 
GE 

◆ ConditionVar

enum class openswmm::controls::ConditionVar : int
strong
Enumerator
NODE_DEPTH 
NODE_MAXDEPTH 
NODE_HEAD 
NODE_VOLUME 
NODE_INFLOW 
LINK_FLOW 
LINK_DEPTH 
LINK_SETTING 
LINK_STATUS 
LINK_FULLFLOW 
LINK_FULLDEPTH 
LINK_VELOCITY 
LINK_LENGTH 
LINK_SLOPE 
LINK_TIMEOPEN 
LINK_TIMECLOSED 
GAGE_RAIN 

Current rainfall intensity.

GAGE_RAIN_PAST 

Past n-hours rainfall (n stored in parameter field)

SIM_TIME 
SIM_DATE 
CLOCK_TIME 
SIM_DAY 

Day of week (1-7, Sun=1)

SIM_MONTH 

Month (1-12)

SIM_DAYOFYEAR 

Day of year (1-365)

◆ LogicOp

enum class openswmm::controls::LogicOp : int
strong
Enumerator
AND 
OR