EPANET
Macros | Enumerations
epanet2_enums.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define EN_MISSING   -1.E10
 Missing value indicator.
 
#define EN_SET_CLOSED   -1.E10
 Link set closed indicator.
 
#define EN_SET_OPEN   1.E10
 Link set open indicator.
 
#define EN_FALSE   0
 boolean false
 
#define EN_TRUE   1
 boolean true
 

Enumerations

enum  EN_SizeLimits { EN_MAXID = 31, EN_MAXMSG = 255 }
 Character array size limits. More...
 
enum  EN_NodeProperty {
  EN_ELEVATION = 0, EN_BASEDEMAND = 1, EN_PATTERN = 2, EN_EMITTER = 3,
  EN_INITQUAL = 4, EN_SOURCEQUAL = 5, EN_SOURCEPAT = 6, EN_SOURCETYPE = 7,
  EN_TANKLEVEL = 8, EN_DEMAND = 9, EN_HEAD = 10, EN_PRESSURE = 11,
  EN_QUALITY = 12, EN_SOURCEMASS = 13, EN_INITVOLUME = 14, EN_MIXMODEL = 15,
  EN_MIXZONEVOL = 16, EN_TANKDIAM = 17, EN_MINVOLUME = 18, EN_VOLCURVE = 19,
  EN_MINLEVEL = 20, EN_MAXLEVEL = 21, EN_MIXFRACTION = 22, EN_TANK_KBULK = 23,
  EN_TANKVOLUME = 24, EN_MAXVOLUME = 25, EN_CANOVERFLOW = 26, EN_DEMANDDEFICIT = 27,
  EN_NODE_INCONTROL = 28, EN_EMITTERFLOW = 29, EN_LEAKAGEFLOW = 30, EN_DEMANDFLOW = 31,
  EN_FULLDEMAND = 32
}
 Node properties. More...
 
enum  EN_LinkProperty {
  EN_DIAMETER = 0, EN_LENGTH = 1, EN_ROUGHNESS = 2, EN_MINORLOSS = 3,
  EN_INITSTATUS = 4, EN_INITSETTING = 5, EN_KBULK = 6, EN_KWALL = 7,
  EN_FLOW = 8, EN_VELOCITY = 9, EN_HEADLOSS = 10, EN_STATUS = 11,
  EN_SETTING = 12, EN_ENERGY = 13, EN_LINKQUAL = 14, EN_LINKPATTERN = 15,
  EN_PUMP_STATE = 16, EN_PUMP_EFFIC = 17, EN_PUMP_POWER = 18, EN_PUMP_HCURVE = 19,
  EN_PUMP_ECURVE = 20, EN_PUMP_ECOST = 21, EN_PUMP_EPAT = 22, EN_LINK_INCONTROL = 23,
  EN_GPV_CURVE = 24, EN_PCV_CURVE = 25, EN_LEAK_AREA = 26, EN_LEAK_EXPAN = 27,
  EN_LINK_LEAKAGE = 28, EN_VALVE_TYPE = 29
}
 Link properties. More...
 
enum  EN_TimeParameter {
  EN_DURATION = 0, EN_HYDSTEP = 1, EN_QUALSTEP = 2, EN_PATTERNSTEP = 3,
  EN_PATTERNSTART = 4, EN_REPORTSTEP = 5, EN_REPORTSTART = 6, EN_RULESTEP = 7,
  EN_STATISTIC = 8, EN_PERIODS = 9, EN_STARTTIME = 10, EN_HTIME = 11,
  EN_QTIME = 12, EN_HALTFLAG = 13, EN_NEXTEVENT = 14, EN_NEXTEVENTTANK = 15
}
 Time parameters. More...
 
enum  EN_TimestepEvent {
  EN_STEP_REPORT = 0, EN_STEP_HYD = 1, EN_STEP_WQ = 2, EN_STEP_TANKEVENT = 3,
  EN_STEP_CONTROLEVENT = 4
}
 Time step events. More...
 
enum  EN_AnalysisStatistic {
  EN_ITERATIONS = 0, EN_RELATIVEERROR = 1, EN_MAXHEADERROR = 2, EN_MAXFLOWCHANGE = 3,
  EN_MASSBALANCE = 4, EN_DEFICIENTNODES = 5, EN_DEMANDREDUCTION = 6, EN_LEAKAGELOSS = 7
}
 Analysis convergence statistics. More...
 
enum  EN_ObjectType {
  EN_NODE = 0, EN_LINK = 1, EN_TIMEPAT = 2, EN_CURVE = 3,
  EN_CONTROL = 4, EN_RULE = 5
}
 Types of network objects. More...
 
enum  EN_CountType {
  EN_NODECOUNT = 0, EN_TANKCOUNT = 1, EN_LINKCOUNT = 2, EN_PATCOUNT = 3,
  EN_CURVECOUNT = 4, EN_CONTROLCOUNT = 5, EN_RULECOUNT = 6
}
 Types of objects to count. More...
 
enum  EN_NodeType { EN_JUNCTION = 0, EN_RESERVOIR = 1, EN_TANK = 2 }
 Node Types. More...
 
enum  EN_LinkType {
  EN_CVPIPE = 0, EN_PIPE = 1, EN_PUMP = 2, EN_PRV = 3,
  EN_PSV = 4, EN_PBV = 5, EN_FCV = 6, EN_TCV = 7,
  EN_GPV = 8, EN_PCV = 9
}
 Link types. More...
 
enum  EN_LinkStatusType { EN_CLOSED = 0, EN_OPEN = 1 }
 Link status. More...
 
enum  EN_PumpStateType { EN_PUMP_XHEAD = 0, EN_PUMP_CLOSED = 2, EN_PUMP_OPEN = 3, EN_PUMP_XFLOW = 5 }
 Pump states. More...
 
enum  EN_QualityType { EN_NONE = 0, EN_CHEM = 1, EN_AGE = 2, EN_TRACE = 3 }
 Types of water quality analyses. More...
 
enum  EN_SourceType { EN_CONCEN = 0, EN_MASS = 1, EN_SETPOINT = 2, EN_FLOWPACED = 3 }
 Water quality source types. More...
 
enum  EN_HeadLossType { EN_HW = 0, EN_DW = 1, EN_CM = 2 }
 Head loss formulas. More...
 
enum  EN_FlowUnits {
  EN_CFS = 0, EN_GPM = 1, EN_MGD = 2, EN_IMGD = 3,
  EN_AFD = 4, EN_LPS = 5, EN_LPM = 6, EN_MLD = 7,
  EN_CMH = 8, EN_CMD = 9, EN_CMS = 10
}
 Flow units. More...
 
enum  EN_PressUnits {
  EN_PSI = 0, EN_KPA = 1, EN_METERS = 2, EN_BAR = 3,
  EN_FEET = 4
}
 Pressure units. More...
 
enum  EN_DemandModel { EN_DDA = 0, EN_PDA = 1 }
 Demand models. More...
 
enum  EN_Option {
  EN_TRIALS = 0, EN_ACCURACY = 1, EN_TOLERANCE = 2, EN_EMITEXPON = 3,
  EN_DEMANDMULT = 4, EN_HEADERROR = 5, EN_FLOWCHANGE = 6, EN_HEADLOSSFORM = 7,
  EN_GLOBALEFFIC = 8, EN_GLOBALPRICE = 9, EN_GLOBALPATTERN = 10, EN_DEMANDCHARGE = 11,
  EN_SP_GRAVITY = 12, EN_SP_VISCOS = 13, EN_UNBALANCED = 14, EN_CHECKFREQ = 15,
  EN_MAXCHECK = 16, EN_DAMPLIMIT = 17, EN_SP_DIFFUS = 18, EN_BULKORDER = 19,
  EN_WALLORDER = 20, EN_TANKORDER = 21, EN_CONCENLIMIT = 22, EN_DEMANDPATTERN = 23,
  EN_EMITBACKFLOW = 24, EN_PRESS_UNITS = 25, EN_STATUS_REPORT = 26
}
 Simulation options. More...
 
enum  EN_ControlType { EN_LOWLEVEL = 0, EN_HILEVEL = 1, EN_TIMER = 2, EN_TIMEOFDAY = 3 }
 Simple control types. More...
 
enum  EN_StatisticType {
  EN_SERIES = 0, EN_AVERAGE = 1, EN_MINIMUM = 2, EN_MAXIMUM = 3,
  EN_RANGE = 4
}
 Reporting statistic choices. More...
 
enum  EN_MixingModel { EN_MIX1 = 0, EN_MIX2 = 1, EN_FIFO = 2, EN_LIFO = 3 }
 Tank mixing models. More...
 
enum  EN_InitHydOption { EN_NOSAVE = 0, EN_SAVE = 1, EN_INITFLOW = 10, EN_SAVE_AND_INIT = 11 }
 Hydraulic initialization options. More...
 
enum  EN_PumpType { EN_CONST_HP = 0, EN_POWER_FUNC = 1, EN_CUSTOM = 2, EN_NOCURVE = 3 }
 Types of pump curves. More...
 
enum  EN_CurveType {
  EN_VOLUME_CURVE = 0, EN_PUMP_CURVE = 1, EN_EFFIC_CURVE = 2, EN_HLOSS_CURVE = 3,
  EN_GENERIC_CURVE = 4, EN_VALVE_CURVE = 5
}
 Types of data curves. More...
 
enum  EN_ActionCodeType { EN_UNCONDITIONAL = 0, EN_CONDITIONAL = 1 }
 Deletion action codes. More...
 
enum  EN_StatusReport { EN_NO_REPORT = 0, EN_NORMAL_REPORT = 1, EN_FULL_REPORT = 2 }
 Status reporting levels. More...
 
enum  EN_RuleObject { EN_R_NODE = 6, EN_R_LINK = 7, EN_R_SYSTEM = 8 }
 Network objects used in rule-based controls. More...
 
enum  EN_RuleVariable {
  EN_R_DEMAND = 0, EN_R_HEAD = 1, EN_R_GRADE = 2, EN_R_LEVEL = 3,
  EN_R_PRESSURE = 4, EN_R_FLOW = 5, EN_R_STATUS = 6, EN_R_SETTING = 7,
  EN_R_POWER = 8, EN_R_TIME = 9, EN_R_CLOCKTIME = 10, EN_R_FILLTIME = 11,
  EN_R_DRAINTIME = 12
}
 Object variables used in rule-based controls. More...
 
enum  EN_RuleOperator {
  EN_R_EQ = 0, EN_R_NE = 1, EN_R_LE = 2, EN_R_GE = 3,
  EN_R_LT = 4, EN_R_GT = 5, EN_R_IS = 6, EN_R_NOT = 7,
  EN_R_BELOW = 8, EN_R_ABOVE = 9
}
 Comparison operators used in rule-based controls. More...
 
enum  EN_RuleStatus { EN_R_IS_OPEN = 1, EN_R_IS_CLOSED = 2, EN_R_IS_ACTIVE = 3 }
 Link status codes used in rule-based controls. More...