自动喷水灭火系统格栅状管网水力计算优化探讨

作者:杨培云
单位:厦门合立道工程设计集团股份有限公司
摘要:自动喷水灭火系统格栅状管网(下称“格网”)的形式较为复杂,准确且高效的水力计算是其推广应用的前提。“格网”的水力计算与城市给水管网平差类似,采用节点方程法较为合适。基于方程组对应的系数矩阵为大型稀疏对称正定矩阵,对系数矩阵的生成算法、储存算法和分解算法进行了优化,规避了零元素的储存和运算,有助于提高计算效率。
关键词:自动喷水灭火系统 格栅状管网 水力计算 稀疏矩阵 图论 算法优化
作者简介:作者简介: 杨培云,通讯处:361006厦门市湖里区岭下西路1-3号电话:(0592)2298073E-mail:yangpeiyun@163.com;

 

0 引言

自动喷水灭火系统格栅状管网(下称“格网”)在NFPA中的定义为“若干根配水支管的两端与并行的配水管相连,发生火灾时,配水管向已开放洒水喷头的配水支管两端供水,配水管之间的其他配水支管协助转输消防用水的自动喷水灭火系统”[1](NFPA 3.4.6条)。“格网”具有双向供水、多管转输的特点(典型形式见图1),其与枝、环状管网相比更为经济、布水更均匀、供水压力要求更低[2],且供水流量受供水压力波动的影响更小。虽然“格网”有很多优点,但其水力计算较为复杂,且受软件、规范等诸多因素影响,导致其应用并不广泛,目前也仅在厂房、仓库等场所有使用。就程序设计而言,“格网”与枝状管网的算法并无本质区别,能计算枝状管网的程序只需要稍加改动即可计算“格网”。本文就“格网”的算法实现及其优化的相关要点加以汇总,希望有助于推广“格网”在工程设计中的应用。

图1 格栅状管网

图1 格栅状管网

Fig.1 Grid pipe network

1 算法概述

1.1 计算方法

水温一定时,任何管流可用流量、水头损失、管径、管长和管壁条件这5个主要变量描述。一般仅流量和水头损失为未知变量,且两者之间的关系可由水头损失公式表示。管网计算时,消去水头损失,以流量为未知量的计算方法称为流量法;消去流量,以节点水压为未知量的计算方法称为水压法,这是管网计算的2种主要方法[3]3]

求解未知变量的基础方程组有节点连续性方程、管段压降方程和能量方程等。按照联立求解方程组的变量分类,可分为环方程法、管段方程法、节点方程法3类。其中环方程法对环状、枝状混合管网的计算很不方便,且初始流量拟定对结果收敛性影响较大;管段方程法的系数矩阵不对称,难以优化,这2种方法都不太适合“格网”计算。节点方程法具有方程式数量适中、不需要环信息、初始流量和初始节点压力的拟定比较简单、系数矩阵为稀疏对称正定矩阵、计算收敛性较好等特点[3]3],为目前较常用的计算方法,也是本文讨论的计算方法。

1.2 计算步骤

“格网”的水力计算与环状给水管网平差计算大同小异,本文不作深入展开,仅对一些关键要素加以简要说明。

1.2.1 基础数据

基础数据包括图元数据和计算数据。图元数据为喷头的中心坐标、K系数和标高,管道的端点坐标和管径,作用面积轮廓线的各角点坐标等。部分数据可通过扩展数据(XDATA)的方式赋予图元。计算数据为已知节点压力、允许误差和管材;衔接矩阵为奇异矩阵,需至少设定一个节点压力,否则方程组有无穷解或无解,此压力一般为入口压力或最不利点压力,亦可采取相对水压的方式加以化简[4]4];非线性方程组无法计算精确值,只能通过迭代求解近似值,允许误差决定了计算精度;管材与海澄-威廉系数和当量长度有关。

1.2.2 管网拓扑

根据图元数据中各种点的坐标可以拓扑管道与节点的相互关系,并生成衔接矩阵;区分计算节点和非计算节点,计算节点包括入口节点、作用面积内的喷头节点和管道上三通、四通节点,通过管长、管径、海澄-威廉系数计算管道摩阻,通过喷头标高计算短立管摩阻;通过对作用面积内的喷头节点进行四边形剖分可计算任意4只喷头围合范围内的平均喷水强度。

1.2.3 初始流量

即使不设定管段初始流量也不会影响迭代收敛,只会略微增加迭代次数。若希望设定管段初始流量,建议采用最小平方和流量分配法,即分配后各管段的流量平方和最小[3]3]。采用此方法,各节点满足节点流量平衡条件,且流量分配比较均匀。作用面积内喷头节点的初始流量可根据压力和K系数推求。

1.2.4 迭代计算

利用式(1)~式(4)进行迭代计算,其中式(1)将非线性方程转化为线性方程,式(2)求解线性方程组得各节点压力H,式(3)根据节点压力修正节点出流量Q,式(4)利用矩阵运算求出各管段流量q。当前后2次迭代所求得的同一管段流量之差的最大值小于允许误差时,迭代结束。

 

式中 C——线性转化系数;

s ——管段摩阻;

q ——管段流量;

A ——衔接矩阵;

AT ——衔接矩阵的转置;

H ——节点压力;

Q ——节点流量;

K ——喷头流量系数(不出流的节点为0)。

1.3 程序框图

图2 程序

图2 程序

Fig.2 Program block diagram

程序见图2。

1.4 小结

“格网”计算采用单水源、单定压节点的稳态水力计算方法,即不考虑压强、流量等参数随时间而变化。在迭代过程中,每次所得解总是在最终解的附近摆动,因此2次迭代后,采用前后2次解的平均值作为校正后的流量可大幅提高收敛速度[3]3];“格网”计算只考虑在作用面积内的少数喷头开放出流,大量其他喷头不出流,将相邻且不分流的节点通过数学方法加以合并,可以大幅减少计算节点和管段数,系数矩阵的阶数相应降低,线性方程组求解速度显著提高;构建衔接矩阵时无需关注水流方向,即可以随意假定节点之间的水流方向,只要该矩阵能准确反映管网的拓扑关系,就能通过计算结果的正负号判断水流方向;在迭代过程中,节点流量并非保持不变,每次迭代后需根据求得的喷头节点压力推求喷头节点流量用于下次迭代;不建议在迭代过程中调整管径和当量长度,当管段流量接近某些临界值时,有可能会在几个相近结果中循环滚动导致无法收敛。

无论管网形式为枝状、环状、格栅状或者以上形状的混合方式均可按上述基础算法进行计算,通用性较强,且较容易理解和实现。但此算法用于“格网”计算时,由于计算节点相对较多,且需要进行3次对比计算[1]1],对某些模块适当优化有助于减少运算耗费时间。

2 算法优化

2.1 计算简图

以一个简单的“格网”为例(见图3),其中喷头为J1、J3、J5,共3个。因4个弯头无出流或分流,不视作计算节点。图3最终可概化为6个计算节点(J1~J6)、7根计算管段(G1~G7)、2个环。

图3 计算示意

图3 计算示意

Fig.3 Computing sketch

2.2 系数矩阵

3对应的系数矩阵见表1,该矩阵为6×6阶稀疏对称正定矩阵,而且具有主对角优势。主对角元素均为正,且等于交汇于该节点的所有管段的C值的算术和,也就是同一行(或列)中除主对角元素之外其他非零元素的绝对值之和。每一行中,除了主对角元素以外,只有与该节点相邻的节点所在的列元素为非零元素,其值为连接这2个节点的管段C值,并一律为负[3]3]。根据以上特点,有多种方法可以直接生成系数矩阵[4]4],从而避免矩阵相乘运算中大量的无效运算。优化系数矩阵的生成算法最容易实现,且对提高计算效率帮助最大,约可提高计算速度10倍。

表1 系数矩阵
Tab.1 Coefficient matrix   

表1 系数矩阵

2.3 压缩储存

系数矩阵中的非零元素沿主对角呈斜带状分布,半带宽与管段两端节点的编号之差相关。编号之差越小压缩储存后的数据体积越小,而且乔里斯基(Cholesky)分解法(即平方根法)分解系数矩阵为上、下三角矩阵时,非零元素只会出现在半带宽区域内,缩小编号差也能减少“填充”非零元素的数量[5]5]。故管网拓扑生成节点编号时优化编号顺序有助于提高运算速度。

图4 形式分解

图4 形式分解

Fig.4 Formal decomposition

压缩储存的方法一般采用变带宽储存数据结合指标数组的方式实现[6]6]。笔者在此方式为基础上改用变带宽链表的方式储存,即每个节点储存相邻节点及其相对应的衔接管段信息(峰矩阵[3]3]),从而全过程均避免对所有非零元素的储存和计算,但需要为此改写线性方程组求解模块以配合特定的数据结构。

2.4 形式分解

确定系数矩阵分解后下三角矩阵中非零元素的位置和个数称作形式分解[5]5],这是减少后续数值分解、顺代运算和回代运算的关键。

G(J,E)表示一个有向图,其中,J是有向图G顶点的集合,EJ中有序顶点对所构成的弧(有向边)的集合;其对应的邻接矩阵中Ji表示矩阵的第i个对角线元素,它对应图的第i个顶点,图4使用“☆”和“●”表示对角线以外的非零元素,它对应图中的弧(增弧用“●”表示);邻接链表是邻接矩阵的压缩储存格式。有向图、邻接矩阵和邻接链表是等价的,只是表现形式不同。图4分步骤列出了每次消去节点、增弧和填充等操作,有助于理解如何应用图论中可达集[5]5]的概念建立消去模型。

AN阶对称稀疏矩阵,A的非零结构记为Nonz(A)。设经Cholesky分解,A被分解为A=L·LT,其中L为下三角矩阵。若F=L+LT,称FA的填充矩阵,F的非零结构记为Nonz(F)。当给定非零结构Nonz(A)后,Nonz(F)是可以确定的,即Nonz(F)与A中元素的数值没有关系[5]5],故可以预判分解后的非零结构。

若有序对{Ji,Jj}满足以下2个条件中的任何一个,则JiJj存在一条弧(即为非零元素):①{Ji,Jj}∈E;②{Ji,Jj}∉E,但存在顶点Jk(k<i<j),使{Jk,Ji}∈E且{Jk,Jj}∈E。对于第②种情况,有向图G发生了“增弧现象”,对应矩阵中的“填充现象”[5]5]

Ji的相邻点有n个,若要消去Ji,对于文献[5]讨论的无向图需要n2次操作,对于“格网”对应的有向图只需n-1次操作,时间复杂度更小。通过形式分解可避免对非零元素进行计算,比Cholesky分解可提高计算速度3~4倍。在一些文献中也将其称作线性稀疏矩阵的直接解法。

2.5 小结

“格网”计算中涉及的矩阵均为大型稀疏矩阵,通常其非零元素占元素总数不到1%。好的压缩存贮方法和好的求解方法相结合,可以节约计算机存贮容量,同时能提高计算速度。在计算机内存已足够大的今天,这仍然是程序设计时必须考虑的重要问题[3]3]。矩阵中的每个非零元素在有向图中均有其实际意义,即对角线元素为顶点,非对角线元素为弧;有向图中的顶点对应于“格网”中的计算节点,弧对应于计算管段。理解了“格网”、有向图、矩阵这三者的关联性后,就可以在生成系数矩阵和Cholesky分解时仅对非零元素进行操作,再通过设计合理的数据结构来实现仅储存非零元素,则可将计算速度推向极致。无论采用哪种编程语言均可以实现仅储存和计算非零元素,差别只是实现的难易程度。

3 结语

目前专门针对“格网”水力计算开发的软件不多,往往需要借助Epanet[7]7]、Flowmaster[8]8]、Matlib[9]9]等通用软件来进行计算。通用软件虽然功能强大且通用性强,但其并非为“格网”量身定做,导致输入输出都不太方便,而且设定计算参数也较为复杂,用户的学习成本较高。限制“格网”应用的最大障碍就是没有称手的工具。

“格网”水力计算与给水管网平差的原理一致,无论是算法实现,还是算法优化,均无太多技术难点。但因缺乏规范的支撑,或多或少地限制了软件公司对“格网”计算软件的开发投入,间接影响了“格网”的推广应用。

“格网”与枝状管网的水力条件完全不同,不应该将枝状管网的相关规定强行套在“格网”设计中。但是实际工程中这种情况屡见不鲜,所以规范的正面引导尤为重要。

 

Discussion on hydraulic calculation optimization of gridded sprinkler system
Yang Peiyun
(Xiamen Hordor Architecture & Engineering Design Group Co.,Ltd.)
Abstract: The form of gridded sprinkler system is complex, accurate and efficient, hydraulic calculation is the premise of its popularization and application. Gridded sprinkler system hydraulic calculation is similar to the calculation of urban water supply networks, and node equations method is more suitable. Based on the coefficient matrix of equations is large sparse symmetric positive definite matrix, the paper optimizes the generation algorithm, storage algorithm and decomposition algorithm of the coefficient matrix, non-storage and non-operation of zero elements helps to improve computational efficiency.
Keywords: Sprinkler systems; Gridded pipe network; Hydraulic calculation; Sparse matrix; Graph theory; Algorithm optimization;
1429 1 1
文字:     A-     A+     默认 取消