namespace IStation.Epanet.Enums { /// Node值参数 /// /// 参数 13 ( through )为计算值。 /// 其他为输入设计参数。 /// /// /// 参数 14 - 23()仅适用于储罐节点。 /// public enum NodeValue { /// 标高 Elevation = 0, /// 基础需水量 BaseDemand = 1, /// 时间模式索引 Pattern = 2, /// 扩散器系数 Emitter = 3, /// 初始水质 InitQual = 4, /// 源头水质 SourceQual = 5, /// 源头模式 SourcePat = 6, /// 源头类型(See SourceType = 7, /// 水池的初始水位 TankLevel = 8, /// 实际需水量 Demand = 9, /// 水力水头 Head = 10, /// 压强 Pressure = 11, /// 实际水质 Quality = 12, /// 每分钟化学成分源头的质量流量 SourceMass = 13, /// 初始水量 InitVolume = 14, /// 混合模型编码 (see ) MixModel = 15, /// 双隔层水箱的入口/出口区域容积(Inlet/Outlet zone volume in a 2-compartment tank ) MixZonevol = 16, /// 水箱直径 TankDiam = 17, /// 最小水量 MinVolume = 18, /// 体积与深度曲线的指数(如果没有指定,则为 0) VolCurve = 19, /// 最低水位 MinLevel = 20, /// 最高水位 MaxLevel = 21, /// 双格水槽中入口/出口区所占总容积的比例 (Fraction of total volume occupied by the inlet/outlet zone in a 2-compartment tank) MixFraction = 22, /// 体积反应速率系数 TankKbulk = 23 } /// Link值参数 /// /// 参数 13()均为为计算值。其他参数为设计参数。 /// /// /// 如果流量方向是从指定的 的起点节点流向其指定的终点节点,则流速为正;反之,流速为负。 /// /// /// 返回值的单位取决于 IStation.Epanet 输入文件中用于流量的单位(参见测量单位) /// public enum LinkValue { /// 直径 Diameter = 0, /// 长度 Length = 1, /// 粗糙系数 Roughness = 2, /// 局部损失系数 MinorLoss = 3, /// 初始管段状态 (0 = closed, 1 = open) InitStatus = 4, /// 管道粗糙度初始水泵转速初始阀门设置 InitSetting = 5, /// 主流反应系数 Kbulk = 6, /// 管壁反应系数 Kwall = 7, /// 流量 Flow = 8, /// 流速 Velocity = 9, /// 10 - 水头损失 HeadLoss = 10, /// 11 - 当前水泵或者阀门状态 (0 = closed, 1 = open) Status = 11, /// 12 - 当前水泵转速或者阀门设置 Setting = 12, /// 13 - 消耗能量,以千瓦计 Energy = 13 } /// 时间参数 /// /// 在水力分析中调用 或在水质分析中调用 后,不要更改时间参数。 /// 或在水质分析中调用 后,请勿更改时间参数。 /// public enum TimeParameter { /// 模拟历时 Duration = 0, /// 水力时间步长 HydStep = 1, /// 水质时间步长 QualStep = 2, /// 时间模式时间步长 PatternStep = 3, /// 时间模式起始时间 PatternStart = 4, /// 报告时间步长 ReportStep = 5, /// 报告起始时间 ReportStart = 6, /// 估计基于规则控制的时间步长 RuleStep = 7, /// 使用时间序列后处理的类型 (see ) Statistic = 8, /// 保存到二进制输出文件的报告时段数 Periods = 9 } /// 组件数量 /// /// 网络中的连接点数量等于节点数量减去水箱和蓄水池数量。 /// /// /// 工具包中没有添加或删除输入文件中描述的组件。 /// public enum CountType { /// 节点 Node = 0, /// 水库和水池节点 Tank = 1, /// 管段 Link = 2, /// 时间模式 Pattern = 3, /// 曲线 Curve = 4, /// 简单控制 Control = 5 } /// /// 节点类型 /// public enum NodeType { /// 连接点 Junction = 0, /// 水库 Reservoir = 1, /// 水箱节点 Tank = 2 } /// /// 管线类型(与阀门类型有重复,阀门类型用于inp文件) /// public enum LinkType { /// 具有止回阀的管道 CVPipe = 0, /// 管道 Pipe = 1, /// 水泵 Pump = 2, /// 减压阀 PRV = 3, /// 稳压阀 PSV = 4, /// 压力制动阀 PBV = 5, /// 流量控制阀 FCV = 6, /// 节流控制阀 TCV = 7, /// 常规阀门 GPV = 8, /// /// 需要修改 /// VALVE = 999 } /// /// 水质分析类型 /// public enum QualType { /// 不进行水质分析 None = 0, /// 化学成分分析 Chem = 1, /// 化学成分分析 Age = 2, /// 源头跟踪 Trace = 3 } /// 输入源质量类型 /// 有关这些源类型的描述,请参阅 [SOURCES] /// /// Used in functions and /// with /// parameter. /// /// 1. MASS类型源头的强度计量为质量流量每分。所有其它类型测试源头强度,以浓度单位计。 /// 2. 通过指定时间模式,源头强度可以设为随时间而变化。 /// 3. CONCEN源头: /// *表示任何进入节点的外部源头进流浓度 /// *仅当节点具有负需水量时使用(水在该节点进入管网) /// *如果节点为连接节点,报告的浓度为混合了源头流量和从管网其它点来的进流结果 /// *如果节点为水库,报告的浓度为源头浓度 /// *如果节点为水池,报告的浓度为水池的内部浓度 /// *适合于表示源头供水或者处理厂的节点(例如赋以负需水量的水库或者节点) /// *不适用于同时具有进流/出流的蓄水池。 /// 4. MASS, FLOWPACED或者SETPOINT源头: /// *表示了注射源头,这里物质被直接注射到管网,忽略了节点的需水量多少 /// *以下方式影响了离开节点到管网其它位置的水: /// -MASS注入,将质量流量添加到节点进流 /// -FLOWPACED注入,将固定浓度添加到节点进流浓度中 /// -SETPOINT注入,固定了任何离开节点的水流浓度(只要进流来的浓度低于设置值) /// *在连接节点或者水库注射源头的报告浓度,是在应用注射之后的结果浓度;具有注射源头的水池报告浓度为水池的内部浓度 /// *适合于模拟示踪剂的直接注入,或者进入管网的消毒剂,或者模拟污染物入侵。 /// 5. 对于模拟水龄或者源头跟踪,[SOURCES] 节是不需要的 /// public enum SourceType { /// 进流浓度 Concen = 0, /// 群流增压器 Mass = 1, /// 设定点增压器 SetPoint = 2, /// 流量步进助推器 FlowPaced = 3 } /// 流量单位编码 /// /// 流量单位在 IStation.Epanet 输入文件的 [OPTIONS] 部分中指定 /// /// /// 以升或立方米为流量单位意味着除流量外,所有其他量都使用公制单位。否则将使用美国单位。(参见计量单位)。 /// public enum FlowUnitsType { /// 立方英尺每秒 Cfs = 0, /// 加仑每分 Gpm = 1, /// 百万加仑每日 Mgd = 2, /// 英制mgd Imgd = 3, /// 英亩—英尺每日 Afd = 4, /// 升每秒 Lps = 5, /// 升每分 Lpm = 6, /// 百万升每日 Mld = 7, /// 立方米每时 Cmh = 8, /// 立方米每日 Cmd = 9 } /// 控制类型 /// /// 对于管道, setting为0,意味着管道关闭,为1意味着它是开启的。 /// 对于水泵, setting包含了水泵转速,为0意味着水泵关闭,为1意味着在常规转速下开启。 /// 对于阀门, setting指阀门压力、流量或者损失系数,取决于阀门类型。 /// /// 对于计时器或者钟表时间控制,设置 nindex 参数为0 /// /// 有关使用此函数的示例,请参见 /// public enum ControlType { /// 低水位控制 /// 当水池水位或者节点压力降落到指定水位以下时使用 LowLevel = 0, /// 高水位控制 /// 当水池水位或者节点压力上升高于指定水位时使用 HiLevel = 1, /// 计时器控制 /// 在指定时间用于模拟 Timer = 2, /// 钟表时间控制 /// 使用指定日历时间 TimeOfDay = 3 } /// 时间序列统计类型 /// /// Used as value in and /// functions /// with code. /// public enum TstatType { /// None = 0, /// 均值 Average = 1, /// 小值 Minimum = 2, /// 大值 Maximum = 3, /// 范围 Range = 4 } /// /// 蓄水池混合模型 /// public enum MixType { /// 完全混合 Mix1 = 0, /// 双室混合 Mix2 = 1, /// 柱塞流 Fifo = 2, /// 堆栈式柱塞流 Lifo = 3 } /// /// 水力状态报告水平 /// public enum StatusLevel { /// None = 0, /// 常规报告 Normal = 1, /// 完整状态报告 FULL = 2 } /// /// 其他选项 /// public enum MiscOption { /// Trials 是在每一模拟水力时间步长中,求解管网水力特性使用的最大试算次数。缺省为40。 MaxTrials = 0, /// Accuracy 指定了确定何时达到水力结果的收敛准则。当所有流量总和改变,来自原先求解除以所有管段的总流量低于该数值时,试算中止。缺省为0.001。 Accuracy = 1, /// Tolerance 是水质水平精度。对于所有水质分析(化合物、水龄(以小时计),或者源头跟踪(以百分比计)),缺省值为0.01 Tolerance = 2, /// Emitter exponent 指定了当计算扩散器的流量时,节点压力上升的幂指数。缺省为0.5。 EmitExpon = 3, /// Demandmult 用于调整所有连接节点的基本需水量数值,以及所有需水量的类型。例如,数值2为两倍的基准需水量,而数值0.5将为它们的一半。缺省值为1.0。 DemandMult = 4 } /// /// Rule 操作 /// public enum Operators { ABOVE, BELOW, EQ, GE, GT, IS, LE, LT, NE, NOT } /// /// Rule 对象类型 /// public enum Objects { JUNC, LINK, NODE, PIPE, PUMP, RESERV, SYSTEM, TANK, VALVE } /// /// Rule statements. /// public enum Rulewords { AND, ELSE, ERROR, IF, OR, PRIORITY, RULE, THEN } /// /// Reporting flag. /// public enum ReportFlag { FALSE = 0, SOME = 2, TRUE = 1 } /// /// 管网变量 /// public enum FieldType { ///nodal elevation ELEV = 0, ///nodal demand flow DEMAND = 1, ///nodal hydraulic head HEAD = 2, ///nodal pressure PRESSURE = 3, ///nodal water quality QUALITY = 4, ///link length LENGTH = 5, ///link diameter DIAM = 6, ///link flow rate FLOW = 7, ///link flow velocity VELOCITY = 8, ///link head loss HEADLOSS = 9, ///avg. water quality in link LINKQUAL = 10, ///link status STATUS = 11, ///pump/valve setting SETTING = 12, ///avg. reaction rate in link REACTRATE = 13, ///link friction factor FRICTION = 14, ///pump power output POWER = 15, ///simulation time TIME = 16, ///tank volume VOLUME = 17, ///simulation time of day CLOCKTIME = 18, ///time to fill a tank FILLTIME = 19, ///time to drain a tank DRAINTIME = 20 } /// /// 可用文件类型 /// public enum FileType { NET_FILE, INP_FILE, NULL_FILE, } /// /// 曲线类型 /// public enum CurveType { /// 容积曲线 Volume = 0, /// 泵曲线 Pump = 1, /// 效率曲线 Efficiency = 2, /// 水头损失曲线 HeadLoss = 3 } /// /// 泵曲线类型 /// public enum PumpType { ///Constant horsepower. CONST_HP = 0, ///Power function. POWER_FUNC = 1, ///User-defined custom curve. CUSTOM = 2, /// NOCURVE = 3 } /// /// 水头损失公式类型 /// public enum HeadLossFormulaType { /// Hazen-Williams HW, /// Darcy-Weisbach DW, /// Chezy-Manning CM } /// /// 单位系统类型 /// public enum UnitsType { /// SI (metric) SI, /// US US } /// /// 阀门类型 /// public enum ValveType { /// pressure reducing valve [Keyword("PRV")] PRV = 3, /// pressure sustaining valve [Keyword("PSV")] PSV = 4, /// pressure breaker valve [Keyword("PBV")] PBV = 5, /// flow control valve [Keyword("FCV")] FCV = 6, /// throttle control valve [Keyword("TCV")] TCV = 7, /// general purpose valve [Keyword("GPV")] GPV = 8 } /// /// 管路/水箱/泵 状态 /// public enum StatusType { /// 泵无法输出扬程(关闭) XHEAD = 0, /// 暂时关闭 TEMPCLOSED = 1, /// 关闭 CLOSED = 2, /// 开启 OPEN = 3, /// 阀门启用(部分打开) ACTIVE = 4, /// 泵超过最大流量 XFLOW = 5, /// FCV 无法提供流量 XFCV = 6, /// 阀门无法提供压力 XPRESSURE = 7, /// 水箱加水 FILLING = 8, /// 清空水箱 EMPTYING = 9 } /// ///可用部分类型 /// public enum SectType { TITLE = 0, JUNCTIONS = 1, RESERVOIRS = 2, TANKS = 3, PIPES = 4, PUMPS = 5, VALVES = 6, CONTROLS = 7, RULES = 8, DEMANDS = 9, SOURCES = 10, EMITTERS = 11, PATTERNS = 12, CURVES = 13, QUALITY = 14, STATUS = 15, ROUGHNESS = 16, ENERGY = 17, REACTIONS = 18, MIXING = 19, REPORT = 20, TIMES = 21, OPTIONS = 22, COORDINATES = 23, VERTICES = 24, LABELS = 25, BACKDROP = 26, TAGS = 27, END = 28 } /// /// 范围限制 /// public enum RangeType { ///下限 LOW = 0, ///上限 HI = 1, ///精确度 PREC = 2 } /// /// 压力单位 /// public enum PressUnitsType { /// pounds per square inch PSI, /// kiloPascals KPA, /// meters METERS } /// /// 水力解决方案选项 /// public enum HydType { /// 使用上次运行的数据 USE, /// 当前运行后保存 SAVE, /// 使用临时文件 SCRATCH } #region TODO: move it to SimulationRule ///Rule variables. public enum Varwords { CLOCKTIME, DEMAND, DRAINTIME, FILLTIME, FLOW, GRADE, HEAD, LEVEL, POWER, PRESSURE, SETTING, STATUS, TIME } ///Rule values types. public enum Values { IS_NUMBER, IS_OPEN, IS_CLOSED, IS_ACTIVE } #endregion }