CN104200045A - 一种流域大尺度水系分布式水动力模型的并行计算方法 - Google Patents
一种流域大尺度水系分布式水动力模型的并行计算方法 Download PDFInfo
- Publication number
- CN104200045A CN104200045A CN201410476611.3A CN201410476611A CN104200045A CN 104200045 A CN104200045 A CN 104200045A CN 201410476611 A CN201410476611 A CN 201410476611A CN 104200045 A CN104200045 A CN 104200045A
- Authority
- CN
- China
- Prior art keywords
- grid
- distributed
- basin
- block
- water system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种流域大尺度水系分布式水动力模型的并行计算方法,以规则网格为基本计算单元以分块区域为计算节点进行大尺度流域的分布式数值模型的并行实现方法。通过流域水系区域的划分与分布式集群计算,解决了在大尺度流域模拟中win32程序的2G内存数组限制的问题,实现对大尺度流域的精细模拟;通过构建相邻分块的重叠区并基于分布式消息传递模型进行数据交换,实现对各节点分块边界数据的误差校正,保证全流域模拟的一致性和准确性;基于OPENMP和MPI并行通用协议,完成各分块节点以及节点内部的计算并行化,实现大尺度流域的高效精细模拟。本发明以较小的开销、高效高速准确地完成对大尺度流域水系水动力的数值模拟。
Description
技术领域
本发明属于流体力学领域,涉及一种流域分布式水动力模型的计算方法,具体涉及一种基于区域分块的流域大尺度水系分布式水动力模型的并行计算方法,它的算法原理适应于应用大尺度流域内水流数值模拟以及大规模流体力学计算。
背景技术
分布式水动力模型是一种基于计算流体动力学进行流场模拟的数值方法,该方法的计算是基于将模拟对象进行网格离散化后,使用有限差分法、有限体积法或有限元法等进行数值模拟,从而模拟实现流程的流体流动规律。在水动力模拟的网格离散中,常见的离散化网格包括结构型网格和非结构型网格,其中结构型网格拓扑关系简单,能通过简单地索引关系寻找出网格与网格之间的逻辑关系而广泛应用,但其无法适应外形复杂的模拟对象的需求,尤其是在对流域水系交汇关系复杂的大流域模拟中存在较大的困难。而随着流域尺度的水环境管理与水安全保障的需求不断提升,从流域的角度模拟全范围内水系的水动力状况受到越来越大的关注,计算机技术和大规模并行系统的发展,为大尺度的水环境模拟提供了必要条件,分布式流体力学数值模拟方法的得到了迅速的发展。
已有的分布式水动力学并行构建方法包括多重网格法、区域分解法和对水动力学模型的并行求解方法等,通过这些方法构建PC集群分布式系统,能很好的整合PC机群的硬件资源,实现水动力模拟的效率提升。其中,多重网格法,将区域按照大规模计算网格粗化、小规模计算网格细化,通过MPI实现粗细网格的通讯以实现计算效率的提高;区域分解是数据并行方法的核心,是在科学计算中常用的一种并行方法,该方法通过按区域可以将计算网格划分为重叠区域或非重叠区域进行并行计算,重叠区域采用MPI实现区域间的变量交换和通讯,非重叠区域法则通过在数值模型内部循环间利用OPENMP等共享内存方式实现并行;模型的并行求解则通过将求解方法并行化实现数值方程求解的并行,如对方程组的求解采用并行的不完全分解的共轭梯度法等,取得了一定的并行效果。这类方法常用于边界较为规则的单一水体能取得较好的效果,但在边界较为复杂,尤其是具有多支交汇的水域中仍需要对方法进行改进和完善,且大部分模型基于WIN32构建,受模型数组2g内存的限制,无法应用于大尺度的流域。在这类方法的基础上,通过完善计算硬件,开发高性能的并行计算机、向量机等大型计算机进行水动力模型的分布式计算也取得了一定的成绩,这类系统造价高、普及率较低,无法在现实社会的河网水系水动力模拟中进行实际应用。
如何高效的利用PC集群的方法,通过完善已有的win32体系的水动力模型,通过区域分块的方法进行区域分解,在PC集群上开展分布式计算,以模拟大尺度复杂水系的水动力状况是仍需解决的问题和水动力模型领域亟需突破的难点。
发明内容
针对现有水动力模型受win32体系的数组变量2G内存限制以及普通计算机计算能力的限制存在水动力模型无法以精细网格模拟大尺度水系的水动力状况的问题,本发明提出一种基于区域分块的流域大尺度水系分布式水动力模型的并行计算方法,通过将大尺度精细网格分布式处理,引入MPI和Openmp进行分布式节点间和节点内部的嵌套并行实现对大尺度水系水动力的精细模拟。
本发明所采用的技术方案是:一种流域大尺度水系分布式水动力模型的并行计算方法,其特征在于,包括以下步骤:
步骤1.流域水系识别:基于DEM遥感影像数据,识别流域水系,提取流域水系边界;
步骤2.绘制计算网格:以流域水系边界为控制范围,绘制一定精度范围内的数值模型整体网格A,A的网格数为IM×JM,其中IM为横轴方向上的网格数、JM为纵轴方向上的网格数;
步骤3.计算区域分块:按照网格内水系之间的空间地理关系,将流域按水系划分为一级计算区块;在每个一级计算区块的基础上,进一步将网格划分为范围相等的区块,每个区块的网格数为IM(MA),JM(MA),其中MA为区块编号,IM(MA)为区块MA横轴方向上的网格数、JM(MA)为区块MA纵轴方向上的网格数,满足步骤4中计算区块重新编号要求;
步骤4.区块重新编号:为解决大尺度流域模拟中win32程序的2G内存数组限制的问题,对区块重新编号,以减小数组中IM、JM的大小;设定I_AM(MA,2)为第MA块网格横轴方向上的网格的最大编号,I_AM(MA,1)为第MA块网格横轴方向上的网格的最小编号,J_AM(MA,2)为第MA块网格纵轴方向上的网格的最大编号,J_AM(MA,1)为第MA块网格纵轴方向上的网格的最小编号,则每个区块的网格数为IM(MA)、JM(MA)满足:
IM(MA)≥I_AM(MA,2)-I_AM(MA,1)+1
JM(MA)≥J_AM(MA,2)-J_AM(MA,1)+1;
I_AM(MA,1)、I_AM(MA,2)、J_AM(MA,2)、J_AM(MA,1)对应在原有整体网格A中的网格编号为I_REAL(MA,1)、I_REAL(MA,2)、J_REAL(MA,2)、J_REAL(MA,1),其满足步骤5要求的分块区域重叠区设置要求;
步骤5.相邻区块重叠区设置:设定区块k与区块j相邻,j在k的下游,则设定k、j之间存在一个重叠区O以用于数据的交换;若河道沿着横轴方向,则重叠区域O横轴方向的网格数为4;反之若河道沿着纵轴方向,则重叠区域O纵轴方向的网格数为4;则k,j分块的编号满足:
若河道沿横轴方向:
则:I_AM(k,2)-I_AM(j,1)=4;
若河道沿纵轴方向:
则:J_AM(k,2)-I_AM(j,1)=4;
步骤6.分布式集群计算体系构建:构建局域网内的分布式计算集群,集群类的所有计算机通过IP识别机器并进行节点编号;设定每个分块MA∈(1,+∞)对应的计算节点为MDU∈(0,+∞),MDU=MA-1,调用mpiexec以IP地址为集群内的计算机的识别码,开展分布式运算,每个计算节点读取各自分块的输入文件,在以DT为计算时间步长的条件下,展开分布式计算,并输出不同时间点t时的各分块网格内的流速、流量、水位和水动力通量,存储于文件res(MA,t);
步骤7.分布式分块间数据交换:为保证水动力模拟流场的连续性和精确性,在每个时间步长DT的水动力计算前先进行分块重叠区的数据交换,分别交换t-DT步长内计算所得的流速、流量、水位和水动力通量;
步骤8.分块内并行划分:识别分块内的水动力方程求解以及水动力迭代运行代码及其逻辑结构,将不具有前后左右相关性的循环语句并行化,将不具有前后运算逻辑关系的子函数并行化;实现分块内的并行处理,更进一步提高分布式并行的运算效率。
作为优选,步骤1中所述的基于DEM遥感影像数据、识别流域水系、提取流域水系边界,其具体实现过程是基于DEM遥感影像数据,根据DEM中高程的范围,通过ARCGIS类GIS软件,提取出欲模拟范围内的水体的范围和陆地范围,提取识别并勾勒处流域水域的边界,将该边界保存为散点形式p(x,y),其中,x为p点的地理横坐标、y为p点的地理纵坐标。
作为优选,步骤2中所述的绘制一定精度范围内的数值模型整体网格A,采用的是规则网格绘制软件delft3d。
作为优选,步骤2中所述的绘制一定精度范围内的数值模型整体网格A,其精度范围为10~15m。
作为优选,步骤3中所述的在每个一级区块的基础上进一步将网格划分为范围大致相等的区块,是基于分布式计算的静态负载平衡原理。
作为优选,步骤6中所述的构建局域网内的分布式计算集群,是基于MPICH的分布式标准协议。
作为优选,步骤6中所述的每个计算节点读取各自分块的输入文件,所述的输入文件包括网格数据文件grid(MA)、陆地点面源入汇文件nps_ps(MA)以及气象数据文件atm(MA)。
作为优选,步骤7中所述的分别交换t-DT步长内计算所得的流速、流量、水位和水动力通量,是调用基于MPICH标准协议的信息发送函数MPI_Send与接收函数MPI_Recv进行交换。
作为优选,步骤8中所述的将不具有前后左右相关性的循环语句并行化、将不具有前后运算逻辑关系的子函数并行化,是利用OPENMP的编译语句OMPPARALLEL DO将不具有前后左右相关性的循环语句并行化和不具有前后运算逻辑关系的子函数并行化。
本发明与现有技术相比,具有以下优点和效果:
(1)通过流域水系区域的划分与分布式集群通讯,通过分而治之的分区方法,解决了在大尺度流域模拟中win32程序的2G内存数组限制的问题、能实现用精细网格完成对大尺度流域水动力模拟;以分布式集群通讯MPI进行分布式节点间的数据交换,使各分布式节点分而不离、能有机的统一在一起,大大降低了由于分区边界问题而带来的误差,保证流域整体计算的准确性;
(2)本发明基于目前已有的分布式通讯协议MPI与共享内存并行协议OPENMP,具有广泛的适用性,能在不改变原有串行模型的结构的基础上,对已有串行程序进行修改而完成;修改后的模型可通过普通PC机集群的方式实现水动力模型的高效率与高精度运算,能极大地利用计算机软硬件资源;
(3)本发明以流域水系的角度,对流域交叉河网的网格进行分布式计算,更符合实际水系中河网水动力模拟的需要,所发明的方法既能用于单河道水动力模拟,又能用于河网地区水动力模拟,具有更广阔的适用性和可扩展性。
附图说明
图1:为本发明的方法流程图;
图2:为本发明实施例的流域水系网格区块划分示意图;
图3:为本发明实施例的流域水系网格重叠区设置示意图;
图4:为本发明实施例的流域水系网格分块重新编号示意图;
图5:为本发明实施例的流域水系网格分布式集群计算体系流程图;
图6:为本发明实施例的流域水系网格相邻分块的数据交换示意图;
图7:为本发明实施例的流域水系网格分块进行数据交换和不进行数据交换的流速模拟效果对比图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
流域水动力模型理论成熟,机理丰富,具有几十年的发展历史,如今已在流体计算领域的各个方面广泛应用,大尺度的流体力学计算越来越受到各界的关注,但目前制约流体力学相关模型发展和应用的主要因素之一仍是其计算的速度与效果,win32操作系统固有的2G数组内存的限制以及模型网格的精细度与计算效率的不可兼得严重阻碍了流体力学模型的大规模应用。本方法在大尺度区域模型网格精细度的基础上,通过数据网格分块、数值计算节点分布式处理以及水动力模型内部模块并行化处理的思路,采用外部与内部嵌套并行的思路,外部通过消息传递进行节点数据交换,内部通过共享变量进行数据交换,能较好的保证模型计算的精度与速度兼得。
请见图1,本发明所采用的技术方案是:一种流域大尺度水系分布式水动力模型的并行计算方法,包括以下步骤:
步骤1:流域水系网格区块划分;
步骤1.1、流域水系识别:基于DEM遥感影像数据,根据DEM中高程的范围,通过ARCGIS类GIS软件,提取出欲模拟范围内的水体的范围和陆地范围,提取识别并勾勒处流域水域的边界,将该边界保存为散点形式p(x,y),其中,x为p点的地理横坐标、y为p点的地理纵坐标;
步骤1.2、绘制计算网格:以流域水系边界为控制范围,利用规则网格绘制软件delft3d绘制一定精度范围(10~15m)内的数值模型整体网格A,A的网格数为IM×JM,其中IM为横轴方向上的网格数、JM为纵轴方向上的网格数;
请见图2,灰色区域A为整体网格块,该网格块包括干流G1和支流Z1与Z2。按照规则网格的绘制于编号方法,图2中深灰色区域为实际水域网格(湿网格),浅灰色区域为模型计算中不参与计算的网格(干网格),A区域的网格总数为IM×JM。从图中可以看出不参与计算的浅灰色区域占了大量的区域,这极大地降低了模型的计算速度。
步骤1.3、计算区域分块:按照网格内水系之间的空间地理关系,将流域按水系划分为一级计算区块;图2中将属于G1网格编号为A1,支流Z1与Z2分别编号为A2和A3,其中(ai1,aj1)、(ai2,aj2)、(ai3,aj4)、(IM1,JM1)、(IM2,JM2)、(IM3,JM3)分别为A1,A2,A3块网格的最大、最小网格号在整体网格中的网格编号。设定A1,A2,A3的网格数分别为IJM1、IJM2、IJM3,则满足:
IJM1=(IM1-ai1+1)×(JM1-aj1+1)
IJM2=(IM2-ai2+1)×(JM2-aj2+1);
IJM3=(IM3-ai3+1)×(JM3-aj3+1)
步骤1.4、根据负载平衡原理确定最终区块大小;分布式计算的并行计算速度由负载最大即所要计算网格数最多的节点决定,因此在进行进一步的区域分块前,要根据每个一级分块的水流流向、河道宽度和横纵轴的网格数,确定要将网格分割成最终的最适宜的区块的大小。定义沿水流方向的轴为分割轴,则图2中A1、A2、A3的分割轴分别为横轴、纵轴和纵轴,以IJM1、IJM2、IJM3的公约数为参考确定分割的区块的网格总数和最终的网格分块数。如图2中的最终分块所示,将A区域共划分为6块分布式计算区域,其中区块间的分割线满足区块重叠区设置的要求。
步骤2:区块重叠区设置;
重叠区是分布式计算中为减小模型误差进行区块间进行数据交换的必备区域。在水动力模拟计算中,需人为设置一条边界范围为干网格不参与模型的计算,而在实际中,由于分块的边界并不是真正的干网格,在其网格上存在着动量与能量的交换,如不对其值进行必要的校正和修改,随着水动力模型的迭代求解,将会引起模型边界的误差过大甚至模型发散。因此重叠区的设定,通过不同分块间的传值进行边界值的校正与替换,能很好的保证模型模拟中的动量与能量符合实际情况。图3所示,为分块间的重叠区设置,另重叠区范围为O,则当水流方向为横轴方向时,在横轴方向上,重叠区的网格数为4,即横轴方向上A1的最大I编号与A2的最小I编号相差为4,满足IM1-ai2=4;当水流方向为纵轴方向时,在纵轴方向上,重叠区的网格数为4,即纵轴方向上A1的最大J编号与A2的最小J编号相差为4,满足JM1-aj2=4。
步骤3:区域分块网格重新编号;
步骤3.1、设定计算区块的数组空间大小:水动力模型的所有计算值均存储对应的水动力数组中,而网格数的大小控制着数组空间的大小,进而影响模拟循环的次数。整体网格由于水系的交叉存在,存在大量的不可用网格,浪费了大量的空间。区域分块后,剔除原有不可用空间,对可用空间重新编号,要确定所有区块的计算网格数。设定每个区块的网格数为IM(MA),JM(MA),其中MA为区块编号,IM(MA)为区块MA横轴方向上的网格数、JM(MA)为区块MA纵轴方向上的网格数,则每个区块间的数组空间大小由IM(MA),JM(MA)控制。一般地,IM(MA),JM(MA)分别等于所有分块中横轴方向和纵轴方向的最大网格数。
步骤3.2、区域分块网格重新编号:设置涵盖湿网格的计算范围,对网格重新编号。指定I_AM(MA,2)为第MA块网格横轴方向上的网格的最大编号,I_AM(MA,1)为第MA块网格横轴方向上的网格的最小编号,J_AM(MA,2)为第MA块网格纵轴方向上的网格的最大编号,J_AM(MA,1)为第MA块网格纵轴方向上的网格的最小编号,满足:
IM(MA)≥I_AM(MA,2)-I_AM(MA,1)+1
JM(MA)≥J_AM(MA,2)-J_AM(MA,1)+1
I_AM(MA,1)、I_AM(MA,2)、J_AM(MA,1)、J_AM(MA,2)对应于网格在原始整体网格中的编号分别为I_REAL(MA,1)、I_REAL(MA,2)、J_REAL(MA,1)、J_REAL(MA,2),J_REAL(MA,1)。则每个区块的网格数为IM(MA),JM(MA)满足
I_AM(MA,2)-I_AM(MA,1)=I_REAL(MA,2)-I_REAL(MA,1)
J_AM(MA,2)-J_AM(MA,1)=J_REAL(MA,2)-J_REAL(MA,1)
一般的,在计算区块网格数设定的基础上,由于水动力模型空网格和干网格设定的需求,指定原始编号非分割轴以及非原始网格起始网格的分块中J_AM(MA,1)与I_AM(MA,1)大于或等于3,如图4所示,为对分块A1,A2,A3的重新编号结果。
步骤4:分布式集群计算体系构建;
基于MPICH的分布式标准协议,构建局域网内的分布式计算集群,集群类的所有计算机通过IP识别机器并进行节点编号。设定每个分块MA∈(1,+∞)对应的计算节点为MDU∈(0,+∞),MDU=MA-1。调用mpiexec以IP地址为集群内的计算机的识别码,开展分布式运算。每个计算节点读取各自分块的网格数据文件grid(MA)、陆地点面源入汇文件nps_ps(MA)以及气象数据文件atm(MA)等输入文件,在以DT为计算时间步长的条件下,展开分布式计算,并输出不同时间点t时的各分块网格内的流速、流量和水位文件res(MA,t)。分布式集群计算体系的流程图如图5所示,该体系主要由集群管理计算机和节点计算机组成。
步骤4.1、任务分配:集群管理计算机与6个原始任务分配节点以及替补节点组成集群计算体系,分别将计算区域分块的A1~A6的任务分配到原始指定的节点计算机。集群管理计算机的指令分配通过调用Mpiexec库函数完成。
步骤4.2、节点运行:各节点在接收到管理计算机的运算指令后,读取分区输入文件开始运行,在每个DT运行后,将重叠区的状态变量与既定的相邻分块进行数据交换,按照既定的时间点输出分区模拟结果文件。
步骤4.3、运行状态监控与处理:集群管理计算机通过MPI_Recv接收各节点的运行状态结果反馈,接收到错误提示后,进行错误判断,如果是节点计算机硬件错误,则启动替补计算机节点,将错误节点的任务分配给替补计算机,重新进行所有节点的运算。各计算节点在运行过程中,如果出现错误,通过MPI_Send函数将错误信息汇报给集群管理系统。集群管理系统根据错误的提示,停止模型计算,并给出解决方案,等待管理人员对相应问题进行修改。
步骤5:节点间数据交换;
节点间数据交换是保证模型正常稳定精确运行的必要条件。数据交换的区域发生在相邻分块的重叠区,如图6所示,分块A1与A2相邻,两者属于横轴方向的分割区,在横轴方向存在4条数据交换带。
数据交换原则:靠近A1下边界即I=I_AM(1,2)-1与I=I_AM(1,2)的数据换成A2中I=I_AM(2,1)+2与I=I_AM(2,1)+3的数据;靠近A2上边界的数据即I=I_AM(2,1)与I=I_AM(2,1)+1的数据换成A1中I=I_AM(1,2)-3与I=I_AM(1,2)-2的数据。
数据交换方法:在模型实现数据交换的过程中,先将A1与A2要发送给对方的数据通过信息发送函数MPI_Send发送到对方地址,通过MPI_Barrier函数设定所有节点等待,直到数据发送完成,然后分别A2与A1分别启用接收函数MPI_Recv,接收从对方发送过来的函数,数据接收完成后在进行下一步长的迭代计算。
数据交换效果:如图7所示,为节点计算过程中,进行数据交换和不进行数据交换的结果,从图中可以看出,进行数据交换后的流场效果流畅,且出现波浪的效果,而不进行数据交换的流场在I_AM(MA,2)与I_AM(MA,2)-1位置的流场明显与其余网格的流场不吻合,I_AM(MA,2)区域的流速小且偏离了整体流场的方向。
步骤6:分块内并行划分;
识别分块内的水动力方程求解以及水动力迭代运行代码及其逻辑结构,借助OPENMP的编译语句OMP PARALLEL DO将不具有前后左右相关性的循环语句并行化;借助OMP PARALLEL SECTIONS将不具有前后运算逻辑关系的子函数并行化;实现分块内的并行处理,更进一步提高了分布式并行的运算效率。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (9)
1.一种流域大尺度水系分布式水动力模型的并行计算方法,其特征在于,包括以下步骤:
步骤1.流域水系识别:基于DEM遥感影像数据,识别流域水系,提取流域水系边界;
步骤2.绘制计算网格:以流域水系边界为控制范围,绘制一定精度范围内的数值模型整体网格A,A的网格数为IM×JM,其中IM为横轴方向上的网格数、JM为纵轴方向上的网格数;
步骤3.计算区域分块:按照网格内水系之间的空间地理关系,将流域按水系划分为一级计算区块;在每个一级计算区块的基础上,进一步将网格划分为范围相等的区块,每个区块的网格数为IM(MA),JM(MA),其中MA为区块编号,IM(MA)为区块MA横轴方向上的网格数、JM(MA)为区块MA纵轴方向上的网格数,满足步骤4中计算区块重新编号要求;
步骤4.区块重新编号:为解决大尺度流域模拟中win32程序的2G内存数组限制的问题,对区块重新编号,以减小数组中IM、JM的大小;设定I_AM(MA,2)为第MA块网格横轴方向上的网格的最大编号,I_AM(MA,1)为第MA块网格横轴方向上的网格的最小编号,J_AM(MA,2)为第MA块网格纵轴方向上的网格的最大编号,J_AM(MA,1)为第MA块网格纵轴方向上的网格的最小编号,则每个区块的网格数为IM(MA)、JM(MA)满足:
IM(MA)≥I_AM(MA,2)-I_AM(MA,1)+1
JM(MA)≥J_AM(MA,2)-J_AM(MA,1)+1;
I_AM(MA,1)、I_AM(MA,2)、J_AM(MA,2)、J_AM(MA,1)对应在原有整体网格A中的网格编号为I_REAL(MA,1)、I_REAL(MA,2)、J_REAL(MA,2)、J_REAL(MA,1),其满足步骤5要求的分块区域重叠区设置要求;
步骤5.相邻区块重叠区设置:设定区块k与区块j相邻,j在k的下游,则设定k、j之间存在一个重叠区O以用于数据的交换;若河道沿着横轴方向,则重叠区域O横轴方向的网格数为4;反之若河道沿着纵轴方向,则重叠区域O纵轴方向的网格数为4;则k,j分块的编号满足:
若河道沿横轴方向:
则:I_AM(k,2)-I_AM(j,1)=4;
若河道沿纵轴方向:
则:J_AM(k,2)-I_AM(j,1)=4;
步骤6.分布式集群计算体系构建:构建局域网内的分布式计算集群,集群类的所有计算机通过IP识别机器并进行节点编号;设定每个分块MA∈(1,+∞)对应的计算节点为MDU∈(0,+∞),MDU=MA-1,调用mpiexec以IP地址为集群内的计算机的识别码,开展分布式运算,每个计算节点读取各自分块的输入文件,在以DT为计算时间步长的条件下,展开分布式计算,并输出不同时间点t时的各分块网格内的流速、流量、水位和水动力通量,存储于文件res(MA,t);
步骤7.分布式分块间数据交换:为保证水动力模拟流场的连续性和精确性,在每个时间步长DT的水动力计算前先进行分块重叠区的数据交换,分别交换t-DT时刻计算所得的流速、流量、水位和水动力通量;
步骤8.分块内并行划分:识别分块内的水动力方程求解以及水动力迭代运行代码及其逻辑结构,将不具有前后左右相关性的循环语句并行化,将不具有前后运算逻辑关系的子函数并行化;实现分块内的并行处理,更进一步提高分布式并行的运算效率。
2.根据权利要求1所述的流域大尺度水系分布式水动力模型的并行计算方法,其特征在于:步骤1中所述的基于DEM遥感影像数据、识别流域水系、提取流域水系边界,其具体实现过程是基于DEM遥感影像数据,根据DEM中高程的范围,通过ARCGIS类GIS软件,提取出欲模拟范围内的水体的范围和陆地范围,提取识别并勾勒处流域水域的边界,将该边界保存为散点形式p(x,y),x为p点的地理横坐标、y为p点的地理纵坐标。
3.根据权利要求1所述的流域大尺度水系分布式水动力模型的并行计算方法,其特征在于:步骤2中所述的绘制一定精度范围内的数值模型整体网格A,采用的是规则网格绘制软件delft3d。
4.根据权利要求1或3所述的流域大尺度水系分布式水动力模型的并行计算方法,其特征在于:步骤2中所述的绘制一定精度范围内的数值模型整体网格A,其精度范围为10~15m。
5.根据权利要求1所述的流域大尺度水系分布式水动力模型的并行计算方法,其特征在于:步骤3中所述的在每个一级区块的基础上进一步将网格划分为范围大致相等的区块,是基于分布式计算的静态负载平衡原理。
6.根据权利要求1所述的流域大尺度水系分布式水动力模型的并行计算方法,其特征在于:步骤6中所述的构建局域网内的分布式计算集群,是基于MPICH的分布式标准协议。
7.根据权利要求1或6所述的流域大尺度水系分布式水动力模型的并行计算方法,其特征在于:步骤6中所述的每个计算节点读取各自分块的输入文件,所述的输入文件包括网格数据文件grid(MA)、陆地点面源入汇文件nps_ps(MA)以及气象数据文件atm(MA)。
8.根据权利要求1所述的流域大尺度水系分布式水动力模型的并行计算方法,其特征在于:步骤7中所述的分别交换t-DT步长内计算所得的流速、流量、水位和水动力通量,是调用基于MPICH标准协议的信息发送函数MPI_Send与接收函数MPI_Recv进行交换。
9.根据权利要求1所述的流域大尺度水系分布式水动力模型的并行计算方法,其特征在于:步骤8中所述的将不具有前后左右相关性的循环语句并行化、将不具有前后运算逻辑关系的子函数并行化,是利用OPENMP的编译语句OMPPARALLEL DO将不具有前后左右相关性的循环语句并行化和不具有前后运算逻辑关系的子函数并行化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410476611.3A CN104200045B (zh) | 2014-09-17 | 2014-09-17 | 一种流域大尺度水系分布式水动力模型的并行计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410476611.3A CN104200045B (zh) | 2014-09-17 | 2014-09-17 | 一种流域大尺度水系分布式水动力模型的并行计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104200045A true CN104200045A (zh) | 2014-12-10 |
CN104200045B CN104200045B (zh) | 2016-01-13 |
Family
ID=52085338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410476611.3A Active CN104200045B (zh) | 2014-09-17 | 2014-09-17 | 一种流域大尺度水系分布式水动力模型的并行计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104200045B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106096212A (zh) * | 2016-07-19 | 2016-11-09 | 武汉大学 | 水体表面漂浮物迁移、堆积和清漂过程的数值模拟方法 |
CN106202265A (zh) * | 2016-06-29 | 2016-12-07 | 武汉大学 | 流域大尺度复杂河网海量精细规则网格的绘编方法 |
CN109145316A (zh) * | 2017-06-14 | 2019-01-04 | 浙江贵仁信息科技股份有限公司 | 一种二维水动力模型垂向分层耦合方法、系统及终端 |
CN109902366A (zh) * | 2019-02-14 | 2019-06-18 | 中国水利水电科学研究院 | 一种分布式水文模型汇流并行方法 |
CN111737381A (zh) * | 2020-05-11 | 2020-10-02 | 江苏北斗卫星应用产业研究院有限公司 | 一种基于时空大数据的区域地块重叠识别与重叠面积计算方法 |
WO2021077552A1 (zh) * | 2019-10-24 | 2021-04-29 | 清华大学 | 一种面向数值模型的并行通信方法、装置、系统和存储介质 |
CN112991723A (zh) * | 2021-02-07 | 2021-06-18 | 启迪云控(上海)汽车科技有限公司 | 一种基于地理区域的智能网联计算机任务并行颗粒度的划分方法、系统及终端 |
CN113128009A (zh) * | 2021-04-27 | 2021-07-16 | 中国水利水电科学研究院 | 一种考虑山区平原地貌差异的子流域单元划分方法 |
CN116908114A (zh) * | 2023-09-07 | 2023-10-20 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种流域颗粒有机碳通量遥感监测方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871041B (zh) * | 2017-11-06 | 2019-07-09 | 武汉大学 | 流域复杂地形的网格处理方法 |
CN107871048B (zh) * | 2017-11-22 | 2019-08-20 | 武汉大学 | 大尺度流域网格分块方法 |
CN108090164B (zh) * | 2017-12-13 | 2019-08-20 | 武汉大学 | 一种流域大尺度计算海量网格的编码方法 |
CN108073776B (zh) * | 2017-12-29 | 2020-02-14 | 武汉大学 | 复杂河网干支流交汇口网格绘制及江心洲网格处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158985A (zh) * | 2007-10-31 | 2008-04-09 | 深圳先进技术研究院 | 一种超维度河流动力学自适应并行监测的方法 |
US20090171628A1 (en) * | 2007-12-31 | 2009-07-02 | Shay Peretz | Planning a sensor array in accordance with tempo-spatial path estimation of potential intruders |
CN102637227A (zh) * | 2012-03-29 | 2012-08-15 | 武汉大学 | 基于最短路径的土地资源评价因子作用域划分方法 |
-
2014
- 2014-09-17 CN CN201410476611.3A patent/CN104200045B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158985A (zh) * | 2007-10-31 | 2008-04-09 | 深圳先进技术研究院 | 一种超维度河流动力学自适应并行监测的方法 |
US20090171628A1 (en) * | 2007-12-31 | 2009-07-02 | Shay Peretz | Planning a sensor array in accordance with tempo-spatial path estimation of potential intruders |
CN102637227A (zh) * | 2012-03-29 | 2012-08-15 | 武汉大学 | 基于最短路径的土地资源评价因子作用域划分方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202265A (zh) * | 2016-06-29 | 2016-12-07 | 武汉大学 | 流域大尺度复杂河网海量精细规则网格的绘编方法 |
CN106096212A (zh) * | 2016-07-19 | 2016-11-09 | 武汉大学 | 水体表面漂浮物迁移、堆积和清漂过程的数值模拟方法 |
CN106096212B (zh) * | 2016-07-19 | 2020-02-14 | 武汉大学 | 水体表面漂浮物监控方法 |
CN109145316A (zh) * | 2017-06-14 | 2019-01-04 | 浙江贵仁信息科技股份有限公司 | 一种二维水动力模型垂向分层耦合方法、系统及终端 |
CN109145316B (zh) * | 2017-06-14 | 2021-05-07 | 浙江贵仁信息科技股份有限公司 | 一种二维水动力模型垂向分层耦合方法、系统及终端 |
CN109902366A (zh) * | 2019-02-14 | 2019-06-18 | 中国水利水电科学研究院 | 一种分布式水文模型汇流并行方法 |
WO2021077552A1 (zh) * | 2019-10-24 | 2021-04-29 | 清华大学 | 一种面向数值模型的并行通信方法、装置、系统和存储介质 |
CN111737381A (zh) * | 2020-05-11 | 2020-10-02 | 江苏北斗卫星应用产业研究院有限公司 | 一种基于时空大数据的区域地块重叠识别与重叠面积计算方法 |
CN111737381B (zh) * | 2020-05-11 | 2023-08-25 | 江苏北斗卫星应用产业研究院有限公司 | 一种基于时空大数据的区域地块重叠识别与重叠面积计算方法 |
CN112991723A (zh) * | 2021-02-07 | 2021-06-18 | 启迪云控(上海)汽车科技有限公司 | 一种基于地理区域的智能网联计算机任务并行颗粒度的划分方法、系统及终端 |
CN112991723B (zh) * | 2021-02-07 | 2022-09-30 | 云控智行(上海)汽车科技有限公司 | 一种基于地理区域的智能网联计算机任务并行颗粒度的划分方法、系统及终端 |
CN113128009A (zh) * | 2021-04-27 | 2021-07-16 | 中国水利水电科学研究院 | 一种考虑山区平原地貌差异的子流域单元划分方法 |
CN116908114A (zh) * | 2023-09-07 | 2023-10-20 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种流域颗粒有机碳通量遥感监测方法 |
CN116908114B (zh) * | 2023-09-07 | 2023-12-01 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种流域颗粒有机碳通量遥感监测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104200045B (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104200045A (zh) | 一种流域大尺度水系分布式水动力模型的并行计算方法 | |
Chen et al. | A cooperative co-evolutionary approach to large-scale multisource water distribution network optimization | |
CN103440364B (zh) | 基于bim模型自动生成wbs节点的方法和系统 | |
CN105138802B (zh) | 一种枪管智能设计系统及设计方法 | |
Acharya et al. | A parallel and memory efficient algorithm for constructing the contour tree | |
CN111768502A (zh) | 一种基于gpu加速技术的非结构网格二维洪水模拟系统 | |
CN106201651A (zh) | 神经形态芯片的模拟器 | |
CN103500371A (zh) | 基于bim的变更控制方法 | |
CN103049516B (zh) | 一种数据处理方法及装置 | |
CN104268243B (zh) | 一种位置数据处理方法及装置 | |
CN110766792B (zh) | 基于ArcGIS水文分析工具网格演算次序编码方法 | |
CN103279414B (zh) | 一种适用于Xen虚拟化平台的隐蔽通道检测方法 | |
CN108880872B (zh) | 一种互联网测试床拓扑结构分解方法及装置 | |
CN105490836B (zh) | 一种复杂网络可靠度的蒙特卡罗评估方法 | |
CN103631988A (zh) | 面向电力系统仿真的多用户仿真数据管理平台 | |
CN105631135B (zh) | 基于abaqus基坑开挖快速建模分析系统及其应用方法 | |
Gu et al. | Optimizing operation rules of sluices in river networks based on knowledge-driven and data-driven mechanism | |
CN110674581B (zh) | 一种数字孪生模型一致性精准判定方法及系统 | |
CN111651507A (zh) | 一种大数据加工方法及系统 | |
CN107871048B (zh) | 大尺度流域网格分块方法 | |
Sonar | Classical finite volume methods | |
CN108446342A (zh) | 一种环境质量评价系统、方法、装置及存储装置 | |
Delmas et al. | Multi-GPU implementation of a time-explicit finite volume solver for the Shallow-Water Equations using CUDA and a CUDA-Aware version of OpenMPI | |
CN103793745B (zh) | 一种分布式粒子群优化方法 | |
CN108073776B (zh) | 复杂河网干支流交汇口网格绘制及江心洲网格处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220824 Address after: Room 401, Building A1, Zhongan Chuanggu Science and Technology Park, Wangjiang West Road, High-tech Zone, Hefei City, Anhui Province, 230000 Patentee after: Luojia Haojing Digital Technology (Hefei) Co.,Ltd. Address before: 430072 Hubei Province, Wuhan city Wuchang District of Wuhan University Luojiashan Patentee before: WUHAN University |