一种多分区结构化网格的生成方法

文档序号:10697660阅读:931来源:国知局
一种多分区结构化网格的生成方法
【专利摘要】本发明公开了一种多分区结构化网格的生成方法,步骤为:建立所有网格待生成分区的集合;确定起始分区;对当前分区的六个面分别进行结构化网格的生成,获得当前分区的结构化面网格,并生成当前分区的结构化体网格;根据当前分区已生成结构化网格的面F[0],找到与该面的四个顶点相重合的面所在的相邻分区,在其相邻分区的F[0]面上生成结构化网格;将相邻分区视为当前分区,重复上一步,直至分区边界;依序对起始分区的其余五个面重复以上步骤;遍历所有分区的所有面,若所有面上都生成结构化网格则转入下一步;否则,重复以上步骤;根据各个分区的面网格在其分区内部生成结构化体网格。本发明提高了整个计算域分区中结构化网格的质量。
【专利说明】
一种多分区结构化网格的生成方法
技术领域
[0001 ]本发明涉及一种计算机辅助工程(CAE)、计算流体力学(CFD)和数值模拟软件技术,具体涉及计算流体力学中多分区流场的结构化网格生成方法。
【背景技术】
[0002]网格生成技术是流体力学数值模拟中的关键技术之一,直接影响数值计算的收敛性,决定着数值计算结果最终的精度及计算过程的效率。由于工程上所遇到的流动和传热问题大多发生在复杂区域内,因而不规则区域内网格的生成是计算流体力学和计算传热学中的一个重要的研究领域。
[0003]从总体上来说,流动和传热问题数值计算中采用的网格大致可分为结构化网格和非结构化网格,由于结构化网格具有网格生成速度快、质量好、数据结构简单,以及对空间曲面采用参数化或样条插值的方法拟合出的区域光滑,与实际的模型更容易接近等优点,结构化网格被广泛地采用。
[0004]在实际数值模拟过程中,针对复杂区域的网格生成必不可少,如计算区域不规则、边界过于弯曲、光滑程度差等,CFD工作者发展了分区网格和分区计算方法,采用这种方法时,首先根据整体外形特点把整个求解区域划分成几个子区域,每一子区域都用常规的结构化网格来离散,通常各区域中的离散方程都各自分别求解。其优点是降低了网格生成的难度;可以在不同的区域选取不同的网格密度;便于采用并行算法来求解各块中的代数方程。
[0005]采用多分区结构化网格生成方法在对复杂区域生成网格时,其问题在于:(1)对所有分割块生成的网格难以形成统一的编号,使得数值模拟程序必须设计成能够进行多块计算的形式,这无疑会增加较多的程序设计工作量;(2)即使将多个分割块形成统一的编号进行整体计算,但由于块与块之间交界面上的网格往往变得很不光滑,从而对计算精度有较大影响。本发明所阐述的方法对所有分区的网格面进行了统一编号,并能够使分区交界面上的网格连续光滑地过渡,从而提高网格的整体质量和数值计算的精度。

【发明内容】

[0006]本发明的目的是提供一种多分区结构化网格的生成方法,以解决现有多分区结构化网格生成技术所造成分区交界面上网格不光滑的问题。
[0007]为实现上述目的,本发明采用以下技术方案:
[0008]一种多分区结构化网格的生成方法,包括以下步骤:
[0009 ]步骤一:建立所有网格待生成分区的集合;
[00?0]步骤二:确定一个起始分区;
[0011 ]步骤三:对选取的当前分区的六个面F[i],其中i = 0,l,2,3,4,5,分别进行结构化网格的生成,获得当前分区的结构化面网格,并生成当前分区的结构化体网格;
[0012]步骤四:根据当前分区已生成结构化网格的面F[0],找到与该面的四个顶点相重合的面所在的相邻分区,利用无限插值法,在此相邻分区的F[0]面上生成结构化网格;
[0013]步骤五:将相邻分区视为当前分区,重复步骤四,直至分区边界;
[0014]步骤六:依序对起始分区的其余五个面F[i],其中i= l,2,3,4,5,重复步骤四和步骤五;
[0015]步骤七:遍历所有分区的所有面,若所有面上都生成结构化网格则转入步骤八;否贝IJ,重复步骤二到步骤六;
[0016]步骤八:利用无限插值法,根据各个分区的面网格在其分区内部产生结构化体网格,网格产生工作结束。
[0017]步骤二中确定起始分区的情况分为以下五种:
[0018](I)某个分区中已存在结构化体网格,则指定该分区为起始分区,执行步骤四至步骤八;
[0019](2)某个分区的面上已存在结构化网格,则指定该分区为起始分区,执行步骤三至步骤八;
[0020](3)某个分区的边上已存在网格节点,则指定该分区为起始分区,执行步骤三至步骤八;
[0021](4)某个分区的边上已规定网格定义,则指定该分区为起始分区,执行步骤三至步骤八;
[0022](5)不存在任何网格信息,则指定集合中的第一个分区为起始分区,执行步骤二至步骤八;
[0023]这五种情况的优先级顺序为(I)?(5)。
[0024]步骤四中,在相邻分区的F[0]面上生成结构化网格的步骤为:
[0025](I)搜索当前分区的六个相邻分区,找到与当前分区的F[0]面上的四个顶点相重合的面所在的分区即为要找的相邻分区,若此相邻分区不存在,转入步骤六;
[0026](2)搜索该相邻分区的六个面,找到与当前分区F[0]面的法向相同且远离当前分区F[0]面的面,即相邻分区的F[0]面,记为0ΡΡ[0]面;
[0027](3)若0ΡΡ[0]面上没有网格,则利用无限插值法在此面上生成结构化网格;若OPP
[O]面上已存在结构化网格,则转入步骤五。
[0028]步骤五中分区边界包括:
[0029](I)当前分区位于分区集合的边界;
[0030](2)当前分区的相邻分区的F[0]面,S卩0ΡΡ[0]面上存在已生成的网格。
[0031]本发明中,从计算域分区内的其中一个子分区开始生成网格,由点到面式地拓展到整个计算域多分区。
[0032]本发明中,分区边界上的节点数和节点排列方式通过程序输入,实现对网格的修改和控制。
[0033]本发明的有益效果是:通过先由子分区网格化再向其周围分区拓展的方法来避免相邻子区交界面上网格节点数目和网格分布情况不匹配的情况,保证了各个子分区之间网格块的节点信息准确无误地传递,从而使分区交界面上的网格能够光滑地过渡,大大提高整个计算域分区中结构化网格的质量。
【附图说明】
[0034]图1为本发明方法的流程图;
[0035]图2为确定起始分区的不意图;
[0036]图3为与当前分区F[0]面对应的相邻分区的示意图;
[0037]图4为重新确立当前分区的示意图;
[0038]图5a和5b为步骤五中的分区边界的示意图。
【具体实施方式】
[0039]下面结合附图和【具体实施方式】,对本发明做更进一步的说明,使本发明的特征和优点更加清楚。
[0040]如图1所示为本发明的一种多分区结构化网格的生成方法,包括如下步骤:
[0041]步骤一:建立所有网格待生成分区的集合;
[0042]步骤二:确定一个起始分区。如图2所示,A块上已存在结构化体网格,所以确定A块为起始分区;
[0043]步骤三:对选取的当前分区的六个面F[i],其中i= 0,l,2,3,4,5,分别进行结构化网格的生成,获得当前分区的结构化面网格,并利用无限插值法生成当前分区的结构化体网格,图2中A块上已存在体网格,此步骤可省略;
[0044]步骤四:根据当前分区已生成结构化网格的面F[0],判断是否存在与该面的四个顶点相重合的面所在的相邻分区;
[0045]若不存在,即如图5a所示,当前分区已处于整个计算域的边界。这时,转入步骤六;
[0046]若存在,利用无限插值法,在其相邻分区的F[0]面上生成结构化网格,具体操作如下:
[0047](I)搜索当前分区的六个相邻分区,找到与当前分区的F[0]面上的四个顶点相重合的面所在的分区即为要找的相邻分区;
[0048](2)搜索该相邻分区的六个面,找到与当前分区F[0]面的法向相同且远离当前分区F[0]面的面,即相邻分区的F[0]面,记为0ΡΡ[0]面;
[0049](3)判断0ΡΡ[0]面上是否已存在结构化网格:
[0050]若0ΡΡ[0]面上没有网格,则利用无限插值法在此面上生成结构化网格。如图3所示,与A块的F[0]面四个顶点相重合的面所在的相邻分区为B块,B块的F[0]面记为0ΡΡ[0]面,此面上没有网格,所以利用无限插值法在该面上生成结构化网格;
[0051]若0ΡΡ[0]面上存在结构化网格,但非之前步骤所生成的网格,则转入步骤五。
[0052]步骤五:将相邻分区视为当前分区,重复步骤四,直至分区边界。如图4所示,把B块视为当前分区,找到与B块F[0]面四个顶点相重合的面所在的相邻分区,S卩C块,找到C块的F
[O]面,S卩0ΡΡ[0]面,利用无限插值法在该0ΡΡ[0]面上产生网格。
[0053]若0ΡΡ[0]面上存在已生成的结构化网格,如图5b所示,C块为当前分区,其相邻分区为D块,此时D块处于分区边界,利用无限插值法,在D块的F[0]面,S卩0ΡΡ[0]面上生成网格。将D块视为当前分区时,其相邻分区为A块,而A块的F[0]面,S卩0ΡΡ[0]面上已存在已生成的结构化网格,即其网格在A块中已经产生,此时F [ O ]方向的网格生成完毕,转入步骤六;
[0054]步骤六:依序对起始分区的其余五个面F[i],其中i= l,2,3,4,5,重复步骤四和步骤五;
[0055]步骤七:遍历所有分区的所有面,若所有面上都生成结构化网格则转入步骤八;否贝IJ,重复步骤二到步骤六;
[0056]步骤八:利用无限插值法,根据各个分区的面网格在其分区内部产生结构化体网格,网格产生工作结束。
[0057]本发明提供了一种多分区结构化网格整体生成的方法,具体实现该技术方案的方法和途径很多,以上所述仅提供了一般情况下的实施方式。分区边界上的节点数和节点的排列方式可以由程序指定,实现对网格的控制和修改。本实施例中未明确的组成部分均可用现有技术加以实现。
【主权项】
1.一种多分区结构化网格的生成方法,其特征在于:包括以下步骤: 步骤一:建立所有网格待生成分区的集合; 步骤二:确定一个起始分区; 步骤三:对选取的当前分区的六个面F[ i ],其中1 = 0,1,2,3,4,5,分别进行结构化网格的生成,获得当前分区的结构化面网格,并生成当前分区的结构化体网格; 步骤四:根据当前分区已生成结构化网格的面F[0],找到与该面的四个顶点相重合的面所在的相邻分区,利用无限插值法,在此相邻分区的F[0]面上生成结构化网格; 步骤五:将相邻分区视为当前分区,重复步骤四,直至分区边界; 步骤六:依序对起始分区的其余五个面F[i],其中i = l ,2,3,4,5,重复步骤四和步骤五; 步骤七:遍历所有分区的所有面,若所有面上都生成结构化网格则转入步骤八;否则,重复步骤二到步骤六; 步骤八:利用无限插值法,根据各个分区的面网格在其分区内部产生结构化体网格,网格产生工作结束。2.根据权利要求1所述的多分区结构化网格的生成方法,其特征在于:步骤二中确定起始分区的情况分为以下五种: (1)某个分区中已存在结构化体网格,则指定该分区为起始分区,执行步骤四至步骤八; (2)某个分区的面上已存在结构化网格,则指定该分区为起始分区,执行步骤三至步骤八; (3)某个分区的边上已存在网格节点,则指定该分区为起始分区,执行步骤三至步骤八; (4)某个分区的边上已规定网格定义,则指定该分区为起始分区,执行步骤三至步骤八; (5)不存在任何网格信息,则指定集合中的第一个分区为起始分区,执行步骤二至步骤八; 这五种情况的优先级顺序为(I)?(5)。3.根据权利要求1所述的多分区结构化网格的生成方法,其特征在于:步骤四中,在相邻分区的F[0]面上生成结构化网格的步骤为: (1)搜索当前分区的六个相邻分区,找到与当前分区的F[0]面上的四个顶点相重合的面所在的分区即为要找的相邻分区,若此相邻分区不存在,转入步骤六; (2)搜索该相邻分区的六个面,找到与当前分区F[0]面的法向相同且远离当前分区F[O]面的面,即相邻分区的F[0]面,记为0ΡΡ[0]面; (3)若0ΡΡ[0]面上没有网格,则利用无限插值法在此面上生成结构化网格;若0ΡΡ[0]面上已存在结构化网格,则转入步骤五。4.根据权利要求1所述的多分区结构化网格的生成方法,其特征在于:步骤五中分区边界包括: (1)当前分区位于分区集合的边界; (2)当前分区的相邻分区的F[0]面,S卩0ΡΡ[0]面上存在已生成的网格。5.根据权利要求1所述的多分区结构化网格的生成方法,其特征在于:从计算域分区内的其中一个子分区开始生成网格,由点到面式地拓展到整个计算域多分区。6.根据权利要求1所述的多分区结构化网格的生成方法,其特征在于:分区边界上的节点数和节点排列方式通过程序输入,实现对网格的修改和控制。
【文档编号】G06F17/50GK106066912SQ201610372959
【公开日】2016年11月2日
【申请日】2016年5月31日 公开号201610372959.7, CN 106066912 A, CN 106066912A, CN 201610372959, CN-A-106066912, CN106066912 A, CN106066912A, CN201610372959, CN201610372959.7
【发明人】岳孟赫, 刘勇, 刘闯
【申请人】南京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1