掌桥专利:专业的专利平台
掌桥专利
首页

一种构建三维水动力水温数值模拟计算网格的方法

文献发布时间:2024-07-23 01:35:21


一种构建三维水动力水温数值模拟计算网格的方法

技术领域

本公开涉及水体环境地形构建技术领域,尤其涉及一种构建三维水动力水温数值模拟计算网格的方法。

背景技术

数值模拟的主要方法是将连续的计算区域分割成足够小的计算单元,在每个计算单元上应用流体控制方程,进而获得整个计算区域上的物理量分布。分割的本质是离散,每个计算单元就是网格。网格是数值计算的基础和前提,随着计算流体力学和三维水动力水温数学模型的不断发展,如何绘制高精度的三维网格,并基于此满足实际计算需求,是当前生态环境管理与水动力水温数值模拟面临的重要问题,也是提高数值模拟精度和效率的关键。流体力学领域一般使用诸如Gridgen、Gambit、Hypermesh、Tgrid等软件进行网格划分,但该方式具有操作难度大、精度低等不足。

发明内容

为了解决上述技术问题,本公开提供了一种构建三维水动力水温数值模拟计算网格的方法。

根据本公开的一方面,提供了一种构建三维水动力水温数值模拟计算网格的方法,包括:

获取研究区域的边界坐标和高程坐标;

根据所述边界坐标生成平面正交曲线网格;

基于所述平面正交曲线网格和所述高程坐标对所述研究区域的测点进行插值,得到目标水深地形图;

根据所述平面正交曲线网格和所述目标水深地形图进行垂向网格的划分,得到所述研究区域的三维计算网格。

根据本公开的另一方面,提供了一种构建三维水动力水温数值模拟计算网格的装置,包括:

数据获取模块,用于获取研究区域的边界坐标和高程坐标;

平面网格生成模块,用于根据所述边界坐标生成平面正交曲线网格;

水深地形图生成模块,用于基于所述平面正交曲线网格和所述高程坐标对所述研究区域的测点进行插值,得到目标水深地形图;

三维计算网格生成模块,用于根据所述平面正交曲线网格和所述目标水深地形图进行垂向网格的划分,得到所述研究区域的三维计算网格。

根据本公开的另一方面,还提供了一种电子设备,所述电子设备包括:

处理器;

用于存储所述处理器可执行指令的存储器;

所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述方法。

根据本公开的另一方面,还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述方法。

本公开实施例提供的技术方案与现有技术相比具有如下优点:

本公开实施例提供的技术方案包括:获取研究区域的边界坐标和高程坐标;根据边界坐标生成平面正交曲线网格;基于平面正交曲线网格和高程坐标对研究区域的测点进行插值,得到目标水深地形图;根据平面正交曲线网格和目标水深地形图进行垂向网格的划分,得到研究区域的三维计算网格。本技术方案针对水体环境底线,先利用边界坐标生成表示地形表面的平面正交曲线网格,再结合高程坐标生成表示地形以下水体深度的目标水深地形图,其次在垂直方向上对表示地形以上建筑物的垂向网格进行划分,由此生成三维立体的三维计算网格;该方式依次从各个维度进行网格的生成,降低了网格划分的操作难度,同时,在生成目标水深地形图过程中通过插值计算,能够有效提高网格精度。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例所述构建三维水动力水温数值模拟计算网格的方法的流程图;

图2为本公开实施例所述固定断面地形数据的示意图;

图3为本公开实施例所述平面正交曲线网格的示意图;

图4为本公开实施例所述目标水深地形图的示意图;

图5为本公开实施例所述垂向参数的示意图;

图6为本公开实施例所述构建三维水动力水温数值模拟计算网格的装置结构框图;

图7为本公开实施例所述电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

图1为本公开实施例提供的一种构建三维水动力水温数值模拟计算网格的方法的流程图,该方法可以由配置于终端的构建三维水动力水温数值模拟计算网格的装置执行,该装置可以采用软件和/或硬件实现。参照图1,一种构建三维水动力水温数值模拟计算网格的方法可以包括以下步骤:

S102、获取研究区域的边界坐标和高程坐标。

本实施例可以包括:对包含水体环境地形的研究区域进行测量,获取固定断面地形数据;从固定断面地形数据中提取边界坐标和高程坐标。其中,参照图2中的示例,固定断面地形数据的数据元素可以包括但不限于:方位角(表示为

具体的,在包含水体环境地形的研究区域内可以设置多个测点,每个测点可以进行编号,即图2中的测点号;对测点的方位角、基准点坐标和水位等各项数据元素进行测量,将多个测点的测量数据作为固定断面地形数据。

通过Matlab编程对固定断面地形数据进行分类提取,分别导出边界散点平面坐标和各测点的三维坐标(即X,Y,Z);其中,边界散点平面坐标即为边界坐标,可以采用后缀名为.ldb的边界文件进行保存;各测点的三维坐标即为高程坐标,可以采用后缀名为.xyz的高程文件进行保存。

S104、根据边界坐标生成平面正交曲线网格。

在本实施例中,可以先根据边界坐标绘制样条曲线,再根据预设的网格参数和绘制规则在样条曲线内绘制控制线,以生成平面正交曲线网格。其中,网格参数用于表示沿指定方向生成网格的数量,例如:沿纵向生成m个网格,沿横向生成n个网格。绘制规则可以包括:同一控制线不自相交,不同方向的两条控制线只相交一次,同方向的两条控制线不相交等。

具体实施时,可以在Delft3D GRID的子模块RGFGRID中导入后缀名为.ldb的边界文件以获取边界坐标。根据边界坐标确定边界线,沿边界线绘制样条曲线,样条曲线也可称为Spline线。样条曲线用于控制网格的走势和形状,在样条曲线内部绘制控制线,通过控制线生成平面正交曲线网格。

通过设置网格参数,确定沿不同指定方向生成网格的数量。作为示例,在直角坐标系下,网格参数可以包括:沿横向生成M个网格,沿纵向生成N个网格。根据上述网格参数沿着横向和纵向绘制多条控制线,以通过控制线之间的横纵相交,在横向上生成M个网格,在纵向上生成N个网格。

可以理解的是,在控制线的绘制过程中,为了使样条曲线和控制线能够准确合理地控制网格的走势和形状,需要设置绘制规则,按照绘制规则绘制控制线。其中,绘制规则可以包括:同一控制线不自相交,不同方向的两条控制线只相交一次,同方向的两条控制线不相交;此外,绘制规则还可以包括:各控制线的绘制需要保证均匀、过渡、贴边、正交。

在根据边界坐标生成平面正交曲线网格之后,本实施例还可以包括:在预设的关键位置处,对平面正交曲线网格进行网格加密处理。在实际情况中,往往需要对特殊位置进行网格加密处理,例如图3所示,在河道型水库水动力水温模拟中,需要对河道中轴线位置进行网格加密处理,以提高模拟精度。

根据以上实施例生成最终的平面正交曲线网格之后,可以通过RGFGRID对平面正交曲线网格的网格正交性进行检查,确保网格横纵向的夹角余弦值控制在预设值(如0.02)以内,对网格进行编号检查,平滑性确认无误后,将平面正交曲线网格导出为后缀名为.grd的水平网格文件即可。

S106、基于平面正交曲线网格和高程坐标对研究区域的测点进行插值,得到目标水深地形图。

参照图4所示,本实施例可以包括:在研究区域中绘制多边形区域;以平面正交曲线网格和高程坐标为基础,采用预设插值算法对多边形区域内的测点进行插值;采用扩散算法将多边形区域内插值后的测点扩散至多边形区域外部,得到初始水深地形图;对初始水深地形图进行平滑处理,得到目标水深地形图。

在具体实施例中,可以在Delft3D GRID的子模块QUICKIN中导入后缀名为.grd的水平网格文件以获取平面正交曲线网格,以及导入后缀名为.xyz的高程文件以获取各测点的高程坐标。由于水体环境地形的真实测点较稀疏,需要对其进行插值处理,保证所有网格都具有地形数据。

在一种插值方式中,可以先在研究区域中绘制多边形区域,以平面正交曲线网格和高程坐标为基础,采用三角插值算法在多边形区域内部进行测点的插值计算。具体为:根据三角插值算法,将平面正交曲线网格内的真实测点通过连线连接成三角网格,在三角网格内插入新的测点,并根据真实测点的高程坐标的平均值确定新的测点的高程坐标。将上述新增的测点插值到多边形区域内部;此时多边形区域内包括真实测点和插值计算后新增的测点。而后,采用扩散算法将多边形区域内部的测点扩散至多边形区域外部,使每个网格节点都有相应地形数据,即得到初始水深地形图;再对初始水深地形图进行适当的平滑处理,得到目标水深地形图。通过插值计算后的目标水深地形图可参照图4所示,其中,图4中不同的灰度表示不同的水深。将该目标水深地形图可以导出为后缀名为.dep的水深文件。

在另一种插值方式中,可以设置研究区域整体为插值计算的区域;于是,以平面正交曲线网格和高程坐标为基础,采用预设插值算法在研究区域内部进行测点的插值计算,使研究区域内的每个网格节点都有相应地形数据,此后对地形进行适当平滑处理后,导出后缀名为.dep的水深文件。

S108、根据平面正交曲线网格和目标水深地形图进行垂向网格的划分,得到研究区域的三维计算网格。

本实施例可以以平面正交曲线网格和目标水深地形图为基础,根据预设的垂向参数在目标位置生成垂向网格,得到研究区域的三维计算网格;其中,垂向参数诸如包括:垂向网格的层数和每层垂向网格的高度。

具体的,在Delft3D Flow模块中导入后缀名为.grd的水平网格文件和后缀名为.dep的水深文件,分别获取平面正交曲线网格和目标水深地形图。

作为一种示例,在河道型水库水动力水温数值模拟中,可以结合取水口、深孔、表孔的位置和尺寸,沿垂直方向设置合理的网格层数和每层垂向网格的高度,得到用于划分垂向网格的垂向参数。

以平面正交曲线网格和目标水深地形图为基础,将泄水建筑物位置作为目标位置,根据垂向网格的层数和每层垂向网格的高度等垂向参数,在泄水建筑物位置生成垂向网格,至此完成研究区域的三维计算网格的绘制。如图5所示,横坐标为沿程距离,纵坐标为高程,表示某纵截面的纵向和垂向分层。

综上,本公开实施例提供的构建三维水动力水温数值模拟计算网格的方法,包括:获取研究区域的边界坐标和高程坐标;根据边界坐标生成平面正交曲线网格;基于平面正交曲线网格和高程坐标对研究区域的测点进行插值,得到目标水深地形图;根据平面正交曲线网格和目标水深地形图进行垂向网格的划分,得到研究区域的三维计算网格。本技术方案针对水体环境底线,先利用边界坐标生成表示地形表面的平面正交曲线网格,再结合高程坐标生成表示地形以下水体深度的目标水深地形图,其次在垂直方向上对表示地形以上建筑物的垂向网格进行划分,由此生成三维立体的三维计算网格;该方式依次从各个维度进行网格的生成,降低了网格划分的操作难度,同时,在生成目标水深地形图过程中通过插值计算,能够有效提高网格精度。

以上方案能够适用于计算流体力学和水生态环境等领域,基于固定断面地形数据,通过编程提取关键的边界坐标和高程坐标,导出特定格式文件,通过Deft3D软件快速高效绘制研究区域的三维计算网格,以上方式绘制网格操作简便、效率高、适应范围广,提高了网格划分效率,为三维水动力水温数值模拟提供支撑。

图6为本公开实施例提供的一种构建三维水动力水温数值模拟计算网格的装置的结构框图,该装置可以用于实现上述构建三维水动力水温数值模拟计算网格的方法。参照图6,构建三维水动力水温数值模拟计算网格的装置可以包括以下模块:

数据获取模块210,用于获取研究区域的边界坐标和高程坐标;

平面网格生成模块220,用于根据所述边界坐标生成平面正交曲线网格;

水深地形图生成模块230,用于基于所述平面正交曲线网格和所述高程坐标对所述研究区域的测点进行插值,得到目标水深地形图;

三维计算网格生成模块240,用于根据所述平面正交曲线网格和所述目标水深地形图进行垂向网格的划分,得到所述研究区域的三维计算网格。

在一种实施例中,所述平面网格生成模块220还用于:

根据所述边界坐标绘制样条曲线,根据预设的网格参数和绘制规则在所述样条曲线内绘制控制线,以生成平面正交曲线网格;其中,

所述网格参数用于表示沿指定方向生成网格的数量;

所述绘制规则包括:同一所述控制线不自相交,不同方向的两条所述控制线只相交一次,同方向的两条所述控制线不相交。

在一种实施例中,所述平面网格生成模块220还用于:

在预设的关键位置处,对所述平面正交曲线网格进行网格加密处理。

在一种实施例中,所述水深地形图生成模块230还用于:

在所述研究区域中绘制多边形区域;

以所述平面正交曲线网格和所述高程坐标为基础,采用预设插值算法对所述多边形区域内的测点进行插值;

采用扩散算法将所述多边形区域内插值后的测点扩散至所述多边形区域外部,得到初始水深地形图;

对所述初始水深地形图进行平滑处理,得到目标水深地形图。

在一种实施例中,所述三维计算网格生成模块240还用于:

以所述平面正交曲线网格和所述目标水深地形图为基础,根据预设的垂向参数在目标位置生成垂向网格,得到所述研究区域的三维计算网格;其中,所述垂向参数包括:所述垂向网格的层数和每层所述垂向网格的高度。

在一种实施例中,所述数据获取模块210还用于:

对包含水体环境地形的研究区域进行测量,获取固定断面地形数据;

从所述固定断面地形数据中提取边界坐标和高程坐标。

在一种实施例中,所述固定断面地形数据包括:方位角、基准点坐标、水位、起点距、高程和施测时间。

本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

图7为本公开实施例提供的一种电子设备的结构示意图。如图7所示,电子设备300包括一个或多个处理器301和存储器302。

处理器301可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备300中的其他组件以执行期望的功能。

存储器302可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器301可以运行所述程序指令,以实现上文所述的本公开的实施例的构建三维水动力水温数值模拟计算网格的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

在一个示例中,电子设备300还可以包括:输入装置303和输出装置304,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

此外,该输入装置303还可以包括例如键盘、鼠标等等。

该输出装置304可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置304可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图7中仅示出了该电子设备300中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备300还可以包括任何其他适当的组件。

进一步,本实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述构建三维水动力水温数值模拟计算网格的方法。

本公开实施例所提供的一种构建三维水动力水温数值模拟计算网格的方法、装置、电子设备及介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种网衣水动力特性的三维无网格数值模拟方法
  • 一种压水核反应堆压力容器数值模拟计算结果后处理方法
技术分类

06120116678640