lixiaojun
2023-03-20 14801a2e40bc79833c41151a37fe4cb0acbc5c7f
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace IStation.Calculation.Epanet
{
    /// <summary>
    /// 值转换
    /// </summary>
    public partial class EpaCacluItemHelper
    { 
        #region Link
 
        /// <summary>
        /// 直径
        /// </summary> 
        private decimal Diameter(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
        /// <summary>
        /// 长度
        /// </summary> 
        private decimal Length(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
        /// <summary>
        /// 流量(计算结果,单位立方米每小时,从开始节点流向结束节点为正)
        /// </summary> 
        private decimal Flow(double rhs)
        {
            rhs = Math.Abs(rhs);
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
        /// <summary>
        /// 流速(计算结果,单位米每秒)
        /// </summary> 
        private decimal Velocity(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            value = Math.Round(value, 2);
            return value;
        }
        
        /// <summary>
        /// 水头损失(计算结果,如果是水泵,则表示提升水头,值为负)
        /// </summary> 
        private decimal HeadLoss(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs); 
            return value;
        }
         
        /// <summary>
        /// 实际水泵转速比(计算结果,转换为Hz一般乘以50)
        /// </summary> 
        private decimal Setting(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
    
        /// <summary>
        /// 消耗能量(计算结果,千瓦)
        /// </summary> 
        private decimal Energy(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
        /// <summary>
        /// 实际管段状态(0关1开)
        /// </summary> 
        private string Status(double rhs)
        {
            var value = rhs == 1 ? "开" : "关";
            return value;
        }
        #endregion
         
        #region Node
        /// <summary>
        /// 标高
        /// </summary> 
        private decimal Elevation(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
        /// <summary>
        /// 基本需水量
        /// </summary> 
        private decimal BaseDemand(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
        /// <summary>
        /// 实际需水量
        /// </summary> 
        private decimal Demand(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
        /// <summary>
        /// 绝对压力(计算结果,单位米水柱)
        /// </summary> 
        private decimal HEAD(double rhs)
        {
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
 
        /// <summary>
        /// 自由压力(计算结果,单位米水柱)转兆帕
        /// </summary> 
        private decimal Pressure(double rhs)
        {
            rhs = CalcuHelper.M2MPa(rhs);
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
        #endregion
 
        #region Ex
 
        /// <summary>
        /// 转速比 转 频率
        /// </summary>
        /// <param name="setting">转速比</param>
        /// <returns></returns>
        private decimal Setting2Hz(double setting)
        {
            var hz = setting * 50;
            var value = CalcuHelper.ConventE(hz);
            return value;
        }
 
        /// <summary>
        /// 效率
        /// </summary>
        /// <param name="Q">流量</param>
        /// <param name="H">扬程</param>
        /// <param name="P">功率(能量损失)</param>
        /// <returns></returns>
        private double Efficiency(object Q, object H, object P)
        {
            var value = CalcuHelper.CalculateE(Convert.ToDouble(Q), Convert.ToDouble(H), Convert.ToDouble(P));
            return value;
        }
 
        /// <summary>
        /// 压力损失
        /// </summary>
        /// <param name="headLoss">水头损失(米)</param>
        /// <returns></returns>
        private decimal PressureLoss(double headLoss)
        {
            headLoss= CalcuHelper.M2MPa(headLoss);
            var value = CalcuHelper.ConventE(headLoss); 
            return value;
        }
 
        /// <summary>
        /// 管路单位损失
        /// </summary>
        /// <param name="headloss">水头损失(米)</param>
        /// <param name="length">管路长度(米)</param>
        /// <returns></returns>
        private decimal PipeUnitLoss(double headloss, double length)
        {
            var kap = CalcuHelper.M2KPa(headloss) / length * 1000;
            var value = CalcuHelper.ConventE(kap);
            return value;
        }
 
        /// <summary>
        /// 水头损失(计算结果,如果是水泵,则表示提升水头,值为负)
        /// </summary> 
        private decimal HeadLoss2KP(double rhs)
        {
            rhs = CalcuHelper.M2KPa(rhs);
            var value = CalcuHelper.ConventE(rhs);
            return value;
        }
        #endregion
 
 
    }
}