System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于任意多面体网格的宿主单元搜索方法技术_技高网

用于任意多面体网格的宿主单元搜索方法技术

技术编号:44003876 阅读:3 留言:0更新日期:2025-01-10 20:20
本发明专利技术涉及计算流体力学技术领域,具体公开了一种用于任意多面体网格的宿主单元搜索方法,包括:构造任意多面体网格单元的单元中心到插值节点的矢量,获得第一构造矢量;根据所述第一构造矢量与各个多边形面单元之间的位置关系判断该插值节点是否在任意多面体网格单元内;若该插值节点在任意多面体网格单元内,则确定任意多面体网格单元为该插值节点的宿主单元;若未在,则根据第一构造矢量穿过多边形面单元确定宿主单元的搜索路径;将搜索路径上所有网格单元均与插值节点进行位置关系判断,直至搜索到插值节点的宿主单元。本发明专利技术提供的用于任意多面体网格的宿主单元搜索方法能够实现对任意多面体网格的宿主单元的搜索。

【技术实现步骤摘要】

本专利技术涉及计算流体力学,尤其涉及一种用于任意多面体网格的宿主单元搜索方法


技术介绍

1、插值计算在计算流体力学(computational fluid dynamics,简称cfd)中扮演着关键角色,广泛应用于cfd数值模拟的各个阶段。在cfd计算方法中,涉及多重网格和自适应网格算法时,需要将流场变量在多个网格直接进行插值传递。在多体相对运动问题数值模拟中,通常采用多参考坐标系方法、滑移网格方法、重叠网格方法,在这些方法的多计算网格耦合计算过程中,也会频繁进行流场变量的插值传递。与此同时,插值计算的精度直接影响数值计算的准确性和稳定性,而插值点宿主单元搜索的正确性对于插值计算又是至关重要的,如果插值点的宿主单元找错了,再高保真的插值型函数构造都无法保证插值计算精度。

2、在cfd计算中,用到插值计算的场合通常会遭遇网格分辨率不同或者网格类型不同,这都会给插值点的宿主单元搜索带来挑战。此外,宿主单元搜索的鲁棒性也是非常重要的,尤其是在cfd非定常计过程中,由于每个时刻存在网格运动或者网格疏密分布变化,每个时刻都需要重新进行宿主单元搜索,而只要有一个时刻出现宿主单元搜索失败,就会导致整个计算中断,这对于非定常计算是不可接受的,由此可见宿主单元搜索的鲁棒性和正确性同样重要。

3、宿主单元就是插值计算过程中插值点所在的网格单元,宿主单元搜索就是在对应网格中,找到插值点位于哪个网格单元内的过程。宿主单元搜索都会存在一个搜索的起始单元,通常插值点不会位于起始单元内,从起始单元开始,然后按照一定的搜索规则,逐个判断插值点与当前单元的位置关系,直到找到插值点的宿主单元。

4、cfd计算中,随着几何模型和数值模拟的问题越来越复杂,生成高质量的结构化计算网格难度越来越大。工程中越来越多采用任意多面体非结构化网格,其具有适应性强、网格生成自动化程度高的优势,cfd计算中,常见的任意多面体网格包括蜂窝状任意多面体网格和切割体网格。此外,部分处理方式中也将笛卡尔网格中的过渡单元也视为任意多面体网格处理。任意多面体网格方便了网格生成,但是对插值点宿主单元搜索的正确性和鲁棒性提出了更高的要求。由于任意多面体网格单元的面数和点数都远多于常规网格单元(四面体、六面体、三棱柱、四棱锥)。任意多面体网格单元的面之间的夹角范围更加宽泛,角度过大或者过小都不利于判断点与单元位置关系,并且单元的面上网格点数更多,会导致面上的网格点不保证严格共面,这时候可能出现凹面体网格单元,会给点与单元位置关系判断带来巨大挑战,进而给宿主单元搜索带来困难。

5、因此,如何提供一种适用于任意多面体网格的宿主单元搜索方法成为本领域技术人员亟待解决的技术问题。


技术实现思路

1、本专利技术提供了一种用于任意多面体网格的宿主单元搜索方法,解决相关技术中存在的无法实现多面体网格的宿主单元搜索的问题。

2、作为本专利技术的第一个方面,提供一种用于任意多面体网格的宿主单元搜索方法,其中,包括:

3、构造任意多面体网格单元的单元中心到插值节点的矢量,获得第一构造矢量;

4、根据所述第一构造矢量与任意多面体网格单元的各个多边形面单元所在平面之间的位置关系判断该插值节点是否在所述任意多面体网格单元内;

5、若该插值节点在所述任意多面体网格单元内,则确定该任意多面体网格单元为该插值节点的宿主单元;

6、若该插值节点未在所述任意多面体网格单元内,则根据所述第一构造矢量穿过该任意多面体网格单元的多边形面单元确定宿主单元的搜索路径;

7、将所述宿主单元的搜索路径上的所有网格单元均与所述插值节点进行位置关系判断,直至搜索到所述插值节点的宿主单元。

8、进一步地,根据所述第一构造矢量与任意多面体网格单元的各个多边形面单元所在平面之间的位置关系判断该插值节点是否在所述任意多面体网格单元内,包括:

9、判断任意多面体网格单元是否存在格点数大于预设格点数阈值的多边形面单元;

10、针对任意多面体网格单元中格点数大于预设格点数阈值的多边形面单元进行全三角形拆分,获得该格点数大于预设格点数阈值的多边形面单元的多个三角形面单元;

11、根据所述第一构造矢量与该多边形面单元的每个三角形面单元所在平面进行位置关系判断,获得插值节点与该多边形面单元的每个三角形面单元所在平面的位置关系;

12、针对任意多面体网格单元中格点数不大于预设格点数阈值的多边形面单元,将所述第一构造矢量与该格点数不大于预设格点数阈值的多边形面单元进行位置关系判断,获得插值节点与该格点数不大于预设格点数阈值的多边形面单元的位置关系;

13、根据所述插值节点与该多边形面单元的每个三角形面单元的位置关系和/或插值节点与该格点数不大于预设格点数阈值的多边形面单元的位置关系确定插值节点与该任意多面体网格单元的位置关系。

14、进一步地,针对任意多面体网格单元中格点数大于预设格点数阈值的多边形面单元进行全三角形拆分,获得该格点数大于预设格点数阈值的多边形面单元的多个三角形面单元,包括:

15、确定格点数大于预设格点数阈值的多边形面单元的最大内角所在格点;

16、以最大内角所在格点为顶点,将该顶点连接至与该顶点不相连接的所有格点,获得该格点数大于预设格点数阈值的多边形面单元的多个三角形面单元。

17、进一步地,根据所述第一构造矢量与该多边形面单元的每个三角形面单元所在平面进行位置关系判断,获得插值节点与该多边形面单元的每个三角形面单元所在平面的位置关系,包括:

18、计算该格点数大于预设格点数阈值的多边形面单元的每个三角形面单元所在平面的面法矢;

19、构造任意多面体网格单元的单元中心到每个三角形面单元上任一格点的矢量,获得第二构造矢量;

20、计算所述第一构造矢量和所述第二构造矢量在当前三角形面单元所在平面的面法矢上的投影比值;

21、根据所述投影比值确定插值节点与该三角形面单元所在平面的位置关系。

22、进一步地,根据所述第一构造矢量穿过该任意多面体网格单元的多边形面单元确定宿主单元的搜索路径,包括:

23、判断所述第一构造矢量与该任意多面体网格单元的多边形面单元所在平面是否存在交点;

24、若所述第一构造矢量与该任意多面体网格单元的多边形面单元所在平面存在交点,则根据该交点与任意多面体网格单元的多边形面单元的位置关系判断所述第一构造矢量是否穿过该任意多面体网格单元的多边形面单元,以确定宿主单元的搜索路径。

25、进一步地,若所述第一构造矢量与该任意多面体网格单元的多边形面单元所在平面存在交点,根据该交点与任意多面体网格单元的多边形面单元的位置关系确定宿主单元的搜索路径,包括:

26、若所述第一构造矢量与该任意多面体网格单元的多边形面单元所在平面存在交点,则记录存在交点的多边形面单元所在平面中的多边形面单元以及对应的交本文档来自技高网...

【技术保护点】

1.一种用于任意多面体网格的宿主单元搜索方法,其特征在于,包括:

2.根据权利要求1所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,根据所述第一构造矢量与任意多面体网格单元的各个多边形面单元所在平面之间的位置关系判断该插值节点是否在所述任意多面体网格单元内,包括:

3.根据权利要求2所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,针对任意多面体网格单元中格点数大于预设格点数阈值的多边形面单元进行全三角形拆分,获得该格点数大于预设格点数阈值的多边形面单元的多个三角形面单元,包括:

4.根据权利要求2所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,根据所述第一构造矢量与该多边形面单元的每个三角形面单元所在平面进行位置关系判断,获得插值节点与该多边形面单元的每个三角形面单元所在平面的位置关系,包括:

5.根据权利要求1至4中任意一项所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,根据所述第一构造矢量穿过该任意多面体网格单元的多边形面单元确定宿主单元的搜索路径,包括:

6.根据权利要求5所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,若所述第一构造矢量与该任意多面体网格单元的多边形面单元所在平面存在交点,根据该交点与任意多面体网格单元的多边形面单元的位置关系确定宿主单元的搜索路径,包括:

7.根据权利要求6所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,将记录的存在交点的多边形面单元所在平面中的多边形面单元每条边逐个与交点进行位置关系判断,以确定交点是否位于该多边形面单元内,包括:

8.根据权利要求7所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,在所述投影平面中判断投影交点与投影多边形面单元的位置关系,以确定交点是否位于多边形面单元内,包括:

9.根据权利要求8所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,根据平行射线法判断投影交点与投影多边形面单元的每条边的位置关系,包括:

10.根据权利要求6所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,根据记录的多边形面单元的编号以及任意多面体网格单元的网格拓扑信息获取与该多边形面单元共面的另一侧相邻单元,并将另一侧相邻单元作为下一个目标网格单元,重复宿主单元的搜索过程直至确定插值节点的宿主单元,包括:

...

【技术特征摘要】

1.一种用于任意多面体网格的宿主单元搜索方法,其特征在于,包括:

2.根据权利要求1所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,根据所述第一构造矢量与任意多面体网格单元的各个多边形面单元所在平面之间的位置关系判断该插值节点是否在所述任意多面体网格单元内,包括:

3.根据权利要求2所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,针对任意多面体网格单元中格点数大于预设格点数阈值的多边形面单元进行全三角形拆分,获得该格点数大于预设格点数阈值的多边形面单元的多个三角形面单元,包括:

4.根据权利要求2所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,根据所述第一构造矢量与该多边形面单元的每个三角形面单元所在平面进行位置关系判断,获得插值节点与该多边形面单元的每个三角形面单元所在平面的位置关系,包括:

5.根据权利要求1至4中任意一项所述的用于任意多面体网格的宿主单元搜索方法,其特征在于,根据所述第一构造矢量穿过该任意多面体网格单元的多边形面单元确定宿主单元的搜索路径,包括:

6.根据权利要求5所述的用于任意多面体网格的宿主单元搜索方法...

【专利技术属性】
技术研发人员:金奕星张亚英吴乘胜严伟王墨伟
申请(专利权)人:中船奥蓝托无锡软件技术有限公司
类型:发明
国别省市:

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

1