适用多套复杂网格耦合CFD计算的高效宿主单元搜索方法技术

技术编号:32182305 阅读:16 留言:0更新日期:2022-02-08 15:44
本发明专利技术提出了一种适用多套复杂网格耦合CFD计算的高效宿主单元搜索方法,包括以下步骤:S1,提出重心坐标的概念,根据当前节点与当前判断单元的重心坐标确定节点与单元的位置关系,并给出搜索方向;S2,计算节点与单元的重心坐标时,任意多面体单元一个面内存在多于3个网格点的情况下,对面内节点进行染色标记,确保每次计算时,3点确定一个平面中至少有一个网格点是此前未采用的;S3,对于个别单元形式异常复杂的网格单元,计算节点与单元的重心坐标时,对当前单元的面内和面外节点进行染色标记;S4,根据已完成搜索的宿主单元信息,优化未开始搜索节点的搜索起始单元,提高搜索效率。本发明专利技术能够大幅提高复杂计算网格中宿主单元搜索的鲁棒性和搜索效率。元搜索的鲁棒性和搜索效率。元搜索的鲁棒性和搜索效率。

【技术实现步骤摘要】
适用多套复杂网格耦合CFD计算的高效宿主单元搜索方法


[0001]本专利技术涉及计算流体力学领域,尤其涉及一种适用多套复杂网格耦合CFD计算的高效宿主单元搜索方法。

技术介绍

[0002]随着CFD技术的发展,流体力学数值模拟的问题越来越复杂,在多体相对运动问题的数值模拟中,经常会采用多参考坐标系方法、滑移网格方法、重叠网格方法等多套网格耦合计算技术,其中都要进行计算网格的宿主单元搜索操作。
[0003]对于上述几种常用的处理多体相对运动的CFD计算方法,宿主单元搜索的正确性是至关重要的,插值点只有找到了正确的宿主单元,才能正确的进行各计算域之间流场进行的传递,进而实现多计算域网格耦合计算。此外,宿主单元搜索的鲁棒性也是非常重要的,尤其是滑移网格方法和重叠网格方法这类非定常计算方法。在非定常计算过程中,网格是存在相对运动的,网格每次运动后,都需要重新进行宿主单元搜索,网格的相对运动会增加域之间连接单元情况的复杂性,增大搜索难度,并且增加了宿主单元搜索的频率,而只要有一次宿主单元搜索失败就会导致整个计算中断,这对于非定常计算是不可接受的。由此可见宿主单元搜索的鲁棒性和正确性同样重要。
[0004]CFD计算中,随着几何模型越来越复杂,生成高质量的计算网格难度越来越大,并且采用的网格划分方式越来越多样性,这无疑对宿主单元搜索的鲁棒性和正确性提出了更高的要求。目前,复杂单元形式计算网格中,尤其是采用切割单元法结合贴体棱柱层的任意多面体网格中,传统的宿主单元搜索方法在搜索过程中会出现搜索不到宿主单元或者循环搜索的问题。上述宿主单元搜索鲁棒性问题是不可接受的,迫切需要一种能够处理复杂计算网格的多元化网格单元形式,同时具备良好的搜索鲁棒性和搜索效率。

技术实现思路

[0005]本专利技术旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种适用多套复杂网格耦合CFD计算的高效宿主单元搜索方法。
[0006]为了实现本专利技术的上述目的,本专利技术提供了一种适用多套复杂网格耦合CFD计算的高效宿主单元搜索方法,包括以下步骤:
[0007]S1,通过计算节点与单元的重心坐标确定节点与单元的位置关系,并给出搜索方向;宿主单元搜索过程中,若出现单元被重复搜索,则单元重复搜索次数加一;判断节点是否在单元内,若在,则找到宿主单元与单元的位置关系,若不在,则执行步骤S2;
[0008]S2,判断搜索过程中对搜索路径上的单元重复次数是否小于m次,若是则执行步骤S1,若否,则执行步骤S3;
[0009]S3,判断单元重复搜索次数是否大于n次,若是,执行步骤S4,若否,则计算节点与单元的重心坐标时采用染色标记法,每搜索一次,单元重复搜索次数加一;判断节点是否在单元内,若在,则找到宿主单元与单元的位置关系,若不在,则执行步骤S3;
[0010]S4,对于单元形式异常复杂的网格单元,计算节点与单元的重心坐标时采用双染色标记法,不仅对当前单元的面内节点进行染色标记,还对面外节点进行染色标记;每搜索一次,单元重复搜索次数加一;判断节点是否在单元内,若在,则找到宿主单元与单元的位置关系,若不在,则执行步骤S4;
[0011]S5,根据已完成搜索的宿主单元信息,优化未开始搜索节点的搜索起始单元即利用已完成搜索的宿主单元作为与该节点相连节点的搜索起始单元,提高搜索效率。
[0012]其中m∈{10,20,30,40},n=2m,m、n取的值越大,则会消耗更多搜索时长。
[0013]格点通常指构成网格单元的网格点,节点指需要找宿主单元的插值点。
[0014]进一步地,所述计算节点与单元的重心坐标包括:
[0015]S1

1,以K单元的第i个面外格点为顶点,向K单元的第i个面内三个格点做向量其中表示向量的向量混合积;
[0016]S1

2,以节点为顶点,向K单元的第i个面内三个格点做向量则
[0017]S1

3,确定节点与单元之间空间关系的重心坐标,根据重心坐标确定搜索方向,其中重心坐标计算公式如下:
[0018][0019]其中K代表当前单元;
[0020]对于二维的单元来说,β
i
就是节点和单元关于边i的重心坐标;A
K
代表K单元的第i个边与边外的K单元任一个网格点构成的面积;代表节点与K单元的第i个边所构成的面积;
[0021]对于三维的单元来说,β
i
就是节点和单元关于面i的重心坐标;A
K
代表K单元的第i个面与面外的K单元任一个网格点构成几何体的体积;代表节点与K单元的第i个面所构成几何体的体积。
[0022]具体的有:以K单元i平面外格点为顶点,向面内三个格点做向量则同理求得以当前节点为顶点,向面内三个格点做向量则再计算得到β
i
,如此计算得到的β
i
是带符号的,其正负代表当前节点与当前单元K的位置关系。
[0023]其中表示向量的向量混合积。
[0024]对于A
K
和的计算通过空间解析几何,利用向量混合积的几何含义得到。
[0025]实际应用中以三维单元为主,重心坐标不是真的坐标,只是提出的一个概念,表示节点与单元各个面的位置关系,通过重心坐标确定节点与单元的位置关系。单元有多少个
面也就有多少个重心坐标值,根据重心坐标的正负号判断节点是否在单元内,正负代表当前节点与当前单元的位置关系,若重心坐标的值均为正则找到当前节点的宿主单元;如果只有一个重心坐标为负,则揭示了下一步搜索的方向。
[0026]进一步地,所述S3中的染色标记法包括:
[0027]在任意多面体网格中,网格单元某些面包含的网格格点数会大于3,理论上同一个单元面的网格点处于同一平面内,但是由于网格生成软件的数据误差或者网格输出数据误差,会导致这些网格点在数学上并不处在同一平面内。如果正在寻找宿主单元的节点在这个网格面附近,由于网格面的微小扭曲,会导致重心坐标结果失真,从而导致搜索方向在两个或者多个单元之间来回指向,最终无法确定该节点的宿主单元。
[0028]任意多面体网格中,网格单元有多个面,每个面形状无法预测的特点。而染色标记法则能解决这一问题:
[0029]从K单元的第i个面内的网格点中任选3个网格点确定网格单元平面,并对所选3个网格点按局部编号进行排序,比如任选取的网格点为P0,P4,P2,则按局部编号排序后为P0,P2,P4,判断该组合是否存在标记,如果存在则重新选取,如果不存在则对该组合进行标记group(P0,P2,P4)=color。
[0030]进一步地,所述的3个网格点中至少有一个网格点是此前未采用的。
[0031]进一步地,所述S4中的异常复杂的网格单元包括:
[0032]除了流体计算网格中常规的网格单元类型——四面体、六面体、三棱柱、四棱锥之外形状的单元,或者一个网格单元有10个以上的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适用多套复杂网格耦合CFD计算的高效宿主单元搜索方法,其特征在于,包括以下步骤:S1,通过计算节点与单元的重心坐标确定节点与单元的位置关系,并给出搜索方向;宿主单元搜索过程中,若出现单元被重复搜索,则单元重复搜索次数加一;判断节点是否在单元内,若在,则找到宿主单元,若不在,则执行步骤S2;S2,判断搜索过程中对搜索路径上的单元重复次数是否小于m次,若是则执行步骤S1,若否,则执行步骤S3;S3,判断单元重复搜索次数是否大于n次,若是,执行步骤S4,若否,则计算节点与单元的重心坐标时采用染色标记法,每搜索一次,单元重复搜索次数加一;判断节点是否在单元内,若在,则找到宿主单元,若不在,则执行步骤S3;S4,对于单元形式异常复杂的网格单元,计算节点与单元的重心坐标时采用双染色标记法,每搜索一次,单元重复搜索次数加一;判断节点是否在单元内,若在,则找到宿主单元,若不在,则执行步骤S4;S5,根据已完成搜索的宿主单元信息,优化未开始搜索节点的搜索起始单元。2.根据权利要求1所述的一种适用多套复杂网格耦合CFD计算的高效宿主单元搜索方法,其特征在于,所述计算节点与单元的重心坐标包括:S1

1,以K单元的第i个面外格点为顶点,向K单元的第i个面内三个格点做向量向量其中表示向量的向量混合积;S1

2,以节点为顶点,向K单元的第i个面内三个格点做向量则S1

3,确定节点与单元之间空间关系的重心坐标,根据重心坐标确定搜索方向,其中重心坐标计算公式如下:其中K代表当前单元;β
i
就是节点和单元关于面i的重心坐标;A
K
代表K单元的第i个面与面外的K单元任一...

【专利技术属性】
技术研发人员:金奕星吴乘胜王星王建春何术龙
申请(专利权)人:中船重工奥蓝托无锡软件技术有限公司
类型:发明
国别省市:

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

1