ningshuxia
2024-06-18 e83dca6e861b622b54d3392ca0d3f1f1eb69f7c9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
namespace IStation.Epanet.Enums
{
 
    /// <summary>Node值参数</summary>
    /// <remarks>
    ///     参数 13 (<see cref="Demand" /> through <see cref="SourceMass" />)为计算值。
    ///     其他为输入设计参数。 
    /// </remarks>
    /// <remarks> 
    ///     参数 14 - 23(<see cref="InitVolume" /> 至 <see cref="TankKbulk" />)仅适用于储罐节点。 
    /// </remarks>
    public enum NodeValue
    {
        /// <summary>标高</summary>
        Elevation = 0,
 
        /// <summary>基础需水量</summary>
        BaseDemand = 1,
 
        /// <summary>时间模式索引</summary>
        Pattern = 2,
 
        /// <summary>扩散器系数</summary>
        Emitter = 3,
 
        /// <summary>初始水质</summary>
        InitQual = 4,
 
        /// <summary>源头水质</summary>
        SourceQual = 5,
 
        /// <summary>源头模式</summary>
        SourcePat = 6,
 
        /// <summary>源头类型(See <see cref="SourceType" /></summary>
        SourceType = 7,
 
        /// <summary>水池的初始水位</summary>
        TankLevel = 8,
 
        /// <summary>实际需水量</summary>
        Demand = 9,
 
        /// <summary>水力水头</summary>
        Head = 10,
 
        /// <summary>压强</summary>
        Pressure = 11,
 
        /// <summary>实际水质</summary>
        Quality = 12,
 
        /// <summary>每分钟化学成分源头的质量流量</summary>
        SourceMass = 13,
 
        /// <summary>初始水量</summary>
        InitVolume = 14,
 
        /// <summary>混合模型编码 (see <see cref="MixType" />)</summary>
        MixModel = 15,
 
        /// <summary>双隔层水箱的入口/出口区域容积(Inlet/Outlet zone volume in a 2-compartment tank )</summary>
        MixZonevol = 16,
 
        /// <summary>水箱直径</summary>
        TankDiam = 17,
 
        /// <summary>最小水量</summary>
        MinVolume = 18,
 
        /// <summary>体积与深度曲线的指数(如果没有指定,则为 0)</summary>
        VolCurve = 19,
 
        /// <summary>最低水位</summary>
        MinLevel = 20,
 
        /// <summary>最高水位</summary>
        MaxLevel = 21,
 
        /// <summary>双格水槽中入口/出口区所占总容积的比例 (Fraction of total volume occupied by the inlet/outlet zone in a 2-compartment tank)</summary>
        MixFraction = 22,
 
        /// <summary>体积反应速率系数</summary>
        TankKbulk = 23
    }
 
    /// <summary>Link值参数</summary>
    /// <remarks>
    ///    参数 13(<see cref="Flow" /> 至 <see cref="Energy" />)均为为计算值。其他参数为设计参数。
    /// </remarks>
    /// <remarks>
    ///    如果流量方向是从指定的  的起点节点流向其指定的终点节点,则流速为正;反之,流速为负。 
    /// </remarks>
    /// <remarks>
    ///     返回值的单位取决于 IStation.Epanet 输入文件中用于流量的单位(参见测量单位)
    /// </remarks>
    public enum LinkValue
    {
        /// <summary>直径</summary>
        Diameter = 0,
 
        /// <summary>长度</summary>
        Length = 1,
 
        /// <summary>粗糙系数</summary>
        Roughness = 2,
 
        /// <summary>局部损失系数</summary>
        MinorLoss = 3,
 
        /// <summary>初始管段状态 (0 = closed, 1 = open)</summary>
        InitStatus = 4,
 
        /// <summary>管道粗糙度初始水泵转速初始阀门设置</summary>
        InitSetting = 5,
 
        /// <summary>主流反应系数</summary>
        Kbulk = 6,
 
        /// <summary>管壁反应系数</summary>
        Kwall = 7,
 
        /// <summary>流量</summary>
        Flow = 8,
 
        /// <summary>流速</summary>
        Velocity = 9,
 
        /// <summary>10 - 水头损失</summary>
        HeadLoss = 10,
 
        /// <summary>11 - 当前水泵或者阀门状态 (0 = closed, 1 = open)</summary>
        Status = 11,
 
        /// <summary>12 - 当前水泵转速或者阀门设置</summary>
        Setting = 12,
 
        /// <summary>13 - 消耗能量,以千瓦计</summary>
        Energy = 13
    }
 
    /// <summary>时间参数</summary>
    /// <remarks>
    ///     在水力分析中调用 <see cref="EpanetMethods.ENinitH" /> 或在水质分析中调用 <see cref="EpanetMethods.ENinitQ" /> 后,不要更改时间参数。
    ///     或在水质分析中调用<see cref="EpanetMethods.ENinitQ" /> 后,请勿更改时间参数。
    /// </remarks>
    public enum TimeParameter
    {
        /// <summary>模拟历时</summary>
        Duration = 0,
 
        /// <summary>水力时间步长</summary>
        HydStep = 1,
 
        /// <summary>水质时间步长</summary>
        QualStep = 2,
 
        /// <summary>时间模式时间步长</summary>
        PatternStep = 3,
 
        /// <summary>时间模式起始时间</summary>
        PatternStart = 4,
 
        /// <summary>报告时间步长</summary>
        ReportStep = 5,
 
        /// <summary>报告起始时间</summary>
        ReportStart = 6,
 
        /// <summary>估计基于规则控制的时间步长</summary>
        RuleStep = 7,
 
        /// <summary>使用时间序列后处理的类型 (see <see cref="TstatType" />)</summary>
        Statistic = 8,
 
        /// <summary>保存到二进制输出文件的报告时段数</summary>
        Periods = 9
    }
 
    /// <summary>组件数量</summary>
    /// <remarks>
    ///     网络中的连接点数量等于节点数量减去水箱和蓄水池数量。
    /// </remarks>
    /// <remarks>
    ///     工具包中没有添加或删除输入文件中描述的组件。
    /// </remarks>
    public enum CountType
    {
        /// <summary>节点</summary>
        Node = 0,
 
        /// <summary>水库和水池节点</summary>
        Tank = 1,
 
        /// <summary>管段</summary>
        Link = 2,
 
        /// <summary>时间模式</summary>
        Pattern = 3,
 
        /// <summary>曲线</summary>
        Curve = 4,
 
        /// <summary>简单控制</summary>
        Control = 5
    }
 
    /// <summary>
    /// 节点类型
    /// </summary>
    public enum NodeType
    {
        /// <summary>连接点</summary>
        Junction = 0,
 
        /// <summary>水库</summary>
        Reservoir = 1,
 
        /// <summary>水箱节点</summary>
        Tank = 2
    }
 
    /// <summary>
    /// 管线类型(与阀门类型有重复,阀门类型用于inp文件) 
    /// </summary>
    public enum LinkType
    {
        /// <summary>具有止回阀的管道</summary>
        CVPipe = 0,
 
        /// <summary>管道</summary>
        Pipe = 1,
 
        /// <summary>水泵</summary>
        Pump = 2,
 
        /// <summary>减压阀</summary>
        PRV = 3,
 
        /// <summary>稳压阀</summary>
        PSV = 4,
 
        /// <summary>压力制动阀</summary>
        PBV = 5,
 
        /// <summary>流量控制阀</summary>
        FCV = 6,
 
        /// <summary>节流控制阀</summary>
        TCV = 7,
 
        /// <summary>常规阀门</summary>
        GPV = 8,
 
        /// <summary>
        /// 需要修改
        /// </summary>
        VALVE = 999
    }
 
    /// <summary>
    /// 水质分析类型
    /// </summary>
    public enum QualType
    {
        /// <summary>不进行水质分析</summary>
        None = 0,
 
        /// <summary>化学成分分析</summary>
        Chem = 1,
 
        /// <summary>化学成分分析</summary>
        Age = 2,
 
        /// <summary>源头跟踪</summary>
        Trace = 3
    }
 
    /// <summary>输入源质量类型</summary>
    /// <remarks>有关这些源类型的描述,请参阅 <c>[SOURCES]</c>。</remarks>
    /// <remarks>
    ///     Used in functions <see cref="EpanetMethods.ENgetnodevalue" /> and
    ///     <see cref="EpanetMethods.ENsetnodevalue" /> with <see cref="NodeValue.SourceType" />
    ///     parameter.
    ///     
    ///     1. MASS类型源头的强度计量为质量流量每分。所有其它类型测试源头强度,以浓度单位计。
    ///     2. 通过指定时间模式,源头强度可以设为随时间而变化。
    ///     3. CONCEN源头:
    ///         *表示任何进入节点的外部源头进流浓度
    ///         *仅当节点具有负需水量时使用(水在该节点进入管网)
    ///         *如果节点为连接节点,报告的浓度为混合了源头流量和从管网其它点来的进流结果
    ///         *如果节点为水库,报告的浓度为源头浓度
    ///         *如果节点为水池,报告的浓度为水池的内部浓度
    ///         *适合于表示源头供水或者处理厂的节点(例如赋以负需水量的水库或者节点)
    ///         *不适用于同时具有进流/出流的蓄水池。
    ///     4. MASS, FLOWPACED或者SETPOINT源头:
    ///         *表示了注射源头,这里物质被直接注射到管网,忽略了节点的需水量多少
    ///         *以下方式影响了离开节点到管网其它位置的水:
    ///             -MASS注入,将质量流量添加到节点进流
    ///             -FLOWPACED注入,将固定浓度添加到节点进流浓度中
    ///             -SETPOINT注入,固定了任何离开节点的水流浓度(只要进流来的浓度低于设置值) 
    ///         *在连接节点或者水库注射源头的报告浓度,是在应用注射之后的结果浓度;具有注射源头的水池报告浓度为水池的内部浓度
    ///         *适合于模拟示踪剂的直接注入,或者进入管网的消毒剂,或者模拟污染物入侵。
    ///     5. 对于模拟水龄或者源头跟踪,[SOURCES] 节是不需要的
    /// </remarks>
    public enum SourceType
    {
        /// <summary>进流浓度</summary>
        Concen = 0,
 
        /// <summary>群流增压器</summary>
        Mass = 1,
 
        /// <summary>设定点增压器</summary>
        SetPoint = 2,
 
        /// <summary>流量步进助推器</summary>
        FlowPaced = 3
 
    }
 
    /// <summary>流量单位编码</summary>
    /// <remarks>
    ///     流量单位在 IStation.Epanet 输入文件的 <c>[OPTIONS]</c> 部分中指定
    /// </remarks>
    /// <remarks>
    ///     以升或立方米为流量单位意味着除流量外,所有其他量都使用公制单位。否则将使用美国单位。(参见计量单位)。
    /// </remarks>
    public enum FlowUnitsType
    {
        /// <summary>立方英尺每秒</summary>
        Cfs = 0,
 
        /// <summary>加仑每分</summary>
        Gpm = 1,
 
        /// <summary>百万加仑每日</summary>
        Mgd = 2,
 
        /// <summary>英制mgd</summary>
        Imgd = 3,
 
        /// <summary>英亩—英尺每日</summary>
        Afd = 4,
 
        /// <summary>升每秒</summary>
        Lps = 5,
 
        /// <summary>升每分</summary>
        Lpm = 6,
 
        /// <summary>百万升每日</summary>
        Mld = 7,
 
        /// <summary>立方米每时</summary>
        Cmh = 8,
 
        /// <summary>立方米每日</summary>
        Cmd = 9
    }
 
    /// <summary>控制类型</summary>
    /// <remarks>
    ///   对于管道, setting为0,意味着管道关闭,为1意味着它是开启的。
    ///   对于水泵, setting包含了水泵转速,为0意味着水泵关闭,为1意味着在常规转速下开启。  
    ///   对于阀门, setting指阀门压力、流量或者损失系数,取决于阀门类型。   
    /// </remarks>
    /// <remarks>对于计时器或者钟表时间控制,设置 nindex 参数为0</remarks>
    /// <remarks>
    ///     有关使用此函数的示例,请参见<see cref="EpanetMethods.ENsetcontrol" />
    /// </remarks>
    public enum ControlType
    {
        /// <summary>低水位控制</summary>
        /// <remarks>当水池水位或者节点压力降落到指定水位以下时使用</remarks>
        LowLevel = 0,
 
        /// <summary>高水位控制</summary>
        /// <remarks>当水池水位或者节点压力上升高于指定水位时使用</remarks>
        HiLevel = 1,
 
        /// <summary>计时器控制</summary>
        /// <remarks>在指定时间用于模拟</remarks>
        Timer = 2,
 
        /// <summary>钟表时间控制</summary>
        /// <remarks>使用指定日历时间</remarks>
        TimeOfDay = 3
    }
 
    /// <summary>时间序列统计类型</summary>
    /// <remarks>
    ///     Used as value in <see cref="EpanetMethods.ENgettimeparam" /> and
    ///     <see cref="EpanetMethods.ENsettimeparam" /> functions
    ///     with <see cref="TimeParameter.Statistic" /> code.
    /// </remarks>
    public enum TstatType
    {
        /// <summary>无</summary>
        None = 0,
 
        /// <summary>均值</summary>
        Average = 1,
 
        /// <summary>小值</summary>
        Minimum = 2,
 
        /// <summary>大值</summary>
        Maximum = 3,
 
        /// <summary>范围</summary>
        Range = 4
    }
 
    /// <summary>
    ///     蓄水池混合模型 
    /// </summary>
    public enum MixType
    {
        /// <summary>完全混合</summary>
        Mix1 = 0,
 
        /// <summary>双室混合</summary>
        Mix2 = 1,
 
        /// <summary>柱塞流</summary>
        Fifo = 2,
 
        /// <summary>堆栈式柱塞流</summary>
        Lifo = 3
    }
 
    /// <summary>
    /// 水力状态报告水平
    /// </summary>
    public enum StatusLevel
    {
        /// <summary>无</summary>
        None = 0,
        /// <summary>常规报告</summary>
        Normal = 1,
        /// <summary>完整状态报告</summary>
        FULL = 2
    }
 
    /// <summary>
    /// 其他选项
    /// </summary>
    public enum MiscOption
    {
        /// <summary>Trials 是在每一模拟水力时间步长中,求解管网水力特性使用的最大试算次数。缺省为40。</summary>
        MaxTrials = 0,
 
        /// <summary>Accuracy 指定了确定何时达到水力结果的收敛准则。当所有流量总和改变,来自原先求解除以所有管段的总流量低于该数值时,试算中止。缺省为0.001。</summary>
        Accuracy = 1,
 
        /// <summary>Tolerance 是水质水平精度。对于所有水质分析(化合物、水龄(以小时计),或者源头跟踪(以百分比计)),缺省值为0.01</summary>
        Tolerance = 2,
 
        /// <summary>Emitter exponent 指定了当计算扩散器的流量时,节点压力上升的幂指数。缺省为0.5。</summary>
        EmitExpon = 3,
 
        /// <summary>Demandmult 用于调整所有连接节点的基本需水量数值,以及所有需水量的类型。例如,数值2为两倍的基准需水量,而数值0.5将为它们的一半。缺省值为1.0。</summary>
        DemandMult = 4
    }
 
 
 
 
 
 
 
 
 
 
 
    ///<summary>
    /// Rule 操作
    /// </summary>
    public enum Operators { ABOVE, BELOW, EQ, GE, GT, IS, LE, LT, NE, NOT }
 
    ///<summary>
    /// Rule 对象类型
    /// </summary>
    public enum Objects { JUNC, LINK, NODE, PIPE, PUMP, RESERV, SYSTEM, TANK, VALVE }
 
    ///<summary>
    /// Rule statements.
    /// </summary>
    public enum Rulewords { AND, ELSE, ERROR, IF, OR, PRIORITY, RULE, THEN }
 
    /// <summary>
    /// Reporting flag.
    /// </summary>
    public enum ReportFlag { FALSE = 0, SOME = 2, TRUE = 1 }
 
    /// <summary>
    /// 管网变量
    /// </summary>
    public enum FieldType
    {
        ///<summary>nodal elevation</summary>
        ELEV = 0,
        ///<summary>nodal demand flow</summary>
        DEMAND = 1,
        ///<summary>nodal hydraulic head</summary>
        HEAD = 2,
        ///<summary>nodal pressure</summary>
        PRESSURE = 3,
        ///<summary>nodal water quality</summary>
        QUALITY = 4,
 
        ///<summary>link length</summary>
        LENGTH = 5,
        ///<summary>link diameter</summary>
        DIAM = 6,
        ///<summary>link flow rate</summary>
        FLOW = 7,
        ///<summary>link flow velocity</summary>
        VELOCITY = 8,
        ///<summary>link head loss</summary>
        HEADLOSS = 9,
        ///<summary>avg. water quality in link</summary>
        LINKQUAL = 10,
        ///<summary>link status</summary>
        STATUS = 11,
        ///<summary>pump/valve setting</summary>
        SETTING = 12,
        ///<summary>avg. reaction rate in link</summary>
        REACTRATE = 13,
        ///<summary>link friction factor</summary>
        FRICTION = 14,
 
        ///<summary>pump power output</summary>
        POWER = 15,
        ///<summary>simulation time</summary>
        TIME = 16,
        ///<summary>tank volume</summary>
        VOLUME = 17,
        ///<summary>simulation time of day</summary>
        CLOCKTIME = 18,
        ///<summary>time to fill a tank</summary>
        FILLTIME = 19,
        ///<summary>time to drain a tank</summary>
        DRAINTIME = 20
    }
 
    ///<summary>
    /// 可用文件类型
    /// </summary>
    public enum FileType
    {
        NET_FILE,
        INP_FILE,
        NULL_FILE,
    }
 
    /// <summary>
    /// 曲线类型
    /// </summary>
    public enum CurveType
    {
        /// <summary>容积曲线</summary>
        Volume = 0,
 
        /// <summary>泵曲线</summary>
        Pump = 1,
 
        /// <summary>效率曲线</summary>
        Efficiency = 2,
 
        /// <summary>水头损失曲线</summary>
        HeadLoss = 3
    }
 
    ///<summary>
    /// 泵曲线类型
    ///</summary>
    public enum PumpType
    {
        ///<summary>Constant horsepower.</summary>
        CONST_HP = 0,
        ///<summary>Power function.</summary>
        POWER_FUNC = 1,
        ///<summary>User-defined custom curve.</summary>
        CUSTOM = 2,
        /// <summary>   </summary>
        NOCURVE = 3
    }
 
    /// <summary>
    /// 水头损失公式类型
    /// </summary>
    public enum HeadLossFormulaType
    {
        /// <summary>Hazen-Williams</summary>
        HW,
        /// <summary>Darcy-Weisbach</summary>
        DW,
        /// <summary>Chezy-Manning</summary>
        CM
    }
 
    /// <summary>
    /// 单位系统类型
    /// </summary>
    public enum UnitsType
    {
        /// <summary>SI (metric)</summary>
        SI,
        /// <summary>US</summary>
        US
    }
 
    /// <summary>
    /// 阀门类型
    /// </summary>
    public enum ValveType
    {
        ///<summary> pressure reducing valve</summary>
        [Keyword("PRV")]
        PRV = 3,
        ///<summary> pressure sustaining valve</summary>
        [Keyword("PSV")]
        PSV = 4,
        ///<summary> pressure breaker valve</summary>
        [Keyword("PBV")]
        PBV = 5,
        ///<summary> flow control valve</summary>
        [Keyword("FCV")]
        FCV = 6,
        ///<summary> throttle control valve</summary>
        [Keyword("TCV")]
        TCV = 7,
        ///<summary> general purpose valve</summary>
        [Keyword("GPV")]
        GPV = 8
    }
 
    ///<summary>
    /// 管路/水箱/泵 状态
    /// </summary>
    public enum StatusType
    {
        /// <summary>泵无法输出扬程(关闭)</summary>
        XHEAD = 0,
        /// <summary>暂时关闭</summary>
        TEMPCLOSED = 1,
        /// <summary>关闭</summary>
        CLOSED = 2,
        /// <summary>开启</summary>
        OPEN = 3,
        /// <summary>阀门启用(部分打开)</summary>
        ACTIVE = 4,
        /// <summary>泵超过最大流量</summary>
        XFLOW = 5,
        /// <summary>FCV 无法提供流量</summary>
        XFCV = 6,
        /// <summary>阀门无法提供压力</summary>
        XPRESSURE = 7,
        /// <summary>水箱加水</summary>
        FILLING = 8,
        /// <summary>清空水箱</summary>
        EMPTYING = 9
    }
 
    ///<summary>
    ///可用部分类型
    /// </summary>
    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
    }
 
    ///<summary>
    /// 范围限制
    ///</summary>
    public enum RangeType
    {
        ///<summary>下限</summary>
        LOW = 0,
        ///<summary>上限</summary>
        HI = 1,
        ///<summary>精确度</summary>
        PREC = 2
    }
 
    /// <summary>
    /// 压力单位
    /// </summary>
    public enum PressUnitsType
    {
        /// <summary>pounds per square inch</summary>
        PSI,
        /// <summary>kiloPascals</summary>
        KPA,
        /// <summary>meters</summary>
        METERS
    }
 
    /// <summary>
    /// 水力解决方案选项
    /// </summary>
    public enum HydType
    {
        /// <summary>使用上次运行的数据</summary>
        USE,
        /// <summary>当前运行后保存</summary>
        SAVE,
        /// <summary>使用临时文件</summary>
        SCRATCH
    }
 
    #region TODO: move it to SimulationRule
    ///<summary>Rule variables.</summary>
    public enum Varwords
    {
        CLOCKTIME,
        DEMAND,
        DRAINTIME,
        FILLTIME,
        FLOW,
        GRADE,
        HEAD,
        LEVEL,
        POWER,
        PRESSURE,
        SETTING,
        STATUS,
        TIME
    }
 
    ///<summary>Rule values types.</summary>
    public enum Values { IS_NUMBER, IS_OPEN, IS_CLOSED, IS_ACTIVE }
 
    #endregion
}