燃气管网水力计算程序的开发

摘 要

通过对燃气管网拓扑结构的研究,开发了基于面向对象技术的可视化燃气管网水力计算程序。通过实例证明,计算程序应用方便,通用性强,可以大幅提高燃气管网水力计算的效率。

摘要:通过对燃气管网拓扑结构的研究,开发了基于面向对象技术的可视化燃气管网水力计算程序。通过实例证明,计算程序应用方便,通用性强,可以大幅提高燃气管网水力计算的效率。
关键词:燃气管网;水力计算;Auto CAD接口;节点自动编号;点捕捉;线捕捉
Development of Hydraulic Calculation Program for Gas Network
ZHANG Ning,TIAN Guansan,LI Chengle,XIE Donglai
AbstractThrough the analysis of topology structure of gas network,a visual hydraulic calculation program for gas network based on object-oriented technology is developed.A case shows that the calculation program can be applied conveniently and has considerable generality,and it can greatly improve the hydraulic calculation efficiency of gas network.
Key wordsgas network;hydraulic calculation;Auto CAD interface;automatic numbering of nodes;point snapping;line snapping
    目前我国面临能源结构的调整,越来越多的居民使用热效率高、清洁环保的管输天然气。随着西气东输、川气东送、沿海LNG等项目的开展,天然气输配工程在城市基础设施建设中将占据越来越重要的地位。燃气管网水力计算是进行管网设计和运行的理论基础,是顺利完成输配任务的保证。计算机应用技术的普及促使水力计算程序代替了传统的手工平差计算。目前大多基于Windows界面利用可视化语言研制计算程序,在对话框中以表格的形式进行数据的输入、输出,尽管计算用时和精度与手工平差相比有了很大的进步,但是水力计算图的拓扑结构全部抽象为数字表达,没有根本改变与管网结构图相分离的问题,设计人员在实际操作中很容易出错[1]。也有利用Auto CAD的Auto LISP、VBA等二次开发技术编写程序,在Auto CAD平台下进行水力计算,虽然可以方便地在图形界面下进行水力计算图的输入和输出,但是其在数据处理和数值计算方面还有欠缺,功能比较单[2~4]。针对目前天然气管网水力计算现状,有必要开发计算精度高、通用性强、自动化程度高的可视化燃气管网水力计算软件。
1 燃气管网水力计算程序的结构设计
    燃气管网水力计算程序利用Visual C++和Fortran混合编程技术,基于Visual C++强大的图形处理能力和人机交互功能,开发了用户操作窗口,并结合Fortran强大的数值运算功能,研制了水力计算内核,程序在Windows操作环境下运行,用户操作方便、快捷。
1.1 程序的数据结构
    管网数据结构是各种管网数据在记录中的逻辑编排方式和数据文件的组织方法,反映了管网数据间的逻辑关系。燃气管网水力计算系统采用数组和链表的数据结构。燃气管网的属性数据(包括管段号、起点号和坐标、终点号和坐标、管长、管径、管材、管段流量等管段数据,节点号和坐标、节点流量、节点压力等节点参数)采用数组的数据结构,可以方便、条理清楚地储存和调用管网数据。管网的图形数据(包括管段、节点、环的拓扑结构关系)采用双向链表的数据结构,每一条管段作为一个链节按绘制顺序分布在链表中,可以方便地进行管段的截断、删除、添加等操作,通过管段链表的依次搜索,实现对管段和节点迅速、准确地编号和查找。
1.2 程序的结构设计
    燃气管网水力计算程序的系统结构见图1。用户通过系统界面上的选单栏、工具栏、单文档界面客户区等对系统进行操作,操作的执行者为主框架类、视图类和其他对话框类,完成燃气管网图形数据和属性数据的人机对话输入,进行管网水力计算后,计算的结果通过文档类保存至Access数据库或打印输出,相应的数据保存在磁盘中,以方便下次查阅。
 

1.3 程序的功能模块设计
    燃气管网水力计算程序的功能模块见图2。管网输入和管网组件模块用来输入管网的拓扑结构和管网计算参数,管网编辑和观察模块方便管网结构的变更和动态观察,管网计算模块根据计算参数对低压或者高中压燃气管网进行水力计算,管网标注和计算结果模块读取计算结果并标注在水力计算图上,最后通过Auto CAD自动输出计算结果图。
 
 
2 燃气管网水力计算程序的功能介绍
2.1 计算数据的输入
程序首先根据用户选择的管网压力级别进入相应的程序模块。在可视化界面由用户利用鼠标绘制管网结构图,在用户点击鼠标确定起点后,会有一条随鼠标移动可自由伸缩的“橡皮线”帮助定位,当再次点击鼠标确定,就绘制了连接两点的管道,同时在管道中间绘制从起点到终点的流向三角形,在管段链表中建立一个链节,状态栏中实时显示鼠标当前位置的横、纵坐标以方便用户精确绘图。在绘制管道的同时,为了水力计算的需要,程序自动对节点进行编号[5]。正交绘制功能可以辅助用户绘制水平或竖直管道。针对由Auto CAD绘制的大型或特大型管网图中管段特别多、输入管网拓扑结构图工作量大的特点,程序利用Auto CAD的DXF文件作为数据接口,可以根据选择的图层、线宽、线型、颜色等管段属性信息选择性地自动导入管网拓扑结构图。
    定义以管道为中心线且平行于管道的小面积矩形为线捕捉区域,以节点为圆心的小面积圆形为点捕捉区域,鼠标在上述区域内双击会分别弹出节点属性和管段属性对话框帕J,见图3、4,为相应的节点输入流量或压力,为相应的管段输入管长、管径、管材。对于多气源管网还需输入气源属性,程序通过节点编号重排使得压力基准点编号最大,定压点随基准点居后编排,便于节点方程组的求解。点捕捉和线捕捉技术实现了管网图和数据的紧密结合,更加直观、形象,输入大量管段和节点参数时,很大程度上减少了输入的差错,提高了效率。
 

    程序具有窗口放大、缩小和平移等管网观察功能,用户滚动鼠标的滚轮实现管网的无级缩放,按下鼠标左键拖动鼠标就可方便地实现管网图的平移。为实现某一节点或管段在管网中的迅速定位,在管段和节点查询对话框中输入其编号,程序即可将其移至屏幕的中心。
2.2 燃气管网水力计算
    燃气是多种气体的混合物,程序可以根据其组成和温度计算密度和运动黏度,见图5。在进行水力计算时,需要输入管网的水力计算参数,见图6。各个参数说明如下:已知压力参考点的编号和压力值,其他节点的压力以压力参考点为基准,通过管段压力降计算得出。节点流量比例系数是各个节点如图3所示输入的节点流量和计算时节点流量的比值,一般情况下此值取1,当进行不同流量负荷下的管网水力计算时可以取相应比值。局部阻力系数是局部阻力与沿程阻力的比例,用来计算管网压力降。燃气的密度和运动黏度可以通过图5所示间接计算得到或者作为已知条件直接输入。对于多气源管网,定压点数量和已知流量节点数量可以区分气源点是已知压力还是已知流量气源点[7]
 

    由Fortran语言编写的水力计算程序读取管网的节点和管段计算参数,采用经济流速和管径得出管段初设流量,利用解节点方程法对由管段压力降、节点流量、环能量方程组成的方程组进行多次迭代求解,直到相邻两次的节点流量差的绝对值满足计算精度要求为止,并依次计算各节点压力和流量、管段流量和压力降等水力计算结果。该方法与解环方程法和解管段方程法相比较,数据输入量小,计算用时少,精度高[8~9]
2.3 计算结果的标注
    程序读取水力计算结果,沿管段走向标注管径、管长、管段的流量和压力降,在节点处用引线标注流量和压力,如果计算的管段压力降是负值,则说明该管段的实际流向与初设流向相反,程序可以用背影色覆盖管段原有流向三角形并重新绘制反方向流向三角形,自动修改不合适的管段初设流向。如果管网结构需要变更,可以通过删除管段、打断管段在中间增加节点、增加管段,改变管段流向,程序同时会自动对管段的相应数据进行修改并进行计算,也能够改变管段颜色使需要重点考察的管段更加醒目。计算结果可以随图形保存,方便日后查阅。
    程序还具有Auto CAD输出接口,水力计算结果和节点坐标记录在DAT数据文件中,利用Auto CAD中Auto LISP二次开发技术,读取上述数据文件,自动在Auto CAD中绘制管段和节点并标注计算结果,输出水力计算结果图。程序同时可以根据用户选择的图纸号,自动调整其缩放比例。
3 水力计算实例
    某低压燃气管网,已知数据如下:节点数为18,管段数为18,气源点压力为3000Pa,局部阻力系数为0.05,管材为钢管,管网计算温度为10℃,气体密度为0.81kg/m3,运动黏度为1.27×10-5m2/s。
    图7为燃气管网水力计算结构,进行水力计算后在Auto CAD中自动输出的水力计算结果标注图见图8。
 

4 结论
利用Visual C++开发了基于面向对象技术的可视化燃气管网水力计算程序,利用解节点方程法对非线性节点方程组进行迭代求解,实现了管网拓扑结构图的鼠标输入和Auto CAD图纸自动导入,管段节点自动编号,人机对话输入管段和节点参数;针对管网变更所造成的管网结构变化,程序具有删除、添加、打断、改变颜色、流向等管段编辑功能;水力计算结果图可随随Auto CAD自动输出,真正实现了管网输入与拓扑结构图的紧密结合,提高了燃气管网水力计算的效率和自动化水平。
参考文献:
[1] 谢子超.燃气管网设计计算程序的研制[J].煤气与热力,1985,5(1):33-38.
[2] 姜东琪,杜建梅,崔建华,等.燃气管网水力计算及水力计算图的绘制[J].煤气与热力,2001,21(5):453-455.
[3] 丁国玉,田贯三.AutoCAD VB(VBA)二次开发在燃气管网水力计算中的应用[J].城市燃气,2008(1):15-18.
[4] 鲁国文,冯良.基于Auto CAD的燃气管网水力计算和自动绘图系统的研究[J].上海煤气,2006(1):26-29.
[5] 李成乐,田贯三.燃气管网水力计算图节点计算机自动编号的方法[J].山东建筑工程学院学报,2005,20(4):51-54.
[6] 李成乐,田贯三.燃气管网水力图计算机输入的探讨[J].煤气与热力,2005,25(2):32-35.
[7] 张宁,解东来,田贯三,等.多气源燃气管网水力计算程序的开发[J].煤气与热力,2009,29(6):B05-B08.
[8] 田贯三,张增刚,江亿.城镇天然气管网水力分析数学模型与计算方法[J].天然气工业,2002,22(3):96-98.
[9] 田贯三,刘燕,江亿.燃气管网水力计算研究[J].哈尔滨工业大学学报,2003,35(7):770-772.
 
(本文作者:张宁1 田贯三2 李成乐3 解东来1 1.华南理工大学 化学与化工学院 广东广州 510640;2.山东建筑大学 热能工程学院 山东济南 250101;3.北京航天爱锐科技有限责任公司 北京 100176)