一种基于区域生长的笛卡尔网格生成算法制造技术

技术编号:36942838 阅读:12 留言:0更新日期:2023-03-22 19:04
本发明专利技术涉及一种基于区域生长的笛卡尔网格生成方法,包括以下步骤:步骤一,根据几何体表面单元构建包围盒,根据索引规则提取出单元与线段信息;步骤二,根据线段与单元的交点情况,确定线段两个端点的物面标记;步骤三,生成初始种子点;步骤四,基于区域联通的索引规则,循环确定其余点的网格类型,直到再无新的种子点生成。本发明专利技术可嵌入CFD计算中,适用于包含构造复杂的几何体的快速笛卡尔网格生成。同时对于几何体物面单元的堆叠问题,具有一定的容错能力。这对于格子Boltzmann方法的大型复杂模型工程计算或自适应网格计算提供了很好的基础。础。础。

【技术实现步骤摘要】
一种基于区域生长的笛卡尔网格生成算法


[0001]本专利技术涉及一种基于区域生长的笛卡尔网格生成算法,生成的笛卡尔网格对构造复杂的几何体具有一定的容错能力,可应用于LBM相关的大型CFD工程计算中。

技术介绍

[0002]复杂几何边界中的流体运动一直是大规模科学与工程计算中具有挑战性的问题之一。起源于格子Gas Cellular Automata(LGA)方法的格子Boltzmann方法(LBM),具有简单、高效、天然并行性及方便处理复杂边界条件的优点,非常适合复杂流动问题的大规模并行计算。由于笛卡尔网格的正交性可简化算法中的部分式子,降低计算的复杂性,通常采用笛卡尔网格进行LBM的计算。对于笛卡尔网格中构造复杂的几何物体,需要判断网格点与几何体的内外关系,使得在生成网格的过程中计算量较大。同时,由于大型工程计算中的几何体模型,往往具有一些难以处理的物面单元堆叠错误。因此,一种具有一定容错能力的网格生成方法对这一类的计算非常重要。
[0003]通常的网格生成可归纳为两类不同的方法:射线法和切片法。前者通过射线穿透物面的次数来进行判定,后者先对几何模型进行切片处理,在二维平面上对切片进行射线判定。两种方法各有优劣,但均是基于射线每穿透一次物面后的网格类型变动原理。当几何体存在物面单元堆叠错误时,射线法的原理无法适用于这类存在缺陷的几何体,从而影响到网格生成的结果。在射线法的计算中,先判断整体的网格类型,再进行物面标记。而本技术通过基本元与物面单元的相交判定,先得到整体的物面标记。再通过已知种子点的区域生长,得到整体的网格类型。该技术可以一定程度上解决几何体的单元堆叠问题,可应用于大型复杂模型中的LBM工程计算。

技术实现思路

[0004]本专利技术的目的在于针对复杂构造的几何体,可快速生成用于LBM计算的笛卡尔网格,同时对于几何体物面单元堆叠问题具有一定的容错能力。构成几何体表面的单元,二维情况为线段,三维情况通常为空间三角形。将构成笛卡尔网格的最短线段作为基本元。通过基本元与单元的相交判定,可对网格点进行物面标记,找出最贴近几何体表面的网格点。通过直接确定的已知种子点,对周围未知类型的网格点进行判断,最终得到网格中全部的网格类型。该技术可避开射线法的基本原理,从而对几何体具有一定程度的容错能力,适用于实际应用中的LBM工程计算。
[0005]根据上述专利技术构思,本专利技术的一种基于区域生长的笛卡尔网格生成算法主要分为两个部分:1、贴近几何体的网格点标记:步骤一和步骤二;2、确定不同区域的网格点类型:步骤三和步骤四。具体包括以下步骤:
[0006]步骤一,提取构成几何体表面的单元坐标信息,根据每个单元的坐标最值形成最小包围盒,二维情况是矩形,三维情况是长方体。对每个最小包围盒内按规则进行索引,提取出单个线段与构成该单元盒的几何体单元;
[0007]优选地,所述步骤一的索引规则包括:
[0008]步骤一一,索引方法如下:二维情况下,若矩形包围盒的四个角点坐标为(x1,y1)、(x2,y1)、(x1,y2)和(x2,y2);注意,这里的坐标为整型,与整体网格点的索引形式相同。则先遍历x1到x2‑
1,再遍历y1到y2‑
1,共可确定(x2‑1‑
x1)
·
(y2‑1‑
y1)个线段起点。每个线段起点可形成两个线段,对于起点坐标为(x,y),两条线段终点坐标分别为(x+1,y)和(x,y+1);
[0009]步骤二,判断线段与单元是否存在交点。若存在交点,则将线段的两个端点进行物面标记,分别最贴近几何体的内外表面;
[0010]优选地,所述步骤二的物面标记包括:
[0011]步骤二一,对于得到的线段与单元信息,输入可用的判定模块中。若判定模块确定存在交点,则对线段端点进行物面标记;
[0012]步骤二二,可根据需要采用不同的判定算子,从而形成内核不同的判定模块,这里采用基于投影的混合算子。通过两类算子的组合结果,确定线段是否与单元存在交点;
[0013]步骤三,直接确定一个网格点的类型,例如对于外流情况,可直接确定整体网格边界附近的任意一点为流体点,将该点作为种子点。也可通过其它方法判断单个点的网格点类型;
[0014]步骤四,类似于种子生长的区域联通形式,基于索引规则,将周围的网格点确定为种子点的类型。这种区域生长模式类似于液体的染色,未被染色的点受已染色的点影响,由单个点向周围点扩散,直到无新点可被染色为止;
[0015]优选地,所述步骤四的区域生成包括:
[0016]步骤四一,根据索引规则得到需要判断的点,进入标记过程。在该过程中,若该点无物面标记,同时未确定网格点类型,且四周邻居存在已确定类型的网格点,则对该点进行标记。当全部的标记过程完成后,对标记的点进行网格点类型标记。根据索引规则生成新的种子点后重复标记过程,直到无新的种子点生成,从而完成全部的染色过程;
[0017]步骤四二,当全部染色过程完成后,对于存在物面标记的网格点,将最贴近种子点的一层标记为种子点类型。将剩余的网格点标记为另一种网格点类型,即可确定全部的网格点类型;
[0018]步骤四三,对于索引规则。在任意一次染色过程中,对于已确定的种子点,单个种子点的四周邻居点参与标记过程。若参与判断的点在标记过程中得到标记,则新种子点集合的数量加1,该点转化为新的种子点。在下一次的染色过程中,旧的种子点集合被新的取代,进而生成新一轮的参与标记过程的网格点。需要注意的是,每一次染色过程,原种子点不参与标记过程,因此不会加入到新的种子点集合中。例如初始种子点附近均为可进行标记的网格点,则种子点数量变化为1,4,8,12等等。但由于物面标记的网格点、已确定类型的网格点和整体网格边界的存在,因此种子点集合的数量是先增加后减少,直到数量为0时退出循环。
[0019]本专利技术的方法,与现有技术相比,具有以下突出的实质性特点和显著优点:
[0020]一、采用逆序统计的索引规则,可极大地降低计算过程中的时间开销,从而达到快速的网格生成。
[0021]二、通过先进行物面标记,再进行网格类型点判断,可避开射线法进行网格生成的原理。对于存在单元堆叠问题的几何体,这种网格生成方法存在一定的容错性。
[0022]三、通过区域联通的索引规则,采用初始种子点重复迭代的方法,使得该方法适用于构造复杂的几何体。
[0023]四、该方法清晰明确,计算速度快,可行性高,可实际应用于LBM的大型工程计算中。
附图说明
[0024]图1为基于区域生长的整体框架
[0025]图2为物面标记模块
[0026]图3为物面标记模块
[0027]图4为区域生长模块
[0028]图5为标记模块和赋值
[0029]图6为汽车消音器模型构造与网格生成结果。
具体实施方式
[0030]以下结合附图对本专利技术的优选实施例进一步详细说明。
[0031]整体程序的流程框架图如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于区域生长的笛卡尔网格生成主要分为两个部分:1、贴近几何体的网格点标记:步骤一和步骤二;2、确定不同区域的网格点类型:步骤三和步骤四。步骤一,提取构成几何体表面的单元坐标信息,根据每个单元的坐标最值形成最小包围盒,二维情况是矩形,三维情况是长方体。对每个最小包围盒内按规则进行索引,提取出单个线段与构成该单元盒的几何体单元;优选地,所述步骤一的索引规则包括:步骤一一,索引方法如下:二维情况下,若矩形包围盒的四个角点坐标为(x1,y1)、(x2,y1)、(x1,y2)和(x2,y2);注意,这里的坐标为整型,与整体网格点的索引形式相同。则先遍历x1到x2‑
1,再遍历y1到y2‑
1,共可确定(x2‑1‑
x1)
·
(y2‑1‑
y1)个线段起点。每个线段起点可形成两个线段,对于起点坐标为(x,y),两条线段终点坐标分别为(x+1,y)和(x,y+1);步骤二,判断线段与单元是否存在交点。若存在交点,则将线段的两个端点进行物面标记,分别最贴近几何体的内外表面;优选地,所述步骤二的物面标记包括:步骤二一,对于得到的线段与单元信息,输入可用的判定模块中。若判定模块确定存在交点,则对线段端点进行物面标记;步骤二二,可根据需要采用不同的判定算子,从而形成内核不同的判定模块,这里采用基于投影的混合算子。通过两类算子的组合结果,确定线段是否与单元存在交点;步骤三,直接确定一个网格点的类型,例如对于外流情况,可直接确定整体网格边...

【专利技术属性】
技术研发人员:请求不公布姓名张武
申请(专利权)人:苏州流场信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1