一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种考虑物面法向信息的壁面距离计算方法与流程

2022-07-16 22:54:11 来源:中国专利 TAG:


1.本发明涉及壁面距离快速预测技术领域,具体地,涉及一种考虑物面法向信息的壁面距离计算方法。


背景技术:

2.在计算流体力学进行湍流效应模拟时,常常需要计算物理空间网格单元与物面的最近距离(简称壁面距离或物面距离)。直接法求解壁面距离需要将物理空间网格单元格心与所有物面网格单元的距离求出来,再在这些距离中找到最小值。总的距离计算次数为物理空间网格单元总数和物面网格单元总数的乘积。当飞行器外形复杂或者模拟精度要求较高时,物理空间网格单元总数和物面网格单元总数会很大,壁面距离的计算量也很大。对于一些动网格问题,物理空间网格在流场模拟的过程中发生了变化,壁面距离需要重新计算,太大的壁面距离计算量还会影响整个流场的求解效率。
3.目前工程实用较多的一种高效求解壁面距离的方法是循环盒子法(赵慧勇等,一种新的壁面距离计算方法-循环盒子法,计算物理,2008年7月)。该方法基于二分法的原理, 通过对壁面网格点的分布进行预处理, 减少要计算距离的壁面网格点,从而提高了壁面距离计算效率。
4.上述方法划分盒子的过程中,只划分了一类盒子,主要用到了物面网格单元的坐标值信息,没有充分利用物面网格单元法向方向这一重要信息。因而可能导致一些不必要的距离计算和比较操作。


技术实现要素:

5.本发明目的是减少壁面距离计算的计算量,提高壁面距离计算的计算效率。
6.为了实现上述发明目的,本发明提供了一种考虑物面法向信息的壁面距离计算方法,所述方法包括:步骤1:基于来流条件确定外边界范围,在飞行器物面生成物面网格,基于外边界范围和物面网格生成结构化物理空间网格;步骤2:分别建立大盒子、中盒子和小盒子,并将所有物面网格单元信息存入大盒子、中盒子和小盒子中;每个大盒子包括若干中盒子,每个中盒子包括若干个小盒子,小盒子用于存储满足预设条件的物面网格单元信息;每个小盒子包括以下参数特征:物面单元数目、每个方向的坐标极小值、每个方向的坐标极大值、每个物面网格单元的坐标值和单位法向矢量三个分量的符号及大小关系;每个中盒子包括以下参数特征:包含的小盒子数目、每个方向的坐标极小值、每个方向的坐标极大值和单位法向矢量三个分量的符号及大小关系;步骤3:基于大盒子、中盒子和小盒子中存储的物面网格单元信息,针对结构化物理空间网格中任意一个网格单元p,计算得到网格单元p与物面网格中所有网格单元的最小距离;
步骤4:重复执行步骤3直至得到结构化物理空间网格中的每个网格单元与物面网格中所有网格单元的最小距离。
7.其中,本技术发明人通过对现有技术中循环盒子法的分析研究发现,上述方法划分盒子的过程中,主要用到了物面网格单元的坐标值信息。实际上,物面网格单元的法向方向信息具有重要的物理意义,可以帮助过滤掉一些参与计算距离的物面网格单元,本方法在计算壁面距离的过程中充分考虑物面网格单元的法向信息,按照大盒子、中盒子、小盒子三个层次存储物面网格单元信息,在计算壁面距离的过程中,根据物理空间网格单元坐标值和三层盒子的特征参数(主要包括坐标极值和法向分量符号)过滤掉一部分不需要参与计算比较的盒子,从而降低求得任意物理空间网格单元与物面的最近距离所需要的距离计算和比较的次数,最终快速获得任意物理空间网格单元与物面的最近距离。
8.其中,大盒子是满足一定参数要求、由一定数量的中盒子组成的集合;中盒子是满足一定参数要求、由一定数量的小盒子组成的集合;小盒子是满足一定参数要求、由一定数量的物面单元信息(包含单元坐标、单位法向矢量)组成的集合。
9.优选的,所述将所有物面网格单元信息存入大盒子、中盒子和小盒子中,具体包括:首先,确定大盒子的排列方向和总数目;然后,初步确定每个大盒子的参数特征,每个大盒子包括以下参数特征:排列方向坐标极小值、排列方向坐标极大值和包含的中盒子个数,每个中盒子包含若干个小盒子,小盒子中存储有满足预设条件的物面网格单元信息;然后,确定每个小盒子的参数特征和每个中盒子的参数特征,并基于每个中盒子的参数特征更新每个大盒子中中盒子的个数。
10.优选的,不同类型的小盒子中分别存储有满足以下条件的物面网格单元信息:其中,为物面网格单元的单位法向矢量,、和分别是物面网格单元的单位法向矢量在x、y和z三个方向上的分量。
11.优选的,本方法采用以下方式确定大盒子的排列方向和总数目:根据飞行器物面网格坐标得到物理空间x、y和z方向上坐标的极大极小值xmax、xmin、ymax、ymin、zmax和zmin;计算得到x、y和z方向展长分别为、、;展长最大的方向为大盒子的排列方向;
根据物理空间网格单元数以及物面网格单元数确定大盒子的总数目。
12.优选的,每个大盒子包括以下参数特征:排列方向坐标极小值l_min、排列方向坐标极大值l_max和包含的中盒子个数no_m;其中,第n个大盒子中l_min和l_max采用以下方式计算获得:如果大盒子排列方向为x方向,则:;其中,为每个大盒子在x方向上的宽度,为飞行器在x方向上的展长,,为大盒子总数目;如果大盒子排列方向为y方向,则:;其中,为每个大盒子在y方向上的宽度,为飞行器在y方向上的展长,,为大盒子总数目;如果大盒子排列方向为z方向,则:;其中,为每个大盒子在z方向上的宽度,为飞行器在z方向上的展长,,为大盒子总数目。
13.优选的,所述确定每个小盒子的参数特征和每个中盒子的参数特征,并基于每个中盒子的参数特征更新每个大盒子中中盒子的个数,具体包括:遍历结构化物理空间网格中所有网格块中的所有物面边界,在每一个物面边界中,针对物面边界包含的每一个物面网格单元,根据物面网格单元在预设方向上的坐标定位物面网格单元所在的大盒子编号,根据物面网格单元的单位法向矢量值确定物面网格单元所在的中盒子的第一编号;若第一编号对应的中盒子中小盒子数目为0,则新建一个第一小盒子,将第一小盒子中物面网格单元数目值修改为1,并将物面网格单元的坐标值记在第一小盒子的参数信息中;
若第一编号对应的中盒子中小盒子数目不为0,则查找获得第一编号对应的中盒子中排列最后一位的小盒子获得第二小盒子,获得第二小盒子中存放的物面网格单元数目获得第一数值;若第一数值小于第一阈值,则第二小盒子中物面网格单元数目加1,将物面网格单元的坐标值记在第二小盒子的参数信息中;若第一数值等于第一阈值,则新建一个小盒子获得第三小盒子,第三小盒子中物面网格单元数目值记为1,将物面网格单元的坐标值记在第三小盒子的参数信息中;遍历完成之后,获得每一个小盒子中的如下特征信息:物面网格单元数目、每一个物面网格单元的坐标值以及每个方向上的坐标极大值和极小值;遍历完成之后,确定每一个中盒子中的如下特征信息:包含的小盒子数目以及每个方向上的坐标极大值和极小值;针对每一个大盒子,遍历大盒子包含的所有中盒子,若中盒子中小盒子数目为0,则将该大盒子中中盒子的数目减1,遍历完成得到每个大盒子中中盒子数目的最终值。
14.优选的,所述方法采用以下方式计算得到网格单元p与物面网格中所有网格单元的最小距离:步骤a:读入网格单元p的格心坐标(xp,yp,zp),基于格心坐标确定开始计算查找的大盒子编号i_start;步骤b:在编号i_start对应的大盒子中确定参与计算查找的中盒子,并获得中盒子的总数目no_m_temp;步骤c:分别计算获得网格单元p与no_m_temp个中盒子的距离,获得数组;步骤d:对数组中的no_m_temp个元素按照由小到大的顺序进行排序获得有序数组;步骤e:从数组中第一个元素对应的中盒子开始,确定该中盒子中参与最小距离计算的小盒子,并得到小盒子总数目no_s_temp;步骤f:计算获得网格单元p与no_s_temp个小盒子的距离,获得数组;步骤g:对数组中的no_s_temp个元素按照由小到大的顺序进行排序得到有序数组;步骤h:从数组中的第1个元素对应的小盒子开始,逐个计算网格单元p与该小盒子包含的所有物面单元的距离,获得no_s_temp个距离值,比较no_s_temp个距离值的大小获得最小值;步骤i:将与数组中尚未参与最小物面距离计算比较的最小元素(在数组中的编号为s)进行对比;步骤h中是进入到第一个元素对应的小盒子进行计算比较,数组中第2、第3和第4等后续元素都还各自对应着一个小盒子,这些小盒子中的物面单元都还没有参与过计算比较,因此需要将与数组中尚未参与最小物面距离计算比较编号为s的最小元素进行对比;
若小于编号为s的元素值,则网格单元p与步骤e中中盒子中所有物面单元的最小距离为并执行步骤j;若大于编号为s的元素值,则进入数组中s号元素对应的小盒子,计算网格单元p与该小盒子包含的所有物面单元的距离,通过比较计算得到的距离值大小获得其中的最小值;若,则执行步骤j;若,则将的值重新赋为,并重新执行步骤i;步骤j:记为网格单元p与步骤e中数组第一个元素对应的中盒子中所有物面单元的最小距离;步骤k:将与数组中尚未参与最小物面距离计算比较编号为t的最小元素进行对比;数组中每一个元素都对应1个中盒子,步骤e中进到数组第一个元素对应的中盒子,通过步骤f-步骤j计算比较得到,然而数组中的第2、第3和第4等后续元素都还各自对应着一个中盒子,这些中盒子中的小盒子都还没有参与过计算比较,很有可能最终的最小距离对应的物面网格单元位于数组第2、第3和第4等后续元素对应的中盒子中的某个小盒子中,所以需要再比较,通过比较确定是否需要进入数组中的第2、第3和第4等后续元素对应的中盒子;若小于编号为t的元素值,则网格单元p与步骤a中编号为i_start的大盒子中所有物面单元的最小距离即为并执行步骤l;如果大于编号为t的元素值,则进入数组中元素t对应的中盒子,计算网格单元p与该中盒子包含的所有物面单元的最小距离获得最小距离为;若,则执行步骤l;若,将的值重新赋为,并执行步骤k;步骤l:记为网格单元p与步骤a中编号为i_start的大盒子中所有物面单元的最小距离;步骤m:逐个进入编号小于i_start的大盒子中进行最小物面距离的计算比较,设当前进入的大盒子编号为k,排列方向极大值l_max,比较与左侧距离的大小;若,则继续进入编号为k-1的大盒子进行计算比较直至;若,则执行步骤b-步骤l得到网格单元p与编号为k的大盒子中包含的所有物面网格单元的最小距离;若,则将的值重新赋为,继续进入编号为k-1的大盒子进行计算比较直至;如果,则不需要做任何操作,因为我们要找的是最小距离,所以只需要记录比当前已经找到的最小距离还小的那些值;本步骤中,取法如下:如果大盒子排列方向为x方向,则:
如果大盒子排列方向为y方向,则:如果大盒子排列方向为z方向,则:步骤n:逐个进入编号大于i_start的大盒子中进行最小物面距离的计算比较,设当前进入的大盒子编号为l,排列方向极小值l_min,比较与右侧距离的大小;若,继续进入编号为l 1的大盒子进行计算比较直至;若,则执行步骤b-步骤l得到网格单元p与编号为l的大盒子中包含的所有物面网格单元的最小距离;若,将的值重新赋为,继续进入编号为l 1的大盒子进行计算比较直至;当成立时进入下一步;本步骤中,取法如下:如果大盒子排列方向为x方向,则:如果大盒子排列方向为y方向,则:如果大盒子排列方向为z方向,则:步骤o:记为网格单元p与所有物面网格单元的最小距离。
15.优选的,步骤c中的计算方式为:
其中,为数组dz中第i个元素的数值,为dz中第i个元素在x方向上的投影,为dz中第i个元素在y方向上的投影,为dz中第i个元素在z方向上的投影,和为最小模限制器的两个自变量,为最小模限制器,其数值由两个自变量和符号及绝对值大小确定,与符号相反,则值为0,与符号相同,则取与中绝对值较小的那一个,和分别为第i个中盒子在x方向上的坐标极小值和极大值,和分别为第i个中盒子在y方向上的坐标极小值和极大值,和分别为第i个中盒子在z方向上的坐标极小值和极大值。
16.优选的,步骤f中数组的计算方式为:其中,为数组dz2中第j个元素的数值,为dz2中第j个元素在x方向上的投影,为dz2中第j个元素在y方向上的投影,为dz2中第j个元素在z方向上的投影,和为最小模限制器的两个自变量,为最小模限制器,其数值由两个自变量和符号及绝对值大小确定,与符号相反,则值为0,与符号相同,则取与中绝对值较小的那一个,和为第j个小盒子在x方向上的坐标极小值和极大值,和为第j个小盒子在y方向上的坐标极小值和极大值,和为第j个小盒子在z方向上的坐标极小值和极大
值。
17.优选的,三维坐标为(xp,yp,zp)的网格单元p与三维坐标为(xq,yq,zq)的物面网格单元q之间距离d的计算公式为:。
18.本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:本发明充分利用飞行器物面网格单元的法向信息,建立了大、中、小三层盒子来存储物面网格单元信息。在计算壁面距离的过程中,根据物理空间网格单元坐标值和三层盒子的特征参数(主要包括坐标极值和法向分量符号)过滤掉一部分不需要参与计算比较的盒子,尽可能降低求得任意物理空间网格单元与物面的最近距离所需要的距离计算和比较的次数,最终快速获得任意物理空间网格单元与物面的最近距离。
附图说明
19.此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,并不构成对本发明实施例的限定;图1为一种考虑物面法向信息的壁面距离计算方法的流程示意图;图2是飞行器外形示意图;图3给出了1号截面(具体位置见图2)的剖面图;图4给出了2号截面(具体位置见图2)的剖面图;图5给出了3号截面(具体位置见图2)的剖面图;图6给出了4号截面(具体位置见图2)的剖面图。
具体实施方式
20.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
21.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
22.实施例一请参考图1,图1为一种考虑物面法向信息的壁面距离计算方法的流程示意图,所述方法包括:步骤1:基于来流条件确定外边界范围,在飞行器物面生成物面网格,基于外边界范围和物面网格生成结构化物理空间网格;步骤2:分别建立大盒子、中盒子和小盒子,并将所有物面网格单元信息存入大盒子、中盒子和小盒子中;每个大盒子包括若干中盒子,每个中盒子包括若干个小盒子,小盒子用于存储满足预设条件的物面网格单元信息;每个小盒子包括以下参数特征:物面单元数目、每个方向的坐标极小值、每个方向的坐标极大值、每个物面网格单元的坐标值和单位法向矢量三个分量的符号及大小关系;每个中盒子包括以下参数特征:包含的小盒子数目、
每个方向的坐标极小值、每个方向的坐标极大值和单位法向矢量三个分量的符号及大小关系;步骤3:基于大盒子、中盒子和小盒子中存储的物面网格单元信息,针对结构化物理空间网格中任意一个网格单元p,计算得到网格单元p与物面网格中所有网格单元的最小距离;步骤4:重复执行步骤3直至得到结构化物理空间网格中的每个网格单元与物面网格中所有网格单元的最小距离。
23.下面对本方法进行详细介绍:具体实施步骤如下:步骤(1):针对任意飞行器外形,基于来流条件确定外边界范围,采用网格生成软件在飞行器物面生成物面网格,基于外边界和物面网格生成结构化物理空间网格。
24.步骤(2):确定大盒子的排列方向和总数目。
25.具体做法如下:根据飞行器物面网格坐标,可以得到物理空间的三个方向(x/y/z)上坐标的极大极小值xmax、xmin、ymax、ymin、zmax、zmin。三个方向展长分别为、、。展长最大的方向即为大盒子的排列方向。这样做的目的在于确保剖分后的大盒子长宽高之间的差别不至于太大。
26.大盒子总数一般可以设定为几十到几百,视物理空间网格单元数以及物面网格单元数多少而定。
27.为了描述简便,以下以大盒子的排列方向为x方向进行说明,y和z方向同理。
28.步骤(3):初步确定每个大盒子的参数特征。每个大盒子包含以下三个参数特征:排列方向坐标极小值xl_l,排列方向坐标极大值xl_r,包含的中盒子(以下简称中盒子)个数no_m。
29.第n(n大于或等于1且小于或等于大盒子总数n_large)个大盒子中xl_l、xl_r这样确定:;其中为每个大盒子在排列方向上的宽度。
30.中盒子个数no_m初值给定为16。每个中盒子可能会包含若干个小盒子(以下简称小盒子),在不同类型的小盒子中分别存储满足如下条件的物面网格单元:
其中为物面网格单元单位法向矢量。、、分别是该矢量在x、y、z三个方向上的分量。
31.步骤(4):确定每个小盒子的参数特征和每个中盒子的参数特征并更新每个大盒子中中盒子个数。
32.每个小盒子包含以下参数特征:物面单元数目no_wall,x方向坐标极小值xs_l,x方向坐标极大值xs_r,y方向坐标极小值ys_l,y方向坐标极大值ys_r,z方向坐标极小值zs_l,z方向坐标极大值zs_r,每一个物面网格单元的坐标值,单位法向矢量三个分量的符号及大小关系。
33.每个中盒子包含以下参数特征:包含的小盒子数目no_s,x方向坐标极小值xm_l,x方向坐标极大值xm_r,y方向坐标极小值ym_l,y方向坐标极大值ym_r,z方向坐标极小值zm_l,z方向坐标极大值zm_r,单位法向矢量三个分量的符号及大小关系。
34.具体做法如下:遍历步骤(1)生成的物理空间网格中所有网格块中的所有物面边界,在每一个物面边界中,针对其包含的每一个物面网格单元,根据物面网格单元的x方向坐标定位其所在的大盒子编号,根据其单位法向矢量值确定其所在的中盒子的编号,如果该中盒子中小盒子数目为0,则建立一个小盒子,新建小盒子中物面单元数目值记为1,同时将该物面单元的坐标值记在新建小盒子的参数信息中。如果该中盒子中小盒子数目不为0,则查找该中盒子中最后一个小盒子中存放的物面单元数目,如数目值小于pslimit,则该小盒子中物面单元数目加1,同时将该物面单元的坐标值记在该小盒子的参数信息中。如果该小盒子中物面单元数目值等于pslimit。则新建一个小盒子,新建小盒子中物面单元数目值记为1,同时将该物面单元的坐标值记在新建小盒子的参数信息中。
35.pslimit一般取几十到几百,视物理空间网格单元数以及物面网格单元数多少而定。不同的pslimit值会影响壁面距离的计算效率。
36.遍历完成之后,每一个小盒子中的如下特征信息可以确定:物面单元数目,每一个物面单元的坐标值。x/y/z三个方向上的坐标极大极小值xs_l,xs_r,ys_l,ys_r,zs_l,zs_r可以通过对所有物面单元坐标值求最大最小值得到。
37.遍历完成之后,同时可以确定每一个中盒子中的如下特征信息:包含的小盒子数目no_s。x/y/z三个方向上的坐标极大极小值xm_l,xm_r,ym_l,ym_r,zm_l,zm_r可以通过对其所包含的所有小盒子中的特征信息xs_l,xs_r,ys_l,ys_r,zs_l,zs_r求最大最小值得
到。
38.针对每一个大盒子,遍历其包含的所有中盒子,如果中盒子中小盒子数目为0,则说明该大盒子中没有包含满足相应单位法向矢量关系的物面单元,该中盒子为空,进而将该大盒子中中盒子的数目no_m减1。遍历完成,即可以得到每个大盒子中中盒子数目的最终值。
39.到此为止,将所有物面网格单元的信息都放入了大、中、小三层盒子中。
40.针对物理空间网格中任意一个网格单元p,执行步骤(5)-步骤(19),找到该单元与物面网格所有单元的最小距离。
41.步骤(5):读入物理空间网格单元p的格心坐标(xp,yp,zp), 确定开始计算查找的大盒子编号i_start。
42.具体做法如下:如果xp小于或等于第一个大盒子的xl_r,则从第一个大盒子开始计算查找;如果xp大于或等于最后一个大盒子的xl_l,则从最后一个大盒子开始计算查找;如果xp大于或等于第n个大盒子的xl_l且小于或等于第n个大盒子的xl_r,则从第n个大盒子开始计算查找。
43.步骤(6):在上一步骤中确定的大盒子中确定参与计算查找的中盒子,并得到总数目,记为no_m_temp。
44.具体做法如下:对于的中盒子,只有满足xp大于或等于该中盒子x方向坐标极小值xm_l才会被选中;对于的中盒子,只有满足xp小于或等于该中盒子x方向坐标极大值xm_r才会被选中。如此一来,可以根据物面单位法向矢量过滤掉一部分中盒子,减少进行距离计算和比较的工作量。
45.步骤(7):寻找物理空间网格单元p与上一步骤中确定的no_m_temp个中盒子的距离。
46.是一个有no_m_temp个元素的数组。具体计算方法如下:其中,为数组dz中第i个元素的数值,为dz中第i个元素在x方向上
的投影,为dz中第i个元素在y方向上的投影,为dz中第i个元素在z方向上的投影,和为最小模限制器的两个自变量,为最小模限制器,其数值由两个自变量和符号及绝对值大小确定,与符号相反,则值为0,与符号相同,则取与中绝对值较小的那一个,和分别为第i个中盒子在x方向上的坐标极小值和极大值,和分别为第i个中盒子在y方向上的坐标极小值和极大值,和分别为第i个中盒子在z方向上的坐标极小值和极大值。
47.步骤(8):对上一步骤中得到的数组的no_m_temp个元素从小到大进行排序,得到一个有序数组。
48.步骤(9):从数组中第一个元素对应的中盒子开始,确定该中盒子中参与最小距离计算的小盒子,并得到总数目,记为no_s_temp。
49.具体做法如下:对于的小盒子,只有满足xp大于或等于该小盒子x方向坐标极小值xs_l才会被选中;对于的小盒子,只有满足yp大于或等于该小盒子y方向坐标极小值ys_l才会被选中;对于的小盒子,只有满足zp大于或等于该小盒子z方向坐标极小值zs_l才会被选中;对于的小盒子,只有满足xp小于该小盒子x方向坐标极大值xs_r才会被选中;对于的小盒子,只有满足yp小于该小盒子y方向坐标极大值ys_r才会被选中;对于的小盒子,只有满足zp小于该小盒子z方向坐标极大值zs_r才会被选中。如此一来,可以根据物面单位法向矢量过滤掉一部小盒子,减少进行距离计算和比较的工作量。
50.步骤(10):寻找物理空间网格单元p与上一步骤中确定的no_s_temp个小盒子的距离。
51.是一个有no_s_temp个元素的数组。具体计算方法如下:
其中,为数组dz2中第j个元素的数值,为dz2中第j个元素在x方向上的投影,为dz2中第j个元素在y方向上的投影,为dz2中第j个元素在z方向上的投影,和为最小模限制器的两个自变量,为最小模限制器,其数值由两个自变量和符号及绝对值大小确定,与符号相反,则值为0,与符号相同,则取与中绝对值较小的那一个,和为第j个小盒子在x方向上的坐标极小值和极大值,和为第j个小盒子在y方向上的坐标极小值和极大值,和为第j个小盒子在z方向上的坐标极小值和极大值。
52.步骤(11):对上一步骤中得到数组的no_s_temp个元素从小到大进行排序,得到一个有序数组。
53.步骤(12):从数组第1个元素对应的小盒子开始,逐个计算物理网格单元p与其中包含的所有物面单元的距离,通过比较得到这些距离中的最小值。
54.三维坐标为(xp,yp,zp)的物理网格单元p与三维坐标为(xq,yq,zq)的某一物面网格单元q之间距离的计算公式为:步骤(13):将与数组中尚未参与最小物面距离计算比较的最小元素(记其编号为s)进行对比。
55.如果小于后者,则物理空间网格单元p与步骤(9)中中盒子中所有物面单元的最小距离即为。直接进入下一步骤。
56.如果大于后者,则进入数组中s号元素对应的小盒子,计算物理网格单元p与其中包含的所有物面单元的距离,通过比较得到这些距离中的最小值。比较与的大小。如果,则直接进入下一步骤。如果,则说明还有比更小的物面距离存在,将的值重新赋为,重新执行当前步骤。
57.步骤(14):记为物理空间网格单元p与步骤(9)中数组第一个元素对应的中盒子中所有物面单元的最小距离。
58.步骤(15):将与数组中尚未参与最小物面距离计算比较的最小元素(记其编号为t)进行对比。
59.如果小于后者,则物理空间网格单元p与步骤(5)中编号为i_start的大盒子中所有物面单元的最小距离即为。直接进入下一步骤。
60.如果大于后者,则进入数组中t号元素对应的中盒子,计算物理网格单元p与其中包含的所有物面单元的最小距离,具体计算方法与步骤(9)-步骤(14)相同,记该最小距离为。比较与的大小。如果,则直接进入下一步骤。如果,则说明还有比更小的物面距离存在,将的值重新赋为,重新执行当前步骤。
61.步骤(16):记为物理空间网格单元p与步骤(5)中编号为i_start的大盒子中所有物面单元的最小距离。
62.步骤(17):逐个进入编号小于i_start的大盒子中进行最小物面距离的计算比较。
63.具体方法为,设当前进入的大盒子编号为k,排列方向极大值xl_r,比较与的大小。
64.如果,则表明物理空间网格单元p与编号为k的大盒子中包含的所有物面网格单元的最小距离比当前已经找到的最小距离还要大,可以不用进入该大盒子进行计算比较。继续进入编号为k-1的大盒子进行计算比较直至。
65.如果,则表明物理空间网格单元p与编号为k的大盒子中包含的所有物面网格单元的最小距离可能比当前已经找到的最小距离还要小,此时需要执行步骤(6)-步骤(16),得到物理空间网格单元p与编号为k的大盒子中包含的所有物面网格单元的最小距离。如果,将的值重新赋为。继续进入编号为k-1的大盒子进行计算比较直至。
66.步骤(18):逐个进入编号大于i_start的大盒子中进行最小物面距离的计算比较。
67.具体方法为,设当前进入的大盒子编号为l,排列方向极小值xl_l,比较与
的大小。
68.如果,则表明物理空间网格单元p与编号为l的大盒子中包含的所有物面网格单元的最小距离比当前已经找到的最小距离还要大,可以不用进入该大盒子进行计算比较。继续进入编号为l 1的大盒子进行计算比较直至。
69.如果,则表明物理空间网格单元p与编号为l的大盒子中包含的所有物面网格单元的最小距离可能比当前已经找到的最小距离还要小,此时需要执行步骤(6)-步骤(16),得到物理空间网格单元p与编号为l的大盒子中包含的所有物面网格单元的最小距离。如果,将的值重新赋为。继续进入编号为l 1的大盒子进行计算比较直至。
70.步骤(19):记为物理空间网格单元p与所有物面网格单元的最小距离。
71.重复执行步骤(5)-步骤(19),可以找到所有物理空间网格单元与物面网格所有单元的最小距离。
72.下面给出复杂细长体外形的具体实施实例。
73.图2给出了飞行器的外形示意图,该外形包含舵及底部发动机喷流通道。采用gridgen生成物理空间网格,物理空间网格单元总数60644487。物面网格单元总数632762。
74.图3-图6给出了不同横截面位置的剖面图。图3-图6中小箭头指出了物面法向矢量的方向。部分区域中物面单位法向矢量的分量符号也在图中进行了标注。根据本发明的描述步骤,首先建立三层盒子。接着针对所有的物理空间网格单元计算了与所有物面网格单元的最小距离。为了展示本发明的有效性,同时采用直接法进行了物面最小距离的计算。表1给出了不同大盒子数和小盒子中物面单元数(pslimit)情况下确定的中小盒子的总数以及加速比。加速比定义为直接法耗时与本发明耗时之比。
75.表1不同自由参数下中小盒子数及耗时比可以看出,本发明相对于直接法,加速比可达25倍左右。加速比还与物理空间网格分布、物面网格数目、大盒子总数、小盒子大小、并行计算规模等因素有关。可以在实际应用中经过多次尝试找到最佳参数设置。
76.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
77.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献