土木在线论坛 \ 水利工程 \ 水利软件 \ 简单的多段管道水头损失计算函数

简单的多段管道水头损失计算函数

发布于:2016-05-31 23:25:31 来自:水利工程/水利软件 [复制转发]
做供水工程很多,特意发布一个小工具,用于计算多段管道水头损失用的。
代码主要是为了方便大家扩展,可以添加其他计算水损的公式进来。
说是不定参数,其实参数大概不能超过20个左右吧,再多就用多个函数相加吧,很容易。

Snap1.png
[code]'施工预算分院秦工qq504284
'自定义 不定数量参数的管道水损计算函数
'使用方法:hydro(谢才系数还是海增威廉公式,管段1的流量,管段1的长度,管段1的糙率,管段1的内直径,管段1的局部水损系数,管段2的流量……)

'间距L m
'流量Q1 m3/s
'糙率n
'海曾-威廉系数Ch
'圆管直径 D m
'局部水头损失系数 ∑ζ
'面积A m2
'水力半径R m
'流速V1 m/s
'谢才系数C = 1 / E7 * E11^(1 / 6)
'流量模数 K=E10*E12*E11^0.5
'单位长度水头损失 i2=10.67*E6^1.852/E25^1.852/E8^4.87


'使用不定数量的参数
'一般说来,过程调用中的参数个数应等于过程说明的参数个数。可用 ParamArray 关键字指明,
'过程将接受任意个数的参数。于是可以这样来编写计算总和的 Sum 函数:

Dim yita As Integer
Dim Q As Double
Dim L As Double
Dim N As Double
Dim DI As Double
Dim KESI As Double
Dim A As Double
Dim V As Double
Dim R As Double
Dim K As Double
Dim HF As Double
Dim HJ As Double
Dim intSums As Double

Function hydro(ParamArray intNums())
yita = intNums(0)
If yita = 1 Then '采用谢才系数公式,否则为海增威廉公式
For i = 0 To UBound(intNums) - 1 Step 5

Q = intNums(i + 1)
L = intNums(i + 2)
N = intNums(i + 3)
DI = intNums(i + 4)
KESI = intNums(i + 5)

A = 3.1415926 * DI ^ 2 / 4
V = Q / A
R = DI / 4
C = 1 / N * R ^ (1 / 6)
K = A * C * R ^ 0.5
' 沿程水损(含局部水损)
HF = Q ^ 2 / K ^ 2 * L
'局部水损
HJ = KESI * V ^ 2 / 2 / 9.81
hydro = hydro + HF + HJ
Next 'i
Else
End If
' For Each x In intNums
' y = y + x
' Next x
' Sum1 = y
End Function
Private Sub test()
B = hydro(1, 5, 100, 0.012, 2, 5, 2.5, 1000, 0.012, 1.6, 10)

End Sub[/code]

申明:内容来自用户上传,著作权归原作者所有,如涉及侵权问题,请点击此处联系,我们将及时处理!

全部回复(13 )

只看楼主 我来说两句
  • cszzsx
    cszzsx 沙发

    学习学习,分享宝贵资料

    2022-10-14 23:33:14

    回复 举报
    赞同0
  • lhb花生
    lhb花生 板凳
    谢谢楼主分享


    2017-12-25 11:34:25

    回复 举报
    赞同0
加载更多
这个家伙什么也没有留下。。。

水利软件

返回版块

13.32 万条内容 · 173 人订阅

猜你喜欢

阅读下一篇

HEC-RAS水面线推求软件教学视频

HEC-RAS水面线推求软件教学视频

回帖成功

经验值 +10