一种识别雨水管网污水直排污染源的方法与流程

文档序号:15020331发布日期:2018-07-25 00:33阅读:276来源:国知局

本发明属于市政工程信息技术,具体涉及一种集成SWMM模型与Matlab软件识别雨水管网污水直排污染源的方法。



背景技术:

城市雨水管网系统中频繁发生污水偷排漏排的问题,对受纳水体造成严重的污染,导致受纳水体水质恶化甚至黑臭。目前,国内外对于此类污水直排识别尚处于以管内视频摄像追踪、染剂示踪等现场踏勘搜索模式为主的物理方法。由于雨水管网分支繁多且污水直排的发生具有非连续性,物理方法寻找污水直排污染源的效率低下,且信息反馈滞后,不利于应急处理。



技术实现要素:

针对雨水管网查找污水直排污染源存在的困难,本发明所要解决的技术问题就是提供一种识别雨水管网污水直排污染源的方法,它能有效地确定雨水管网中污水直排的位置、排放量,减少繁琐的人工识别所需的工作量,提高溯源效率,起到保护水体以及应急预警的作用。

本发明所要解决的技术问题是通过这样的技术方案实现的,它包括以下步骤:

步骤1,在SWMM软件中输入构建SWMM模型所需的基础数据,生成运行SWMM软件所需的初始输入*.inp文件;

步骤2,在Matlab中定义SWMM输入参数管网中污水直排节点编号、排放浓度和排放量三个参数的取值范围、取样步长和样本数;

步骤3,在Matlab中用枚举法将三个参数的所有组合一一列举,采用三层循环对三个参数组成的样本空间内所有样本组合进行取样,每次取样后,均需更新*.inp文件中相应位置的参数信息;并由以下的步骤4~步骤5判断该参数组合是否被保留;

步骤4,在Matlab中用命令“!swmm5.exe<input file><report file>”调用Matlab外部的swmm5.exe程序,利用更新后的*.inp文件中的信息进行计算,并将运算结果储存在*.rpt文件中;

步骤5,在Matlab中提取*.rpt文件中相应的模拟结果的时间序列数据样本,结合实际测量时间序列数据样本,计算第i次取样时的似然函数值,似然函数值大于接受阈值时,保留该参数组合;

步骤6,按似然函数值从大到小对保留下的参数组合进行排序,并输出一系列按似然函数值从大到小进行排序的污染物污水直排节点编号、排放浓度和排放量三个参数的组合。

本发明的技术效果是:

1、联合使用Matlab编程软件和SWMM模拟软件,将雨水管网系统中污水直排污染源识别问题转化为数学问题,对所有可能节点、排放浓度和排放量三参数组合进行搜索,与现有技术中采用的物理方法相比,大大提高了搜索效率;

2、利用Matlab软件将SWMM模拟结果的时间序列输出到*.rpt文件中并输出,从而可以实现在线监测动态反馈,与实际管网非恒定流运行工况更接近。

3、提取SWMM模拟结果的时间序列数据,与相应的实际监测数据序列进行匹配,提高了分析的精度。

4、利用Matlab强大的数据处理功能,能够实现枚举算法涉及的大量计算,快速、准确分析出各参数组合的似然度值,从而快速确定出污水直排可能的节点、排放浓度和排放量。

本发明识别污水直排污染源迅速,能够及时对雨水管网中污水直排污染源进行处理,有效避免受纳水体水质恶化,起到保护水体预警的作用。

附图说明

本发明的附图说明如下:

图1为本发明的流程图;

图2为实施例的区域雨水管网平面布置图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明:

本发明的构思是:联合具有强大的数据处理功能Matlab编程软件和SWMM排水模型,对雨水管网中可能的污水直排污染源进行初步筛选,从而有效地筛选可能的污水直排节点、排放浓度和排放量。能减少大量繁琐的人工识别所需的工作量,不仅降低污水直排溯源成本,而且可提高溯源效率,更快速反馈污染事故,起到保护水体预警的作用。

图1为本发明的流程图,该流程开始于步骤S1;

在步骤S2,在SWMM软件中输入构建SWMM模型所需的基础数据,包括汇水子区域、下垫面性质、管道、节点、排放口、降雨和污水排放等数据,生成运行SWMM软件所需的初始输入*.inp文件;

本步骤的基础数据采用在SWMM模型界面中用绘图工具直接添加并定义属性(手工输入),或者外部文件输入的方式。

在步骤S3,在Matlab中定义SWMM输入参数管网中污水直排节点编号、排放浓度和排放量三个参数的取值范围、取样步长和样本数。

将所有可能的污水直排节点编号为1,2,…,T1,即取样步长t1=1,共有T1个样本;污水中污染物排放浓度的范围为0~T2,取样步长设为t2,共个样本;污水排放量的范围为0~T3,取样步长为t3,共个样本。

在步骤S4,在Matlab中用枚举法将三个参数的所有组合一一列举,并根据步骤S5~步骤S6判断该参数组合是否被保留。

本步骤采用三层循环对三个参数组成的样本空间内所有样本组合进行取样,每次取样后,均需更新*.inp文件中相应位置的参数信息,具体包括以下步骤:

在步骤S41,污水直排节点编号、排放浓度和排放量三个参数的初始值均设为取值范围内的最小值;

在步骤S42,污水直排节点编号和排放浓度两个参数的样本值保持不变,排放量每次取样时,增加一个步长t3,更新*.inp文件中相应位置的参数信息,然后根据步骤S5~步骤S6判断该参数组合是否被保留;

在步骤S43,重复步骤S42,直到取完个样本;

在步骤S44,排放浓度增加一个步长t2,排放量设为最小值;

在步骤S45,重复步骤S42~步骤S44,直到取完个样本;

在步骤S46,直排节点编号增加一个步长t1,排放浓度设为最小值;;

在步骤S47,重复步骤S42~步骤S46,直到取完个样本;

在步骤S5,在Matlab中用命令“!swmm5.exe<input file><report file>”调用Matlab外部的swmm5.exe程序,利用更新后的*.inp文件中的信息进行计算,并将运算结果储存在*.rpt文件中。具体包括以下两个步骤:

在步骤S51,在Matlab中用命令“!swmm5.exe<input file><report file>”调用Matlab外部的swmm5.exe程序,其中<input file>为SWMM运行时所需的输入文件路径,<report file>为SWMM运行后生成的报告文件路径;

在步骤S52,SWMM软件利用更新后的*.inp文件中的信息对污水在管道中的输送过程进行模拟,将模拟结果储存在*.rpt文件中(运行SWMM时只生成*.rpt文件,不生成*.out文件)。

在步骤S6中,在Matlab中提取*.rpt文件中相应的模拟结果的时间序列数据样本,结合实测数据样本序列,计算第i次取样时的似然函数值,似然函数值大于接受阈值时,保留该参数组合。具体包括以下步骤:

在步骤S61,在Matlab中直接读取*.rpt文件中相应位置上的模拟结果的时间序列数据样本;

在步骤S62,结合模拟结果的时间序列数据样本和对应的实际测量的时间序列数据样本(在管网中某一下游节点,按照一定时间间隔,取一系列水样,进行检测),计算第i次取样后,计算所取三个参数x1i、x2i和x3i使模拟结果的时间序列样本与实际监测结果的时间序列样本一致的概率,即似然函数值为:

式中,L为似然函数值,xi为第i次取样下,三个参数污水直排节点编号x1i、排放浓度x2i和排放量x3i组成的矢量;n为选取的模拟值或测量值的时间序列样本数;和yj(xi)分别为第i次取样时,第j个测量值时间序列样本与模拟值时间序列样本;为第j个测量值时间序列样本与相应的模拟值时间序列样本间的标准偏差。

在步骤63,设定L的接受,当L值大于该阈值时,该次取样的三个参数值组合被保留。

阈值取0.6~0.9,管网规模较大时,该值可以取大。

说明:步骤S5和步骤S6是嵌套在步骤S42中的,为了强调步骤S5和步骤S6这两步的功能,把它们单独列出来写,如果以步骤S41~步骤S49这个取样的过程作为整个大流程来写,则步骤S43~步骤S49会显得冗长。

在步骤S7,按似然函数值从大到小对保留下的参数组合进行排序,并输出一系列按似然函数值从大到小进行排序的污染物污水直排节点编号、排放浓度、排放量和排放时间参数组合。

在步骤S8,流程结束。

实施例

下面以某一小型雨水管网污水直排污染源识别为例对本发明进一步的解释和说明。图2为该雨水管网平面布置图,管网中水流流向如箭头所示,该雨水管网共有23个节点,其中P1为该雨水管网的总排放口,节点J11为实际的污水直排点,污水中污染物BOD5的浓度为110mg/L,实际排放污水量为12.5L/s。

本发明所要解决的问题就是在不知道污水直排污染源任何信息的情况下,通过在下游某一节点连续监测水样中污染物浓度,推测出污水直排可能的节点、排放浓度及排放量。任意选择下游一节点J21作为监测点,每隔5分钟取一个水样,连续监测了2个小时,共取了25个水样,测量水样中污染物BOD5的浓度,得到25个实际测量的时间序列数据样本。节点J21的上游共有20个节点,即参数污水直排节点编号的样本数T1=20;污水中污染物排放浓度的范围为0~200mg/L,取样步长t2=10mg/L,样本数T2=21;污水排放量的范围为0~20L/s,取样步长投t3=2L/s,样本数T3=11。由于该管网规模较小,接受阈值取0.7。在SWMM模型中采用外部文件输入的方式,将该管网的空间布局及相关参数导入SWMM模型中,污染物BOD5在管道中的衰减系数设为0.25,模拟时间设为2小时。

按照本发明所述步骤在Matlab软件中编写程序,将污水直排节点编号、排放浓度和排放量组成的20×21×11=4620个参数组合一一列举,分析是否保留,并对保留下来的参数组合按照似然函数值从大到小进行排序。共输出了45个参数组合,其中,最接近真实情况的参数组合“节点编号J11,排放浓度110mg/L,排放量13L/s”位于第3个。

从本实施例可以看出,本发明是可靠的。尤其是当雨水管网分支繁多、管网节点数巨大时,现场踏勘搜索模式工作量大且效率低下,而本发明可以快速确定出一批可能的污水直排节点。

本发明联合SWMM模拟软件和具有强大的数据处理功能Matlab软件,对雨水管网中可能的污水直排污染源进行初步筛选,从而有效地确定雨水管网中污水直排的位置、排放浓度、排放量,可大大减少繁琐的人工识别污水直排污染源所需的工作量,不仅降低污水直排溯源成本,而且可提高溯源效率,更快速反馈污染事故,起到保护水体预警的作用。

由于SWMM模型的安装包、源代码和库函数都是公开的,国内外公众将其与其它模拟环境耦合,对SWMM进行进一步的研究与应用。*.inp为SWMM的输入文件,包含所有SWMM模型运行所需的各个参数的取值以及建模的空间数据。SWMM运行后自动生成*.rpt和*.out的文件,即分析报告文件和运行结果文件。分析报告文件是对整个模拟过程的总结,不包括模拟过程中各个对象各个时刻的信息记录,如降雨、管道流量、节点水位等,以文本形式保存在*.rpt中,可以被直接提取。SWMM模型在整个模拟过程中各个对象的时间序列以二进制方式保存在*.out文件中,然而*.out文件中的信息无法被直接提取。这样本发明所面临的问题就是将SWMM模拟过程中的时间序列输出,能够直接被调用,用于进一步分析。

在解决上述问题时,对SWMM模型进行二次开发,通常需要读取到SWMM模型运行输出的结果文件中的内容,以往贯用的方法有两种:1.修改源代码,将模拟过程的时间序列输出,重新编译修改后的SWMM源代码生成可执行文件,然后才能实现模拟结果的动态显示;2.运行SWMM可执行文件后,采用SWMM核心代码中提供的基于VB、C/C++和Delphi Pascal语言平台的接口函数,逐层读取结构复杂的二进制模拟结果*.out文件。

本发明中,通过直接在Matlab下采用命令“!swmm5.exe<input file><report file>”,运行Matlab外部SWMM可执行文件,实现将SWMM模拟过程中各个对象各个时刻的信息储存在*.rpt文件中,实现模拟结果的动态显示,模拟时间序列数据可以进一步被调用。关键的是:Matlab中提示的调用外部的SWMM可执行文件的语法是“!swmm5.exe<input file><report file><out file>”,然而,采用此语法运行SWMM后,模拟过程中各个对象各个时刻的信息仍然只储存在*.out文件中。本发明操作简单,克服了以往实现SWMM模拟结果动态显示的工作量大且耗时的缺点。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1