WaterGems第一讲:水力模拟计算

WaterGems软件是奔特利公司开发的,作为给水管网(自来水管道)模型建立最好用的软件,其核心代码用的是美国国家环境署开发的EPANET开源软件。WaterGems是一个商业软件,这个软件的目的是做管网模型的水力和水质的模拟,由于没有仔细接触,不知道它有没有二次开发的接口(有的话,各位大神告诉我一声)。

首先:我说一下啥叫水力和水质的模拟,水力模拟说白了就是”怎么把水从水源送到用水的人手里“的问题:比如从前有一作城市,城市中有很多的楼,楼里住了很多的人(这可不是从前有座山,o(∩_∩)o 哈哈),这些人在做什么,他们在用自来水。而我们通过水表把水量给记录了下来,知道了这些人的用水量之后,我们给他输入进给水管网模型中,然后计算出每个楼旁边的管道需要的压力(压力可以理解为水流有多大的力气才能让这些人开水龙头水流充足),以及计算水流的速度。算完了,我们就能知道我们是怎么把水从水源送到用水的人手里的啦(中间的过程都是软件自动的)。

接着说一下水质的模拟:啥叫水质模拟呢,就是怎么把水从水源干净地送到用水的人手里:比如他们在用自来水,我们给他们送水,但是送的中间过程是需要时间的,在这段时间里,水很有可能进入细菌病毒等污染物,那怎么办呢,一般加二氧化氯最为消毒剂,让它在水里呆着,一有病毒进来,二氧化氯直接就把它们给吃了,这样毒就没了。但是呢,毒没了,二氧化氯也没了(撑死了),还有就是二氧化氯随着时间的增加,它自己也慢慢地没了(老死了),所以说加多少药,到用户手中水是干净的就成了一个问题,要是药多了,用水的人没了(被药毒死),要少了,人也没了(被病毒毒死),说没就没啊!


今天我们要讲到的就是水质模拟计算。通过该软件怎么计算呢,我现在来一一的讲解

第一步,我们要做的是绘制管网的图像,怎么绘图呢,首先打开软件,单击File->New,新建一个wtg文件,如图1。


图1

第二步,建立之后,我们会到中间有一片空白,如图2,空白的右边画圈的东西就是绘图工具,选择第二项(PIPE)即可进行绘图


图2

选择第二项,然后在空白区域单击一下,就会出现一个节点,然后再点另外一个位置,画一个矩形,如图3,按右键,选择Done,结束画图。


图3

现在,我们已经完成了一个管网,但我们看图3知道,好像缺点啥啊,对呀,我们没有画水源,怎么画,选择绘图工具的第六项,reservior,在上方画一个水源,并选择第二项,把水源和J-5连接起来,如图4



图4

画完之后,我们还缺什么呢,对呀,水源把水送个用户,需要让水走起来,怎么走啊,推动,那么就需要一个水泵了,这样水就能按照套路传给用户了,选择绘图工具的第十项(Pump)在P-8管段上单击一下,选择YES,水泵就画好了,如图5


图5

管网画完了,那么我们下一步做什么呢,那就是输入地形(高程),我们想象,每个黑点就是一个楼房,里面的人在用水,但是这些楼房的地面多高呢,我们至少得知道一下,还有就是水源的地面多高呢,我们也需要知道。刚才说了一下水泵送水,想象如果水源地十分地高,黑点的地面十分的低,那么还需要用水泵吗,直接重力就流下去啦。输入高程的方法是:单击上方工具条中画圈圈的工具(FlexTables),如图6,之后选择Junction Table,如图7,然后你就会看到elevation这一项,如果没有,单击按钮,找到它,然后双击把它拖到右边,按确定。后为每项都添加一个高程数据,如图8


图6


图7


图8

把这个东西关闭,在FlexTable中选择Reservoir Table,然后同理输入水池的高程,本人输入的是5.1m

高程输入完毕后,下一步就是各个黑点的需水量了,刚才说过了,一个黑点代表一个楼房,所以我们要告诉模型,每一个楼房用多少水,输入的方法同理,打开FlexTable,然后选择Junction Table,然后找到Demand Collection,单击最右边的“...”按钮,然后会打开如图9的对话框,第一项是需水量,第二项是需水分类,我们输入图9的模式即可,然后把所有的节点都输入一个数据。


图9

输入完毕后,我们想想还缺啥,对了,还有水泵呢,水泵怎么回事儿,我们得把参数输入吧,输入的方法很简单,在模型上双击水泵,之后右边会出来一个对话框,选择画圈的,并且单击edit pump definition,进入对话框,如图11新建按钮,按照如图12输入,然后关闭


图10

图11


图12

最后,在双击水泵,在右边的菜单里面,如图13,选中刚才新建的水泵定义


图13

全完事儿了之后,我们就开始计算了,计算啥,刚才说过了,是压力以及流速,计算的方法为单击画圈圈的地方即可,计算完成之后会出现提示,如果提示为绿色就说明成功啦。


图15

最后,打开FlexTable中的各个项目即可查看压力或者流速的东西,如图13所示,黄色的部分就是计算值,如果小数点不满意的话,右键单击各个项目的开头,选择第一项,之后在第四项中改位数即可啦。


图14

到此,我的课程讲完了,如果大家认为该方法存在错误的话,请给予批评,互相交流才能进步呢,谢谢。下一课,我将讲解,水质模拟。

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
水力计算是一种广泛应用于流体力学研究和工程实践中的重要计算方法。在水力学中,第二类简单长管的水力计算问题是指涉及长管流动性能的计算,通常涉及到压力损失、流速、流量和管道尺寸等参数。以下是一个示例的MATLAB代码,用于解决第二类简单长管的水力计算问题: ```MATLAB clear; % 清除之前的变量 clc; % 清除命令窗口 % 管道参数设置 L = 100; % 管道长度(单位:m) D = 0.5; % 管道直径(单位:m) e = 0.00015; % 管道壁面粗糙度(单位:m) rho = 1000; % 流体密度(单位:kg/m^3) mu = 0.001; % 流体动力粘度(单位:Pa·s) Q = 0.1; % 流量(单位:m^3/s) % 计算雷诺数 Re = rho * Q * D / mu; % 计算相对粗糙度 k_s = e/D; % 计算摩擦因子 if Re < 2000 f = 64 / Re; else f = (1 / (-1.8 * log10((k_s/3.7)^1.11 + 6.9/Re)))^2; end % 计算流速 A = pi * (D/2)^2; V = Q / A; % 计算流速头 H_v = V^2 / (2 * 9.81); % 计算压力损失 H_f = f * (L/D) * (V^2 / (2 * 9.81)); % 输出结果 disp(['雷诺数 Re = ', num2str(Re)]); disp(['相对粗糙度 k_s = ', num2str(k_s)]); disp(['摩擦因子 f = ', num2str(f)]); disp(['流速 V = ', num2str(V)]); disp(['流速头 H_v = ', num2str(H_v)]); disp(['压力损失 H_f = ', num2str(H_f)]); ``` 在这个示例代码中,我们首先设置了管道的长度、直径、壁面粗糙度、流体密度、流体动力粘度和流量等参数。然后根据这些参数计算了雷诺数、相对粗糙度、摩擦因子、流速、流速头和压力损失等参数。最后,通过disp函数输出了结果。 需要注意的是,该代码中计算摩擦因子采用的是库西勒迭代方法,通过判断雷诺数的大小来选择对应的计算公式。此外,该代码没有对输入参数进行检查,因此在实际使用时需要根据具体情况进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值