氯是我国目前使用最广泛的一种饮用水消毒剂。在管网中添加氯以维持一定的余氯浓度是维持管网水质的主要手段之一,因此,余氯浓度也成为衡量管网水质好坏的一个重要指标。 由于对余氯浓度在输配水管网中变化的机理研究相对成熟,目前国内外管网水质变化模拟的一个最主要指标便是余氯。本文采用适合于离散动态系统模拟的事件驱动法来实现对管网中余氯浓度变化的模拟。 1.余氯在管网中衰减的动力学模型 引起余氯在输配水管网中衰减的影响因素很多,其中主要的且目前研究比较深入的两大原因有:余氯与水体中存在的多种有机物和无机物发生反应;通过管壁附近层流层的质量转输与附着在管道或水池等其他管网组件壁上的生物膜发生反应。
由于对余氯浓度在输配水管网中变化的机理研究相对成熟,目前国内外管网水质变化模拟的一个最主要指标便是余氯。本文采用适合于离散动态系统模拟的事件驱动法来实现对管网中余氯浓度变化的模拟。
1.余氯在管网中衰减的动力学模型
引起余氯在输配水管网中衰减的影响因素很多,其中主要的且目前研究比较深入的两大原因有:余氯与水体中存在的多种有机物和无机物发生反应;通过管壁附近层流层的质量转输与附着在管道或水池等其他管网组件壁上的生物膜发生反应。
1.1 余氯在水体中的衰减
设水体中的余氯浓度C,初始余氯浓度 C0,学者R.M.Clark等[1]给出余氯浓度在水体中随时间的衰减函数
函数中的两个参数K,M,可由如下两个经验式求得:
K=e0.32(CA0)-0.44(TOC) 0.63 ( pH ) -0.29 ( T ) 0.14 ..........................(2)
Ln( M )=-2.46 - ( 0.19TOC ) – ( 0.14 pH ) –( 0.07T ) + ( 0.01T*PH ).....(3)
其中:TOC--兑有机碳(mg/1) T——温度( OC)
1.2余氯与管壁生物膜的反应和质量转输
给定余氯在容器壁上与生物膜反应的衰减速率常数KW,,整个过程的中余氯衰减的微分动力式可表述为 [2]:
kf——层流层到管壁的余氯传质系数(m/day)
其中:Sh--舍伍德(Sherwood)数
d--管径
D——余氯在水中的扩散系数(20℃时,为0.10x10-3m2/d)
舍伍德(Sherwood)数可以用以下两式来求得:
当Re<2300时:
当Re≥2300时:
Sh=O.023Re0.83Se0.333........................................................(7)
其中:Re--雷诺(Reynolds)数(Re= );
Sc——施密德(Schmidt)数(如:Sc= );
L——管壁沿水流方向长度(m);
v——水的运动粘滞系数(20℃时,为O.09m2/d);
U--水的流速(m/s)。
2.事件驱动模拟机制原理
根据所采用的坐标系的不同,实现对输配水管网水质变化动态模拟的数值方法可分为欧拉法和拉格朗日法。
水质在管网中实际的变化情况是时空都连续的,但无论是欧拉法还是拉格朗日法,都必须将水质变化连续的时间与空间离散后方能实现计算,如典型的欧拉法——有限元、有限差分法,需对空间坐标进行单元划分,对时间设置计算步长,在一个空间单元内,水质分布均匀,在一个时间步长内,水质不发生变化。
各种方法都必须离散时间与空间,但各种方法离散的原理与技术不同。
事件驱动模拟机制,在模拟启动前,不要求事先规定离散的空间单元和时间步长值,而是通过分析输配水管网的水质特性,依据管网水质变化的水力、水质特性,定义一些在管网水力、水质变化过程中有特殊意义的所谓“事件”,由事件相继的发生,自动确定合理的空间和时间离散点,管网系统的水力和水质状态只在这些离散的点上发生变化,从而实现管网水质变化的动态模拟。
定义1 水力事件:引起管网中流量和流速变化的外部事件。
定义2 水质事件:引起管网中用户节点(至少一个)出流水质发生变化的内部事件。
事件驱动模拟机制通过构造一个动态的“事件序列表”(由水力事件和水质事件组成),依“事件序列表”中的事件发生次序,自动生成计算时段、划分水流单元体,添加新产生的事件人“事件序列表”的同时,更新原“事件序列表”中事件的预期发生时间,并依此重构“事件 序列表”。
水力事件的序列由管网的水力分析程序获得。水质事件序列则通过以下几个步骤来生成:
(1)初始化管网,管段内水流中指标物质浓度置用户指定的初始值,模拟时钟设为零。
(2)在管段内相邻水流单元体的交界面设一指针(第一批指针由第一个水力事件的发生产生于各水源节点),每一个指针指示其后一个水流单元体的各种水力参数,并包含以下四个最基本的字段(在下面的沦述中,将根据程序的需要,进一步完善和细化各系统实体,包括水流单元体的属性字段):TC, DT,CC和TA。它们分别表示该指针建立的时间;在管段内距上游节点的距离;所指示水流单元体内当前指标物质的浓度和当前水力条件下该指针到达下游节点的预期时间 (即下一个水质事件的预期发生时间)。当事件发生时,在相应节点下游生成新的指针。
(3)当指针到达一个节点,便产生一个或多个预期的水质事件,进行如下的几个动作:
a:该指针被释放,相对应的水质事件从 “事件序列表”中清除,管网中其他所有指针的DT字段被更新:
DTi,k=DTi,k十△t*ui.........................................................(1)
式中,DTi,k表示管段i中第k个指针的DT字段;ui表示当前管段i中的流速。
b:由节点完全混合的流态模型,更新节点的指标物质浓度。
上述过程可由图1表示。(假设初始时刻t0=0,三根管段内流速相同,ti表示指针sj到达节点j所需时间。)
上述两个事件定义中及计算方法中所指的“变化”,已不是实际的输配水管网中水力或水质发生的“变化”。在实际管网中发生的变化,是连续发生的。在模拟的系统中,为系统给定一个水力变化阈值和水质变化阈值,当计算对象的数值的变化超过了给定的阈值时,模拟系统才认为发生了“变化”。
因此,也可以将事件驱动模拟机制的模拟方法看成是对真实的管网水质变化系统在“变化”上作了离散。显然,正是因为对“变化”的离散,使得模拟系统能够实现对空间和时间的自动离散。当模拟系统的水力或水质情况发生“变化”时,系统便在“变化”的这一时间点进行运算,其他的时间点不作任何动作,由此实现时间的动态离散;也只有在模拟系统的水力或水质情况发生“变化”时,模拟系统进行一系列的运算,创建出水流单元体,指定单元体的前端空间位置(一维),并在某些事件发生时,完成水流单元体的创建,指定单元体的尾端空间位置(一维),由此实现空间的离散。总而言之,究竟离散的时间点和空间点在哪里,不是在模拟运行前由用户指定,而是通过模拟系统的运行,动态的根据系统状态离散的“变化”引发的“事件”来自动驱动离散时间点和空间点的确定。
3 控制模拟进程的事件调度法
在离散动态系统的计算机模拟中,用来控制模拟进程的常用算法有活动扫描法,进程交互法,事件调度法等,其中事件调度法在逻辑结构上直接与事件驱动机制相对应,最易于实现。
3.1 基本流程
事件调度法的基本思想是,将响应事件的进程作为算法的基本单元,按照事件发生的先后顺序,不断执行相应的事件响应进程。每一已经确定其发生时间的事件都有与其相应的能响应该事件的实体,实体的事件响应活动执行对该事件的处理进程,改变系统的状态,并安排后续的事件。其基本流程如图2所示:
3.2 事件序列表
事件序列表统一管理各类事件,其预期发生时间各不相同。事件序列表必须选择所有预期事件中其预期发生时间距模拟时间最近的那一个来触发。因此,事件序列表必须能实现依据预期发生时间对表中各预期事件中较优的。
3.3 并发事件的处理
模拟过程当中,有可能出现多个事件的预期发生时间在同一时刻。由于数字个人计算机本质上只能顺序处理各种指令,因此在进行模拟时,必须事先安排对并发事件的处理。
对于同一时刻发生的不同类事件,如在同一时刻有水力事件和水质事件都发生,则根据不同类型事件之间的逻辑关系和事件的重要性,对各类事件设定不同的触发优先级。
对于同一时刻发生的同类事件,如在同一时刻有多个水流单元体到达目标节点,则随机顺序触发各个事件。
4 模拟实例
美国康州中南水务局(SCCRWA)Cherry Hill/Brushy Plains服务区的输配水管网如图 (2)所示。1991年8月13日到15日,研究人员对该管网进行了连续54个小时的余氯浓度和氟化物浓度采样检测,共在管网中的9个不同采样点获得了181组有价值的原始数据[3][4]。不失一般性,选取节点3和节点6的余氯浓度用事件驱动法进行计算机模拟。同时,为了更清楚的看出模拟的效果,笔者还使用由美国国家环保局(USEPA)研制的专业管网水质变化模拟软件EPANETl.1,以同样的计算参数对节点3和节点6的余氯浓度进行对比模拟。该软件采用了欧拉法中的离散体积元素法来实现对管网水质变化的动态模拟,其实测值和最终的模拟值。
由表2可知,事件驱动法的模拟结果基本反映了管网中真实余氯浓度变化的规律,其模拟的精度较高,能满足工程实际的需要,而且,用事件驱动法对大型的市政输配水管网中余氯浓度变化的动态模拟在计算的时间和存储空间上的效率明显较传统的方法为优。