System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及流体力学,尤其涉及的是一种嵌套网格洞单元判定方法、装置、终端及介质。
技术介绍
1、在计算流体力学中,嵌套网格(又称重叠网格)方法在物体相对位移较大的场景或需要变化物体位置和方向的优化问题中得到了广泛的应用。网格是计算流体力学中用于离散化计算域的工具,嵌套网格是一种特殊的网格类型,它允许不同网格区块之间的重叠、嵌套或覆盖,从而降低了网格生成的难度。单元则是网格的基本组成元素,代表了计算域中的一个离散点或区域。嵌套网格方法需要将不同的网格单元标记为计算单元、插值单元和洞单元,这一过程称为嵌套网格的切割过程(又称装配过程)。多重嵌套网格是指三个及以上的网格参与切割过程,因此多重嵌套网格比仅涉及两个网格的切割过程更加复杂。计算单元是正常参与流场计算的单元;插值单元是单元的变量值由其他网格内的计算单元的变量值插值得到的单元;洞单元是不参与流场计算的单元。洞单元的判定是嵌套网格切割过程中十分重要的一环。
2、传统的洞单元判定方法是判断背景网格的各单元能否在部件网格内找到包含其单元中心的单元,若找不到,则该单元被判定为洞单元。判断一个单元是否包含一个点的过程需要将这个单元分解成多个四面体,然后再判断每个四面体是否包含这个点。因此,传统的洞单元判定方法的效率很低。
3、因此,现有技术存在缺陷,有待改进与发展。
技术实现思路
1、本申请提供了一种嵌套网格洞单元判定方法、装置、终端及介质,以解决相关技术中洞单元判定方法的效率很低的技术问题。
2、为实
3、一种嵌套网格洞单元判定方法,其中,所述方法包括:
4、确定目标计算域每个网格中不为预设类型边界的目标边界,基于所述目标边界构建每个网格的k维树;
5、确定当前网格中与所有所述目标边界不相交的若干第一单元,选取任意一个所述第一单元作为第一目标单元,基于各个所述k维树确定所述第一目标单元的洞单元判定结果;
6、基于所述第一目标单元的洞单元判定结果,通过扩散方法确定所述当前网格中所有第一单元的洞单元判定结果;
7、确定当前网格中与所有所述目标边界相交的若干第二单元,基于各个所述k维树确定所有所述第二单元的洞单元判定结果。
8、在本申请的一个实施例中,确定目标计算域每个网格中不为预设类型边界的目标边界,基于所述目标边界构建每个网格的k维树,包括:
9、确定目标计算域每个网格中不为预设类型边界的目标边界;
10、构建每个网格的k维树,将每个网格对应的所述目标边界的所有面分配至对应k维树的不同叶节点内,每个所述叶节点中包括若干面;
11、计算每个叶节点对应的叶节点包围盒,以及计算每个面对应的面包围盒,所述叶节点包围盒和所述面包围盒均为轴对齐包围盒。
12、在本申请的一个实施例中,基于各个所述k维树确定所述第一目标单元的洞单元判定结果,包括:
13、确定所有网格的目标边界上与所述第一目标单元的中心距离最近的第一目标点,并构造当前网格的所述第一目标单元的中心与所述第一目标点所在单元的中心之间的第一目标线段;
14、初步筛选所有网格的k维树中叶节点包围盒与所述第一目标线段相交的第一目标叶节点,从各所述第一目标叶节点中二次筛选与所述第一目标线段相交的第一目标面包围盒;
15、将所有网格筛选得到的第一目标面包围盒对应的面作为第一目标面,确定与所述第一目标线段相交的所有第一目标面的个数,得到所述第一目标线段与所述目标边界的交点总个数;
16、根据所述第一目标线段与所述目标边界的交点总个数的奇偶性确定当前网格中所述第一目标单元的洞单元判定结果。
17、在本申请的一个实施例中,确定与所述第一目标线段相交的所有第一目标面的个数,包括:
18、分别将各所述第一目标面分解为多个三角形,并确定各所述第一目标面的各三角形与所述第一目标线段的第一相交判定结果;
19、若所述第一相交判定结果为所述第一目标面中至少有一个三角形与所述第一目标线段相交,则所述第一目标面与所述第一目标线段相交,得到与所述第一目标线段相交的所有第一目标面的个数。
20、在本申请的一个实施例中,根据所述第一目标线段与所述目标边界的交点总个数的奇偶性确定当前网格中所述第一目标单元的洞单元判定结果,包括:
21、若所述第一目标线段与所述目标边界的交点总个数为奇数,则判定当前网格中所述第一目标单元为洞单元;
22、若所述第一目标线段与所述目标边界的交点总个数为偶数,则判定当前网格中所述第一目标单元不为洞单元。
23、在本申请的一个实施例中,基于所述第一目标单元的洞单元判定结果,通过扩散方法确定所述当前网格中所有第一单元的洞单元判定结果,包括:
24、在所述当前网格的第一目标单元的相邻单元中确定与所述目标边界不相交的所有第一目标相邻单元,将所有所述第一目标相邻单元的洞单元判定结果设置为与所述第一目标单元相同的洞单元判定结果;
25、在所述第一目标相邻单元的相邻单元中确定与所述目标边界不相交的第二目标相邻单元,将所有所述第二目标相邻单元的洞单元判定结果设置为与所述第一目标单元相同的洞单元判定结果,直至设置完成所述当前网格中与所述目标边界不相交且位于同一独立不相交区域的所有第一单元的洞单元判定结果,其中,所述独立不相交区域为被所述第二单元单独分隔的区域;
26、若所述当前网格中还存在未设置洞单元判定结果且与所有所述目标边界不相交的第一单元,则在当前剩余的所有第一单元中选取任意一个第一单元作为下一个第一目标单元进行洞单元判定,以得到下一个第一目标单元的洞单元判定结果;
27、基于下一个第一目标单元的洞单元判定结果,通过扩散方法确定下一个第一目标单元所在的独立不相交区域内所有第一单元的洞单元判定结果,直至设置完成所述当前网格中所有第一单元的洞单元判定结果。
28、在本申请的一个实施例中,确定当前网格中与所有所述目标边界相交的若干第二单元,基于各个所述k维树确定所有所述第二单元的洞单元判定结果,包括:
29、对于每个所述第二单元,确定所有网格的目标边界上与所述第二单元的中心距离最近的第二目标点,并构造当前网格的所述第二单元的中心与所述第二目标点所在单元的中心之间的第二目标线段;
30、初步筛选所有网格的k维树中叶节点包围盒与所述第二目标线段相交的第二目标叶节点,从各所述第二目标叶节点中二次筛选与所述第二目标线段相交的第二目标面包围盒;
31、将所有网格筛选得到的第二目标面包围盒对应的面作为第二目标面,确定与所述第二目标线段相交的所有第二目标面的个数,得到所述第二目标线段与所述目标边界的交点总个数;
32、根据所述第二目标线段与所述目标边界的交点总个数的奇偶性确定当前网格中所有所述第二单元的洞单元判定结果。
33、本本文档来自技高网...
【技术保护点】
1.一种嵌套网格洞单元判定方法,其特征在于,所述方法包括:
2.根据权利要求1所述的嵌套网格洞单元判定方法,其特征在于,确定目标计算域每个网格中不为预设类型边界的目标边界,基于所述目标边界构建每个网格的K维树,包括:
3.根据权利要求2所述的嵌套网格洞单元判定方法,其特征在于,基于各个所述K维树确定所述第一目标单元的洞单元判定结果,包括:
4.根据权利要求3所述的嵌套网格洞单元判定方法,其特征在于,确定与所述第一目标线段相交的所有第一目标面的个数,包括:
5.根据权利要求3所述的嵌套网格洞单元判定方法,其特征在于,根据所述第一目标线段与所述目标边界的交点总个数的奇偶性确定当前网格中所述第一目标单元的洞单元判定结果,包括:
6.根据权利要求1所述的嵌套网格洞单元判定方法,其特征在于,基于所述第一目标单元的洞单元判定结果,通过扩散方法确定所述当前网格中所有第一单元的洞单元判定结果,包括:
7.根据权利要求1所述的嵌套网格洞单元判定方法,其特征在于,确定当前网格中与所有所述目标边界相交的若干第二单元,基于各个所述K
8.一种嵌套网格洞单元判定装置,其特征在于,所述装置包括:
9.一种终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的嵌套网格洞单元判定程序,所述嵌套网格洞单元判定程序被所述处理器执行时实现如权利要求1~7任意一项所述的嵌套网格洞单元判定方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如权利要求1~7任意一项所述的嵌套网格洞单元判定方法的步骤。
...【技术特征摘要】
1.一种嵌套网格洞单元判定方法,其特征在于,所述方法包括:
2.根据权利要求1所述的嵌套网格洞单元判定方法,其特征在于,确定目标计算域每个网格中不为预设类型边界的目标边界,基于所述目标边界构建每个网格的k维树,包括:
3.根据权利要求2所述的嵌套网格洞单元判定方法,其特征在于,基于各个所述k维树确定所述第一目标单元的洞单元判定结果,包括:
4.根据权利要求3所述的嵌套网格洞单元判定方法,其特征在于,确定与所述第一目标线段相交的所有第一目标面的个数,包括:
5.根据权利要求3所述的嵌套网格洞单元判定方法,其特征在于,根据所述第一目标线段与所述目标边界的交点总个数的奇偶性确定当前网格中所述第一目标单元的洞单元判定结果,包括:
6.根据权利要求1所述的嵌套网格洞单元判定方法,其特征在于,基于所述第一目标单元...
【专利技术属性】
技术研发人员:王栋,丁可琦,毛峰,张日葵,
申请(专利权)人:深圳十沣科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。