基于CAD的燃气管网静态仿真系统软件开发

(整期优先)网络出版时间:2021-05-18
/ 2

基于 CAD的燃气管网静态仿真系统软件开发

姚成蔚

海南民益工程技术有限公司 570000

摘要:本文介绍了一种基于CAD燃气管网静态仿真系统软件,用于对燃气管网进行静态仿真计算,包括数据采集模块、仿真计算模块和结果显示模块,数据采集模块包括CAD数据输入模块,CAD数据输入模块用于将燃气管网的水力计算已知参数通过可视化的CAD图形环境输入到所述实时数据库模块中存储,仿真计算子模块获取燃气管网的水力计算已知参数,建立燃气管网仿真模型,根据燃气管网的水力计算已知参数建立节点压力方程组,并调用仿真模型求解子模块进行燃 气管网仿真模型求解得到待求参数,将待求参数的计算值和所述燃气管网的水力计算已知参数通过Excel数据表格或者CAD图形进行显示、输出和存储。

关键词:CAD、COM接口组件、水力计算、水力计算图

正文

燃气管网水力计算是城市燃气管网设计中的一项重要工作,燃气管网水力计算的主要任务是:根据燃气的计算流量和允许的压力损失计算管道直径,以确定管道投资和管材消耗,对已有管道进行流量和压力损失的计算,以充分发挥管道的输气能力,或决定是否需要对原有管道进行改造。燃气管网水力计算一般分为3个阶段:第1阶段从外界获取数据,第2阶段管网平差水力计算,第3阶段计算图输出。

1、数据输入模块

设计工作常用的软件就是Cad,用CAD来表示管网方便直观。本文思路为首先构建一种CAD燃气管网结构图,利用单个CAD文件表示整个燃气管网的结构。该结构图包括公共数据、节点数据、区域流量数据和管段数据,公共数据、节点数据、区域流量数据分别通过公共数据属性块、节点数据属性块和区域流量数据属性块来表示,管段数据直接用多段线表示。

公共数据属性块中包括了所需的运动粘度、燃气密度、温度、局部阻力系数、计算精确度等,可通过这个属性块一次读取到。

节点数据和区域流量数据分别做成一个属性块,节点数据属性块包括节点的编号,节点额流量或者压力,区域流量属性块包括区域号和区域流量。

完整的燃气管网结构图包括一个公共参数数据块,多个节点数据块、多个区域流量数据块和管段组成,管段直接由多段线表示。

燃气管网结构图已经构建好,考虑将数据读取出来的办法。本文考虑通过com接口读取数据,com接口使用户能够从 CAD 的内部或外部以编程方式来操作 CAD。它是通过使 CAD 对象暴露于“外部世界”来实现这一功能的。暴露这些对象后,可以通过多种不同的编程语言和环境以及其他应用程序对其进行访问。

采用COM接口来读取CAD的数据也存在一定的缺点,COM接口在新系统上(比如win8、win10)存在一定的兼容性问题,主要是权限问题,但是可以通过设置权限例外来解决。

目前,autocad、中望CAD、浩辰CAD等,除过接口名称不同外,其他的对象几乎完全相同,可通过后期绑定方法编写一个接口函数来支持这几种CAD版本,极大提高了用户的使用体验。

2、水力计算模块

首先根据燃气管网的水力计算已知参数建立燃气管网仿真模型,以节点连续性方程60a32cc7eb812_html_9bbb8d9ef99324ef.gif 为基础,把管段流量方程60a32cc7eb812_html_fd1d9800517d1503.gif 通过管段压降公式60a32cc7eb812_html_57795e5fb2bcb392.gif 转化为用管段两边的节点压力表示,这样连续性方程转化为满足能量方程,以节点压力为变量的方程组60a32cc7eb812_html_ea21efbb41b6401d.gif ,该方程组可简写为60a32cc7eb812_html_634e4bf19b10df5a.gif ,调用共轭梯度算法或60a32cc7eb812_html_14c7066de9c1add5.gif 库解方程组进而得到待求参数,待求参数包括燃气管网的节点压力P和管段流量;

2.1共轭梯度法解方程计算步骤包括:(1)为求解60a32cc7eb812_html_4d3d64c059083efc.gif 这样的多元一次方程组,构造一个二次齐函数60a32cc7eb812_html_636c1ef8afe95b41.gif60a32cc7eb812_html_c13adaed82131251.gif ,这样求解60a32cc7eb812_html_4d3d64c059083efc.gif 的值可以转换为求解60a32cc7eb812_html_c7993a197f14c026.gif 的最小值,式中A表示方程组左边系数向量,b表示方程组右边列向量;当第60a32cc7eb812_html_8f2c687ac83cf908.gif 次计算的残差向量60a32cc7eb812_html_c63bdc5d5b2c8e11.gif 小于要求的精度,60a32cc7eb812_html_9e9455032c0df141.gif 就是所求方程组的解;否则返回计算残差向量继续迭代计算;

2.2 math.net计算库是专为ms.net开发的开源科学计算库。其目的是针对科学计算领域,工程和日常应用,包含了大部分矩阵运算、线性运算等功能。该库效率高,且可以在C#中直接使用。

根据仿真模型求解子模块计算得到的最新管段流量值计算两次管段流量的残差,若残差在要求的精度内,则计算结束,计算结果即所求参数,若残差平方和大于要求的计算精度,则对燃气管网仿真模型进行修正,将最新管段流量值设定为本次和上次计算值的平均值,并再次利用仿真模型求解子模块计算待求参数的解;

本文程序采用vb.net编写,水力计算公式采用《城镇燃气设计规范》GB 50028-2006中6.2.6-2条柯列勃洛克公式,计算稳定,收敛速度快,精度较高。通过采用共轭梯度法和math.net库,管网平差计算速度相比常规赛德尔迭代法提高了一个数量级,提高了计算效率。

3、结果显示模块

该模块将待求参数的计算值和所述燃气管网的水力计算已知参数通过Excel数据表格或者CAD图形进行显示、输出和存储。

燃气管道一般跟随道路敷设,不可能总是直线,那么用直线表示管段就必须有所舍弃,要不增加节点,这样增加了管网的复杂度,或者将管段近似为直线,这样就放弃了精确度。所以本文用多段线表示管段,更加符合工程实际情况,既不增加管网复杂度,也不舍弃精确度。输出计算图时,本文通过新建CAD文件输出计算图,管段改为直线显示,这样可以在直线两边显示相应的管段流量规格、流量、压降等数据。

为了直观显示计算结果,还做了如下工作:

1)首先将比摩阻统一换算成pa/m的单位,直观显示比摩阻的大小。

2)管道内径可替换显示,比如de110的pe管,计算时管径显示为90,输出计算图时,可替换显示为de110。

4)根据管段平均压力的大小,或者所属的供气气源,将管段分级,以便在输出计算图时根据分级分色显示。

5)根据设置,将流速过大、过小的管段分颜色显示,比如流速超过20m/s(该值由用户给定),的管段显示为红色,小于2m/s(该值由用户给定)的管段显示为绿色。

6)通过生成等压线,更直观地显示计算结果,对于压力过高(该值由用户给定),压力过低(该值由用户给定)的地区,可以分颜色显示。比如高压区等压线显示为红色,低压区等压线显示为绿色,其他地区显示为蓝色等压线。

本系统流程如下所示:

60a32cc7eb812_html_14f778ce5fcaba2b.png

图1 本系统流程图

4、软件特点

1)、引入共轭梯度法和60a32cc7eb812_html_14c7066de9c1add5.gif 计算库求解方程组,管网平差计算时间大幅缩小,相比赛德尔迭代法速度提高一个数量级,提高了计算效率。

2)、将用户从复杂的计算过程解放出来,集中精力进行管网的规划,采用COM组件接口后期绑定方法,支持主流CAD平台,使管网水力计算可视化,极大提高了用户的使用体验。

3)、使用属性块来表示燃气管网数据,公共数据表示在一个公共参数属性块里面,每个节点表示在一个节点属性块里面,每个区域流量也可用一个区域流量属性块表示区域流量数据,使用属性块表示管网数据可用一个CAD数据文件就可以完整表示一个燃气管网结构的所有数据,简单且直观。

4)、直接使用多段线表示管段的方法符合工程实际情况,可以有效的简化燃气管网,既不舍弃精确度,又不增加管网复杂度。


5、实际应用

程序设计思想为简约实用,已在实际设计工作中使用多年,国内多个设计院和燃气单位反馈效果良好。


参考文献:

1、《城镇燃气设计规范》GB 50028-2006

(中国市政工程华北设计研究院 中国建筑工业出版社出版发行 2006.7)

2、《燃气工程设计手册》(严明卿 中国建筑工业出版社发行 2008)

3、《天然气管道输送》 (李长俊 石油工业出版社 2000.11)