彭 亚, 蒋仲安
(北京科技大学 土木与资源工程学院, 北京 100083)
矿井防尘供水管网是保障矿山安全生产的重要基础设施之一,其供水不仅用于满足井下消防除尘的需求,同时也用来提供矿井降温、液压支护、充填、设备冷却、巷道冲洗、混凝土施工等方面的用水,尤其是其中的防尘用水对矿井生产环境的改善和矿井工人健康安全的保障具有重要作用.因此,建立一个完善有效的矿井防尘供水管网,研究其连续运行过程中的水力水质变化规律,及时发现故障、维护并优化管网性能,具有十分重要的意义[1-2].
供水管网的运行状态受供需关系以及管网机械性能的影响,一般具有时变性、随机性以及不确定性.通过构建供水管网水力水质模型,在采集管网数据基础上进行模拟仿真是研究供水管网性能的有效途径,能够帮助了解供水管网系统中水流流动及水中物质成分演变规律,并为管网的优化调度和科学管理提供决策支持.目前EPANET,WaterGEMS,InfoWorks WS等管网系统分析软件是进行供水管网模拟仿真的主要工具[3].由美国环境保护署1994年使用C语言开发的EPANET作为经典的供水管网水力和水质动力学模拟的开源软件[4],在工业界和学术界得到了广泛推广和应用,尤其是在供水管网设计及运行优化[5]、水力水质模拟与校核[6]、可靠性与风险分析[7]、监测点布置[8]、故障检测[9]等方面;其核心的水力水质计算模块可以被多种语言调用,因而该软件多用来二次开发实现特定的功能和用途.比如Ho等[10]开发了支持节点水质不完全混合的大对流模拟扩展程序EPANET-BAM;Siew等[11]开发了基于压力驱动的水力模拟扩展程序EPANET-PDX;Seyoum等[12]开发了基于压力驱动的水力模拟和多组分水质模拟扩展程序EPANET-PMX等,但这些扩展程序没有集成到EPANET图形用户界面或者其函数库中,且由于其版本、运行环境或者其具体功能的局限性,并没有得到普及.
目前,国内外研究人员常用的方式是在不同的编程平台上使用MATLAB、Python[13]或者R语言[3]调用EPANET,编写自定义融合计算及后处理程序,来实现水力水质的扩展研究.其中在MATLAB环境中调用EPANET计算引擎传统的方式是使用基于过程的程序设计的EPANET Programmer’s Toolkit函数库[14].该方式需要用户熟知该函数库中各函数的调用格式及其包含的各参数,掌握各函数在模拟循环中的调用顺序;并且在不同的功能模块和应用程序之间共享数据时没有一个通用的EPANET数据结构.因此,研究人员在初步接触使用时,难以快速掌握.塞浦路斯大学KIOS智能系统和网络研究中心于2016年推出的EPANET-MATLAB Toolkit[15]采用面向对象的数据结构设计,能克服上述困难,让研究人员更快速、方便地掌握函数调用方式,实现灵活地提取与修改供水管网基本参数与水力水质计算数据,但该开源工具箱在国内尚未推广使用.
综上所述,现有文献对EPANET-MATLAB混合编程的具体实现方法少有阐述,尤其对EPANET-MATLAB Toolkit了解不足,并且国内外对供水管网的研究主要是针对有压市政供水管网,而对重力输送为主的矿井供水管网的研究非常少[16].本文首先对水力水质模型构建与求解进行了理论分析,然后对两种基于EPANET-MATLAB混合编程的水力水质模拟方法进行了编程实现及对比,并进一步应用于矿井防尘供水管网上,构建动态水力水质模型,借助MATLAB强大的数据分析与处理能力,融合EPANET计算引擎,研究分析防尘管网的水力工况和水龄的变化规律,以期为矿井防尘供水管网的科学管理以及防尘管网的深入研究提供参考.
矿井防尘供水管网水力模型的构建基于质量守恒定律和能量守恒定律,是从物理管网基本组成元件的水力行为出发,在已知的供水管网拓扑结构关系、管径、管长、管段水头损失系数、节点用水量及边界条件等参数下,通过式(1)节点质量连续性方程、式(2)管段压降方程、式(3)环能量方程构建线性与非线性混合方程组,求解方程得出节点压力、管道流量等管网状态量.管网水力模型可以分为稳态流模型、拟稳态流模型、非稳态不可压缩流模型和非稳定可压缩流模型,使用EPANET建立的一般是稳态流模型和拟稳态流模型.本文采用全局梯度法迭代求解水力模型.
(1)
(2)
(3)
式中:qi为管段的流量,m3/s,管段流量流出节点时为正,流入节点时为负;Qj为节点j的流量;Ij为节点j的管段关联集;N为管网中的节点总数;HFi,HTi分别为管段i的终止和起始节点的水头,m;hi是管段的压降,m;Si为管段阻力系数,为管段上管道、管件、阀门、泵站所有设施阻力之和;n是流量指数;M为管网中的管段总数;k为管网中环的编号;ΔHk为管网中环的闭合水头差,m.
水质模型是建立在水力模型的基础上,模拟水质参数如水龄、微生物、消毒剂、消毒副产物等随时间在管网中的变化情况.针对矿井防尘供水管网,管网中物质的传输主要由3个基本过程组成:管道内对流迁移过程、物质动态反应过程、物质浓度在节点的混合过程.基于质量守恒原理和反应动力学理论,可以建立各过程的控制方程如下:
1) 管道内对流迁移过程.
(4)
式中:Ci(x,t)是在t时刻管段i的纵向x处的反应物浓度;ui为管段i的平均流速,m/s;r[Ci(x,t)]表示管段中反应物质的反应变化速率,对于不同的反应物质可选用不同的反应模型.
2) 无容节点处的混合过程.
(5)
式中:i表示流出节点的k管段;J为流入节点k的管段的集合;Ci(0,t)为在t时刻节点k的下游管段i起点处的反应物浓度;Qj为管段j的流量,m3/s;Cj(xj,t)为在t时刻,管段j末端与节点k相连处的反应物浓度;Qkin为外部水源流入节点k的流量,m3/s;Ckin为外部水源流入节点k的反应物浓度.
3) 有容节点如蓄水设施处的混合.
(6)
式中:V为在t时刻储水构筑物的容积,m3;CR(t)是在t时刻储水构筑物中的反应物浓度;Iin,Jout分别为流入和流出储水构筑物的管段的集合;Qi,Qj分别为流入和流出对应管段中的流量,m3/s;r[C(t)]是在t时刻储水构筑物中的反应物质的反应变化速率.
由于各控制方程是一系列的偏微分方程,其解析解难以求得,本文使用拉格朗日时间驱动算法进行求解,通过迭代计算跟踪离散水体在管道中移动和在节点处固定时间步长下的混合情况,从而求解管道中溶解物质的瞬时浓度.
EPANET可以实现对供水管网的水力和水质的有效模拟,但其编辑能力、信息处理和后处理特性明显不足.对于科研人员,往往会在水力水质模拟的基础上进一步扩展特定的需求,借助MATLAB数据处理与分析的高级编程环境,可以实现与EPANET数据的对接,开展供水管网更深入的研究.
EPANET Programmer’s Toolkit是美国环境保护署针对EPANET推出的动态链接库(DLL)文件,库中共有55个函数和104个变量.在MATLAB编程环境下可通过调用该DLL来启用水力水质模拟,从而将计算过程中输入、输出的相关数据以及迭代约束条件,同能够实现特定需求的扩展计算、分析程序进行对接,其主要步骤及代码如图1所示.
由图1可知,使用EPANET Programmer’s Toolkit加载和调用EPANET共享函数库,需要用到MATLAB中的loadlibrary和calllib函数.对水力水质计算过程中数据的提取或者修改,需要使用DLL中内置的EPANET函数,比如修改节点和管段信息时,分别使用ENsetnodevalue,ENsetlinkvalue函数.该方式中,大多数DLL内置函数在使用时,要定义参数对应的具体代码.比如ENsetnodevalue函数的使用格式为ENsetnodevalue(int index,int paramcode,float value),需要在括号里输入节点索引、参数代码及参数值三类信息.其可选的参数代码多达十几种,难以直观辨别功能.若进行复杂扩展运算与分析,MATLAB自定义程序与EPANET之间要进行大量、反复的数据交换,该方式下程序的编写和修改非常不便.此外,该工具箱由于运行环境的限制,在64位系统上调用时,会与Microsoft Visual C++2010以上的版本冲突,导致调用失败.
与面向过程的EPANET Programmer’s Toolkit相比,EPANET-MATLAB Toolkit使用了基于面向对象的程序设计方法来编排EPANET的各函数及变量,供EPANET与MATLAB进行对接,支持用户直观提取、修改管网信息和执行运算,并且支持绘制管网拓扑结构图.
图1 两种EPANET-MATLAB混合编程方法的水力水质模拟实现步骤及核心代码
使用EPANET-MATLAB Toolkit进行防尘供水管网的水力水质模拟步骤和代码如图1所示,可以看出基于EPANET-MATLAB Toolkit的混合编程,代码更为简洁、明了.比如对管段信息的修改是使用d.setLinkDiameter,d.setLinkLength,d.setLinkRoughnessCoeff等基于“类名.方法名”结构来修改管段信息,方法名与所设置参数对应,数据的结构性非常直观.此外,该工具箱在32位和64位系统上兼容性较好.因此,基于EPANET-MATLAB Toolkit的混合编程比EPANET Programmer’s Toolkit更加灵活、便捷,有助于提高对供水管网水力水质扩展分析研究的混合编程效率.
应用EPANET-MATLAB Toolkit在MATLAB环境下调用EPANET构建矿井防尘供水管网水力水质模型,结合防尘管网日用水需求变化,分别进行了24 h动态水力模拟和48 h动态水质模拟,以考察该防尘管网的水力工况和水龄分布特征.
图2所示为开滦集团某矿的井下防尘供水管网现场布置简化图.该防尘管网为多水源重力输送供水管网,共有3个地面静压水池,水源主要来自地下水和大气降水.该矿总共有综采、炮采、综掘、炮掘及开拓共17个工作面用水点.目前的开采深度在-700~-1 100 m之间,今后还将进一步加大.通过对主要采掘工作面防尘时用水量和矿井总防尘时用水量进行一周的连续观测,得到日防尘时用水量的平均变化趋势如图3所示.平均每日最大防尘时用水量为148.87 m3/h,日总防尘用水量为2 036.45 m3.
采用EPANET绘制管网水力模型及基本信息如图4所示.该模型总共有3个水源节点,17个无容节点,20根管段.水力模拟设置总历时24 h,水力时间步长为1 h,各工作面用水点根据日用水需求设置用水时间模式.由于该矿井下大部分管道为钢管或者铸铁材质,且使用年限大于10年,管段内表面粗糙度变大,取管段海曾-威廉粗糙系数100.水质模拟总历时48 h,水质时间步长为0.05 h,模式时间步长为1 h,模式起始时间为0.在计算时水龄被处理为一种反应成分,初始水龄设为0,其增长遵从具有速率常数为1的零级反应动力学,主流反应系数为1,无管壁反应.实现混合编程水力水质模拟使用的软件包括EPANET(2.0)和MATLAB(R2018b).通过迭代水力模拟并提取每个时间步下的水力数据,防尘供水管网的水龄分布特征在水力模拟的基础上进行时间步水质模拟来获得.
图2 井下防尘供水管网的现场布置简化图
图3 日防尘时用水量变化图
根据图3中该矿防尘供水管网日用水需求变化,可知日时用水量呈现出一定的规律性,具有明显的用水高峰时段和低峰时段.将用水实况与作业安排进行比较发现,其用水量特征与作业排班制度间具有一定的相关性.该矿井每日采用三班制作业模式,井下作业分为早班(7:00~15:00) 、中班(15:00~23:00)、夜班(23:00~7:00).夜间一般为检修班,井下工作面产尘量较小,因而防尘用水量也相对减少;早班和中班生产活动较为频繁,为用水高峰时段,在换班时间(如14:00~15:00)用水量会存在短时段的下降.
结合防尘管网基础数据和井下日用水需求进行动态水质模拟,可以得到24 h内各管段流量和节点水压分布.图5为与水池相连管段的流量和供水系统总流量变化曲线,可知在水源水量充足的前提下,各水池的供水量随着井下用水需求发生变化.与日时用水需求规律相对应,各个水池的日时供水量也都呈现明显的高峰和低峰时段,夜班和换班时间的供水量减少.此外,1号水池承担井下大部分用水需求,尤其是在用水低峰时段,防尘管网供水基本来自1号水池,而2号、3号水池作为补充水源.
图6为该矿防尘管网各用水节点水压24 h内变化趋势图,可知,各用水节点一天中的水压变化也呈现出明显的高峰时段和低峰时段,且变化趋势与日时用水需求的趋势相反.比如夜班1点~7点为用水低峰时段,防尘时用水量由低变高,但用水节点的水压处于高峰时段,且呈现由高变低的趋势,这说明用水量与节点水压之间负相关.在用水高峰时段,管网系统要输送更多的水量,产生的水力损失更大,因而剩余的动水压相对减小.
根据图6中各用水节点水压变化范围,可以将用水节点分为三组(见表1).第一组中用水节点的压力有一半的时段在4 MPa以上,尤其是在夜班用水低峰时段,最高水压将近5.5 MPa.根据《煤矿井下消防、洒水设计规范》(GB 50383—2016),井下静水压力不宜超过4.0 MPa,确实需要超过4.0 MPa时,应在管材、接头、配件和支护的强度,以及管理、检修的条件上采取与水压相适应的安全措施.因此,为了提高该防尘供水管网的可靠性,减少水力故障、延长管网部件寿命,有必要采取设置减压阀、建立井下减压池等相适应的安全措施来降低管网的压力.第二组和第三组的节点平均水压依次递减,且最低节点压力都在1.5 MPa以上,根据用水点实际压力需求,可以采用局部加压或减压装置来获得最终接入防尘设施的工作水压.
图6 用水节点水压随时间变化图
表1 用水节点水压和水龄分组情况对比
由于防尘供水管网的水动力特性,输送水流中的少量有机物、无机物和病原微生物在管道内壁发生物理、化学、电化学和生物反应,使水质发生变化,也增加管网部件腐蚀、堵塞、破裂的风险,对井下供水系统安全造成很大影响.节点水龄作为防尘管网中水力停留时间的度量,可以反映水质随时间的变化规律,从而为防尘供水管网的水质研究提供依据.
图7为根据水质模拟结果得到的48 h内各用水节点水龄随时间分布曲线.由图可知,所有节点的初始水龄为0,模拟开始后,水流流经不同路径到达各节点,水龄曲线初期呈线性递增,直线段斜率为1,说明在开始一定时段内节点水龄和模拟时间相等.这是因为从水源节点计时开始的供水水流到各节点都需要一定的时间,而在这个时间点之前节点水龄会随着模拟时间同步增加.在直线递增段之后,即所有连通该节点路径水流都到达了该节点,不同的节点水龄呈现不同的波动特征,这与管网中各节点不同用水模式有关.整体上来说,由于井下各工作面每日用水量变化的规律性,整个供水管网水龄的变化也具有日周期性特点.
根据各用水节点水龄变化范围,可以将用水节点分为三组(见表1).所有用水节点的最大水龄在15 h以内,说明该防尘管网的水龄条件良好,水质更新较快.水龄模拟开始后,水流首先到达较近的用水节点如第三组节点4,5,17,19,20,同时该部分节点各时段的平均水龄都较短.第二组用水节点的水龄在48 h内相对其他组更平稳,没有较大的波动.第一组用水节点的波动性很大,说明其受用水需求变化的影响相对更大;且该组节点位于更深水平采区,距离地面水源很远,且处于管网末端,因而其用水水龄也比较大.
图7 用水节点水龄随时间变化图
对比表1中分别根据水压和水龄对用水节点的分组情况可知,水压第一组中的节点11,12的水龄变化与该组其他节点有较大差异,但与第二组中节点8,9的变化趋势相似,都比较平稳,48 h内没有剧烈的波动.结合节点8,9,11,12处的用水需求以及其相连管段的流量变化发现:这4处用水节点与另外两处非用水节点10,13共同形成一个环状网络,且该环不处于管网末端位置,水流流经这些节点继续输送到下游其他用水点,流速较大,水在这些节点处的停留时间变短,因而水龄较小.此外,用水节点17的水压变化虽然与用水节点8和9相似,但其水龄变化呈现差异,经分析发现,节点17的标高为-998 m,节点8和节点9的标高分别为-995 m和-998 m,可认为在同一水平上,但节点17并不属于管网中封闭环的节点,因此其水龄变化并不如封闭环上的节点8和9平稳,说明环状供水网络能在一定程度上维持管段内水质的稳定性,减缓受到用水量影响产生的大幅波动.
1) 使用EPANET-MATLAB Toolkit调用EPANET有助于提高水力水质扩展分析编程效率.
2) 防尘供水管网用水量受井下生产活动循环安排的影响,呈现一定的周期性;各用水节点的水压与用水量分别随时间变化规律呈负相关;部分用水节点水压超过4 MPa,建议采取相应的减压措施,以延长管网部件寿命,提高管网可靠性.
3) 各用水节点水龄呈现不同的波动特征,整体上也呈日周期性;用水节点水龄都在15 h以内,说明该防尘管网水龄条件良好,水质更新较快;用水节点距离水源近的其水龄相对较小.
4) 在防尘供水管网的日常运行中,可根据各用水节点的水力水质特征进行分类管理与维护.此外,管网中的环状网络有利于提高环上管段和节点水质的稳定性,减缓因用水量不断变化而产生的波动性.