专利名称:一种用于河道水文数值模拟的复杂河道网格化方法
技术领域:
本发明涉及一种用于河道水文数值模拟的复杂河道网格化方法,属于流体力学中的网格生成技术及地理信息系统(GIS)中的空间数据内插技术领域。
背景技术:
河道数值模拟综合了计算机科学、流体力学、偏微分方程数学理论、计算几何、数值分析等学科,它的发展除依赖于这些学科的发展外,更直接表现在对河道平面模拟的二维网格生成技术的依赖。在应用诸如有限差分法、有限体积法等方法对河道数值模拟进行数值求解时,需要生成相应的计算网格,生成网格质量的优劣直接影响流畅计算的精度和效率。网格的生成问题可以看成是一个坐标变换的边值问题,建立一种物理域的边界点同计算域的边界点的映射关系,从而求出物理域与计算域内部结点间的对应关系,将不规则的物理域转化成规则的计算域,这种方法可归结为在给定的第一边界条件下求解偏微分方程。这种转换关系如图1所示,左侧为物理域,右侧为计算域。目前常用的河道网格剖分方法有河道Thompson法、椭圆型网格生成法、代数法等。河道Thompson法主要是通过物理平面(天然河道平面)与变换平面(数模计算平面) 之间Poisson方程边值问题数值解实现二维正交网格的生成;椭圆型网格生成法,求解椭圆形偏微分方程具有曲线坐标系的光滑性和可微性,并且所生成的网格在解决复杂外形方面具有生成原理直观、易于编制程序等优点。代数法是指通过一些代数关系式把物理平面上的不规则区域转换成计算平面上矩形区域的方法。这种网格生成方法要找出合适的插值函数,一般采用Langrange插值为基础构造双边界法、无限插值法等。由于无限插值法是把 2个方向4个边界的信息同时向内部传递,插值的点数是无限的,用它来生成初始网格,迭代以后得到的是均分网格。这些方法虽然能实现对河道区域的网格剖分,但自身也存在一些问题。河道Thompson法存在的主要问题有(1)复杂洲、滩及岸线河道岸线、非恒定流动岸和数值求解引起的动边界等情况下,网格与河道岸线之间的拟合同样会出现实际偏离; (2)对于常见的宽、窄相间的河道平面形态,二维网格不均勻间距可能导致的数值计算精度问题;椭圆型网格生成法虽然保证了网格线与边界的正交性,但不能很好地控制网格的疏密;代数法未对不规则区域网格进行疏密调整。这些问题导致上述方法在复杂河道网格化过程中不能有效处理存在众多江心洲的多汊河道,并且缺乏根据河道岸线地势变化等相关因素合理控制网格疏密的能力。在河道网格化过程中网格设计应综合考虑地形变化、物理量的变化梯度、动力特性、计算费用、 模型的目的等因素。国内外已有的网格自动剖分算法和软件缺乏根据复杂河道地势变化控制网格大小与节点密度的灵活性
发明内容
本发明要解决技术问题是克服现有技术的上述不足,提供一种用于河道水文数值模拟的复杂河道网格化方法,其能为复杂河道数值模拟提供分布均勻、数量可根据用户需求灵活设定的正交网格及离散节点。为了解决以上技术问题,本发明提供的一种用于河道水文数值模拟的复杂河道网格化方法,包括以下步骤第一步、数据读取——读取待网格化的二维河道矢量数据;第二步、河道分割——沿河道方向将河道分割为若干多边形集合,对于含有江心洲的河道区域,对江心洲两侧的河道分别进行分割,所述分割后的多边形沿河道纵向方向分布;第三步、网格间距计算一构建多边形边界曲线参数方程,计算多边形边界曲线长度,根据网格化所需行列数目计算划分网格单元时边界曲线网格间距;第四步、内插网点——根据多边形边界曲线参数方程及网格化所需网格间距,将网点内插于多边形边界曲线上,并计算内插网点的二维坐标;第五步、网格剖分——根据多边形边界曲线内插网点的数量和二维坐标,计算多边形网格化后网格节点的坐标,并生成网格节点,将生成的网格节点用线段依次连接形成多边形网格,完成多边形的网格剖分;第六步、网格归并——归并各多边形网格,获得河道网格;第七步、网格正交化——求解拉普拉斯方程,调整河道网格节点位置,完成河道网格正交化,得到河道平面二维正交网格。进一步的,本发明用于河道水文数值模拟的复杂河道网格化方法的第二步中,对江心洲两侧河道分别进行分割的方法是在江心洲上下游的弧段上分别选取一至两个端点,在河岸上选取至所述端点最近的点,连接端点和距端点最近的河岸上的点,若该连接线未与其他江心洲相交,则该连线作为划分河道的边界线,否则在与该端点最近的其他江心洲上选取与之最近的点,两者的连接线作为划分河道的边界线。本发明所述第五步完成后,针对需要进行网格加密的河道局部区域,选定所需加密的网格、设定加密的行列数目,并针对各网格进行加密,网格加密方法参见所述第三步至第五步。第七步完成之后,根据河道平面二维正交网格各网格节点得二维坐标及其连接顺序,输出河道最终网格化后的节点坐标。本发明方法首先将带有支流出入汇、江心洲等各种复杂河道区域自由分割为简单区域集合,根据河道数值模拟需要设置区域控制曲线网格间距,生成二维网格,归并简单区域网格得到复杂河道剖分后的初始网格。对于河道岸线特定区域,可根据需求灵活增加区域网点密度实现该区域内网格加密划分。通过求解拉普拉斯方程,设定收敛精度,本发明能够实现初始网格正交化,最终得到河道二维正交网格。本发明将河道进行分段(分割),并且针对有江心洲的复杂区域进行巧妙分割为互相独立的多边形,使分割的多边形内均不包含有江心洲,因此本发明方法可处理带有支流出入汇、江心洲等各种复杂河道区域,相对于传统河道网格化方法本发明具有更强的适应性和通用性;本发明方法可针对所需加密区域进行网格加密划分,使河道网格化与复杂河道地势变化相适应,为水文相关运算提供良好的数据基础。
下面结合附图对本发明作进一步的说明。图1为坐标变化示意图。图2为本发明方法流程图。图3为待网格化的河道示意图。图4为划分图3所示河道形成简单多边形集合示意图。图5为图4的局部放大图。图6为图3所示河道网格化后生成的网格示意图。
具体实施例方式下面根据附图详细说明本发明,本发明的目的和效果将变得更加明显。如图2所示,为本发明一种用于河道水文数值模拟的复杂河道网格化方法实施例的流程图,包括以下步骤第一步、数据读取——读取待网格化的二维河道矢量数据;如图3所示,河道由非自交弧段组成。第二步、河道分割——沿河道方向将河道分割为若干多边形集合,对于含有江心洲的河道区域,对江心洲两侧的河道分别进行分割,所述分割后的多边形沿河道纵向方向分布;本步骤中,对江心洲两侧河道分别进行分割的方法是,在江心洲上下游的弧段上分别选取一至两个端点,在河岸上选取至所述端点最近的点,连接端点和距端点最近的河岸上的点,若该连接线未与其他江心洲相交,则该连线作为划分河道的边界线,否则在与该端点最近的其他江心洲上选取与之最近的点,并进行连接作为划分河道的边界线。如图5所示,江心洲的上下游弧段分别选取两个端点,在河岸上选取了与其最近的点,并进行了连接,将河道进行了分割。图4中,最右侧的三角洲的上游(左侧)弧段上则选取了一个端点与河岸连接。可根据根据实际情况确定在三角洲上下游弧段选取端点的个数,一般情况选取2个端点的情况较为通用。计算机具体执行过程如下输入网格控制弧段,将河道区域划分成简单的连通空间区域。计算弧段与河道岸线交点,利用该点打断河道岸线,并将其加入到边界弧段中。对于每个简单区域,应用GIS拓扑重建功能,将简单区域边界弧段首尾依次相连,构建简单区域多边形。最终将图3所示的复杂河道组织为图4所示的多边形集合。第三步、网格间距计算——构建多边形边界曲线参数方程,计算多边形边界曲线长度,根据网格化所需行列数目计算划分网格单元时边界曲线网格间距;根据需求设定多边形网格化所需行列数目即位于边界弧段上的网格节点数目,计算划分多边形平面时横向曲线与纵向曲线网格间距。设定网格行列数目必须保证每个多边形对应横向曲线网格列数相同、对应纵向曲线网格行数相等。对于任意两个拥有相同横向曲线或纵向曲线的多边形也要保证合并后仍满足此条件。图5为复杂河道划分为简单区域后的局部放大图,本发明以图5中多边形为例描述设定边界网点数目时应满足的条件。图中A、B、C、D表示简单区域多边形,Si (i = 1,2,3,...)为多边形边界弧段,Ni表示Si中节点数目。设定多边形A边界网点数目时应满足条件=N2 = N3, N1 = N4+N5+N6。按此条件设定多边形B、C、D边界网点数目,此外还需满足条件 N1 = N1 !+N1^N13, N2+N10 = N3+N7,以保证多边形A、B、C、D组成的连通区域对应同向控制曲线网点数目相同。第四步、内插网点——根据多边形边界曲线参数方程及网格化所需网格间距,将网点内插于多边形边界曲线上,并计算内插网点的二维坐标;第五步、网格剖分——根据多边形边界曲线内插网点的数量和二维坐标,计算多边形网格化后网格节点的坐标,并生成网格节点,将生成的网格节点用线段依次连接形成多边形网格,完成多边形的网格剖分;第六步、网格归并——归并各多边形网格,获得河道网格;第七步、网格正交化——求解拉普拉斯方程,调整河道网格节点位置,完成河道网格正交化,得到河道平面二维正交网格。第七步完成之后,根据河道平面二维正交网格各网格节点得二维坐标及其连接顺序,输出河道最终网格化后的节点坐标。针对需要进行网格加密的河道局部区域,在第五步完成后,选定所需加密的网格、 设定加密的行列数目,并针对各网格进行加密,网格加密方法参见所述第三步至第五步。除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
权利要求
1.一种用于河道水文数值模拟的复杂河道网格化方法,包括以下步骤第一步、数据读取一读取待网格化的二维河道矢量数据;第二步、河道分割一沿河道方向将河道分割为若干多边形集合,对于含有江心洲的河道区域,对江心洲两侧的河道分别进行分割,所述分割后的多边形沿河道纵向方向分布;第三步、网格间距计算一构建多边形边界曲线参数方程,计算多边形边界曲线长度, 根据网格化所需行列数目计算划分网格单元时边界曲线网格间距;第四步、内插网点一根据多边形边界曲线参数方程及网格化所需网格间距,将网点内插于多边形边界曲线上,并计算内插网点的二维坐标;第五步、网格剖分一根据多边形边界曲线内插网点的数量和二维坐标,计算多边形网格化后网格节点的坐标,并生成网格节点,将生成的网格节点用线段依次连接形成多边形网格,完成多边形的网格剖分;第六步、网格归并一归并各多边形网格,获得河道网格;第七步、网格正交化一求解拉普拉斯方程,调整河道网格节点位置,完成河道网格正交化,得到河道平面二维正交网格。
2.根据权利要求1所述的用于河道水文数值模拟的复杂河道网格化方法,其特征在于所述第二步中,对江心洲两侧河道分别进行分割的方法是,在江心洲上下游的弧段上分别选取一至两个端点,在河岸上选取至所述端点最近的点,连接端点和距端点最近的河岸上的点,若该连接线未与其他江心洲相交,则该连线作为划分河道的边界线,否则在与该端点最近的其他江心洲上选取与之最近的点,并进行连接作为划分河道的边界线。
3.根据权利要求1或2所述的用于河道水文数值模拟的复杂河道网格化方法,其特征在于所述第五步完成后,针对需要进行网格加密的河道局部区域,选定所需加密的网格、 设定加密的行列数目,并针对各网格进行加密,网格加密方法参见所述第三步至第五步。
4.根据权利要求1或2所述的用于河道水文数值模拟的复杂河道网格化方法,其特征在于第七步完成之后,根据河道平面二维正交网格各网格节点得二维坐标及其连接顺序, 输出河道最终网格化后的节点坐标。
全文摘要
本发明用于河道水文数值模拟的复杂河道网格化方法,首先将带有支流出入汇、江心洲等各种复杂河道区域自由分割为简单区域集合,根据河道数值模拟需要设置区域控制曲线网格间距,生成二维网格,归并简单区域网格得到复杂河道剖分后的初始网格。对于河道岸线特定区域,可根据需求灵活增加区域网点密度实现该区域内网格加密划分。通过求解拉普拉斯方程,设定收敛精度,本发明能够实现初始网格正交化,最终得到河道二维正交网格。本发明构思巧妙,适应性强,可对含有江心洲的复杂河道进行网格化处理,且可根据需要实际进行指定网格加密。
文档编号G06T11/00GK102496168SQ20111037223
公开日2012年6月13日 申请日期2011年11月22日 优先权日2011年11月22日
发明者周生路, 杨柳, 王结臣, 程亮, 陈刚 申请人:南京大学