一种新型结构网格生成方法与流程

文档序号:17094486发布日期:2019-03-13 23:44阅读:476来源:国知局
一种新型结构网格生成方法与流程

本发明涉及的是计算流体力学(简称cfd)的前处理结构网格生成技术领域,尤其是一种新型结构网格生成方法。



背景技术:

二维复杂外形的结构网格自动生成一直是阻碍cfd工程应用的瓶颈问题之一。传统的结构网格生成方法针对简单区域能够生成高质量的单块结构网格,但是随着科学技术的发展,需要求解越来越复杂精细的模型,传统的方法只能是将复杂区域先进行分区,然后分别生成网格,不同区域之间的网格拼接很麻烦,网格生成过度依赖人工控制,非常浪费时间。而实际的cfd工程应用中,往往希望便捷、高效地生成高质量的结构网格,但目前尚未有一种有效的方法能自动地生成高质量的结构网格。



技术实现要素:

本发明的目的,就是针对现有技术所存在的不足,而提供一种新型结构网格生成方法,采用本发明方法可以实现快速在二维复杂外形计算域生成结构网格,自动化程度高、效率快,生成的网格计算精度高。

本方案是通过如下技术措施来实现的:

一种新型结构网格生成方法,其特征是:包括有以下步骤:

步骤一、读入模型数据,取得计算区域离散点集和边界信息;

步骤二、对计算区域进行delaunay三角剖分,生成三角化网格;

步骤三、利用背景网格生成优化的voronoi图;

步骤四、判断优化的voronoi图内的网格单元类型,采用中心圆方法对网格单元进行剖分,生成结构化网格。

作为本方案的优选:步骤二的三角化网格的生成方法为:

(1)、输入计算区域离散点集和边界信息,构造一个超级三角形,包含所有离散点,放入三角形链表;

(2)、将点集中的离散点依次插入,在三角形链表中找出外接圆包含插入点的三角形,称为该点的影响三角形;删除影响三角形的公共边,将输入点同影响三角形的全部顶点连接起来,完成一个delaunay三角形链表中的插入;

(3)、根据优化准则对局部新形成的三角形优化,将形成的三角形放入delaunay三角形链表;

(4)、循环执行上述步骤(2)和(3),直到所有散点插入完毕,完成三角化网格生成。

作为本方案的优选:步骤三的优化的voronoi图的生成方法为:

(5)、输入三角化网格,依次遍历三角形链表,计算三角形外心,当为钝角三角形或直角三角形时,计算三角形的形心;

(6)、依次遍历平面点集,判断是否为边界点,如果是则执行步骤(8);否则执行步骤(7);

(7)、搜索三角形链表,找到顶点包含该点的所有三角形,按照顺时针依次连接外心或形心,生成优化的voronoi图单元;

(8)、针对边界点,找到包含该点的三角形和边界边,计算出边界边中点,按照顺时针依次连接边界边中点和外心或形心,生成优化的voronoi图单元;

(9)、循环执行上述步骤(6)、(7)、(8),直到平面点集为空,生成优化的voronoi图。

作为本方案的优选:步骤四中的优化的voronoi图内的网格单元类型分为内部五边形网格单元、内部六边形网格单元、内部七边形网格单元、边界五边形网格单元、边界六边形网格单元、边界七边形网格单元;

针对于内部多边形网格单元的剖分方法为:

(9)、以内部六边形网格单元为例,首先在内部六边形网格单元的中心p建立一个中心圆;

(10)、依次计算p到内部六边形网格单元顶点(a、c、e、g、i、k)和边中点(b、d、f、h、j、l)连线与圆的交点(a,b,c,d,e,f,g,h,i,j,k,l),然后依次连接交点,网格单元顶点和边中点连线的中点,删除中心圆,构成由交点(a,b,c,d,e,f,g,h,i,j,k,l)组成的中心多边形;

(11)、根据结构网格剖分原则,对中心多边形进行剖分,即对应边点数相同,进行点分配,找到四个角点(c、f、i、l),然后连接其余对应点(b→g、a→h、k→d、j→e);

(12)、对于内部五边形网格单元和内部七边形网格单元的剖分,其前两步与内部六边形单元剖分步骤相同,只是中心圆交点个数不同,因此中心多边形边数不同,内部五边形网格单元的中心多边形为十边形,内部七边形网格单元的中心多边形为十四边形;同样根据结构网格剖分原则对中心多边形进行剖分,找四个角点,然后对应连接其余各点;

针对于边界多边形网格方法的剖分方法为:

(13)、以边界六边形网格单元为例:首先以顶点h为圆心建立一个中心圆;

(14)、计算h到边界六边形网格单元其余顶点(a、c、e、g、i)和边中点(b、d、f、j)连线与圆的交点(a、b、c、d、e、f、g、i、j);然后依次连接交点,网格单元顶点和边中点连线的中点,删除中心圆,构成中心多边形;

(15)、根据结构网格剖分原则对中心多边形进行剖分,选取四个角点,b、d、g、i,然后对应连接其余各点(c→h、e→a、f→j);

(16)、对于边界五边形网格单元和边界七边形网格单元的剖分步骤,其前两步与边界六边形网格单元剖分步骤相同,只是中心圆交点个数不同,边界五边形网格单元的中心多边形为八边形,边界七边形网格单元的中心多边形为十二边形;同样根据结构网格剖分原则对中心多边形进行剖分,找到四个角点,然后对应连接其余的点。

本方案的有益效果可根据对上述方案的叙述得知,本发明可以实现复杂区域的结构网格自动生成,并且拥有高的计算精度,与传统方法相比减少了对人的依赖。delauny三角化技术是一种比较成熟的非结构网格剖分技术,针对复杂区域能实现高效、快速的生成自适应和局部加密的高质量网格。本方法采用了三角化网格作为背景网格,因此也能够实现网格的自适应和局部加密。

由此可见,本发明与现有技术相比,具有实质性特点和进步,其实施的有益效果也是显而易见的。

附图说明

图1为本发明中优化的voronoi图的示意图。

图2为内部六边形网格单元的剖分流程示意图。

图3为边界六边形网格单元的剖分流程示意图。

图4为本发明生成的结构网格的示意图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

实施例:

本发明以已有的delaunay三角化技术为基础来生成结构网格。首先,读入模型数据,取得计算区域的离散点集和边界信息;其次,对计算区域进行delaunay三角剖分;然后,利用三角网格生成过渡网格:优化的voronoi图;最后判断过渡网格单元类型,采用中心圆方法对网格单元进行剖分,生成结构网格。

下面参照附图来详细阐述具体实施方式:

首先,通过特定的数据接口,读取模型的数据文件,然后对数据文件进行解析,进而提取到计算区域的离散点集和边界信息,将其存储在相应的数据结构中,用于下一步的输入。

生成三角化网格:

(1)、输入计算区域离散点集和边界信息,构造一个超级三角形,包含所有离散点,放入三角形链表;

(2)、将点集中的离散点依次插入,在三角形链表中找出外接圆包含插入点的三角形,称为该点的影响三角形;删除影响三角形的公共边,将输入点同影响三角形的全部顶点连接起来,完成一个delaunay三角形链表中的插入;

(3)、根据优化准则对局部新形成的三角形优化,将形成的三角形放入delaunay三角形链表;

(4)、循环执行上述步骤(2)和(3),直到所有散点插入完毕,完成三角化网格生成。

利用三角网格生成过渡网格:优化的voronoi图:

过渡网格是由voronoi图优化而来。voronoi图是连接delaunay三角形的外心生成的。delaunay算法能对复杂边界进行高质量的三角剖分,但还是会生成一些满足外接圆准则的质量很差的薄元三角形,外心在三角形的外部,导致voronoi图与边界相交;当三角形单元为接近直角三角形时,外心将会非常靠近直角边,导致voronoi图生成短边。为了提高网格质量,针对两种情形解决办法是,使用三角形的形心代替外心。因此不在具备voronoi图的性质,所以取名为优化的voronoi图,如图1所示。

具体生成方法为:

(5)、输入三角化网格,依次遍历三角形链表,计算三角形外心,当为钝角三角形或直角三角形时,计算三角形的形心;

(6)、依次遍历平面点集,判断是否为边界点,如果是则执行步骤(8);否则执行步骤(7);

(7)、搜索三角形链表,找到顶点包含该点的所有三角形,按照顺时针依次连接外心或形心,生成优化的voronoi图单元;

(8)、针对边界点,找到包含该点的三角形和边界边,计算出边界边中点,按照顺时针依次连接边界边中点和外心或形心,生成优化的voronoi图单元;

(9)、循环执行上述步骤(6)、(7)、(8),直到平面点集为空,生成优化的voronoi图。

判断过渡网格单元类型,采用中心圆方法对网格单元进行剖分:

delaunay三角剖分生成背景网格时,由于没有严格的拓扑要求,每个点邻接的三角形单元个数不一致,导致过渡网格单元有多种类型,大致分为内部五边形网格单元、内部六边形网格单元、内部七边形网格单元、边界五边形网格单元、边界六边形网格单元、边界七边形网格单元。其中大部分为质量较好的内部六边形网格单元,边界六边形网格单元。使用中心圆方法进行结构网格剖分时,针对不同的网格单元类型需要采取不同的剖分策略,但是大致步骤是相同的。

对于内部多边形网格单元(包含单元点集)的剖分方法:

以内部六边形网格单元剖分方法为例:

如图2(a),首先在单元的中心p建立一个中心圆;

如图2(b),依次计算p到内部六边形网格单元顶点(a、c、e、g、i、k)和边中点(b、d、f、h、j、l)连线与圆的交点(a,b,c,d,e,f,g,h,i,j,k,l),然后依次连接交点,网格单元顶点和边中点连线的中点,删除中心圆,构成由交点(a,b,c,d,e,f,g,h,i,j,k,l)组成的中心多边形;

如图2(c),根据结构网格剖分原则,对中心多边形进行剖分,即对应边点数相同,进行点分配,找到四个角点(c、f、i、l),然后连接其余对应点(b→g、a→h、k→d、j→e)。

对于内部五边形网格单元和内部七边形网格单元的剖分,其前两步与内部六边形单元剖分步骤相同,只是中心圆交点个数不同,因此中心多边形边数不同,内部五边形网格单元的中心多边形为十边形,内部七边形网格单元的中心多边形为十四边形;同样根据结构网格剖分原则对中心多边形进行剖分,找四个角点,然后对应连接其余各点。

对于边界多边形网格单元(包含单元点集)的剖分方法:

以边界六边形网格单元为例:

如图3(a),首先以顶点h为圆心建立一个中心圆;

如图3(b),计算h到边界六边形网格单元其余顶点(a、c、e、g、i)和边中点(b、d、f、j)连线与圆的交点(a、b、c、d、e、f、g、i、j);然后依次连接交点,网格单元顶点和边中点连线的中点,删除中心圆,构成中心多边形;

如图3(c),根据结构网格剖分原则对中心多边形进行剖分,选取四个角点,b、d、g、i,然后对应连接其余各点(c→h、e→a、f→j)。

对于边界五边形网格单元和边界七边形网格单元的剖分步骤,其前两步与边界六边形网格单元剖分步骤相同,只是中心圆交点个数不同,边界五边形网格单元的中心多边形为八边形,边界七边形网格单元的中心多边形为十二边形;同样根据结构网格剖分原则对中心多边形进行剖分,找到四个角点,然后对应连接其余的点。

通过上述步骤最终生成所需的结构网格图。(如图4)

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

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