CN114756974B - 一种考虑物面法向信息的壁面距离计算方法 - Google Patents

一种考虑物面法向信息的壁面距离计算方法 Download PDF

Info

Publication number
CN114756974B
CN114756974B CN202210659702.5A CN202210659702A CN114756974B CN 114756974 B CN114756974 B CN 114756974B CN 202210659702 A CN202210659702 A CN 202210659702A CN 114756974 B CN114756974 B CN 114756974B
Authority
CN
China
Prior art keywords
box
object plane
grid
boxes
small
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210659702.5A
Other languages
English (en)
Other versions
CN114756974A (zh
Inventor
毛枚良
江定武
王新光
万钊
郭勇颜
张爱婧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Original Assignee
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Computational Aerodynamics Institute of China Aerodynamics Research and Development Center filed Critical Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Priority to CN202210659702.5A priority Critical patent/CN114756974B/zh
Publication of CN114756974A publication Critical patent/CN114756974A/zh
Application granted granted Critical
Publication of CN114756974B publication Critical patent/CN114756974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force analysis or force optimisation, e.g. static or dynamic forces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computational Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Fluid Mechanics (AREA)
  • Mathematical Physics (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

本发明公开了一种考虑物面法向信息的壁面距离计算方法,涉及壁面距离快速预测技术领域,包括:步骤1:生成结构化物理空间网格;步骤2:分别建立大盒子、中盒子和小盒子,并将所有物面网格单元信息存入大盒子、中盒子和小盒子中;步骤3:基于大盒子、中盒子和小盒子中存储的物面网格单元信息,针对结构化物理空间网格中任意一个网格单元p,计算得到网格单元p与物面网格中所有网格单元的最小距离;步骤4:重复执行步骤3直至得到结构化物理空间网格中的每个网格单元与物面网格中所有网格单元的最小距离;本方法能够减少壁面距离计算的计算量,提高壁面距离计算的计算效率。

Description

一种考虑物面法向信息的壁面距离计算方法
技术领域
本发明涉及壁面距离快速预测技术领域,具体地,涉及一种考虑物面法向信息的壁面距离计算方法。
背景技术
在计算流体力学进行湍流效应模拟时,常常需要计算物理空间网格单元与物面的最近距离(简称壁面距离或物面距离)。直接法求解壁面距离需要将物理空间网格单元格心与所有物面网格单元的距离求出来,再在这些距离中找到最小值。总的距离计算次数为物理空间网格单元总数和物面网格单元总数的乘积。当飞行器外形复杂或者模拟精度要求较高时,物理空间网格单元总数和物面网格单元总数会很大,壁面距离的计算量也很大。对于一些动网格问题,物理空间网格在流场模拟的过程中发生了变化,壁面距离需要重新计算,太大的壁面距离计算量还会影响整个流场的求解效率。
目前工程实用较多的一种高效求解壁面距离的方法是循环盒子法(赵慧勇等,一种新的壁面距离计算方法-循环盒子法,计算物理,2008年7月)。该方法基于二分法的原理,通过对壁面网格点的分布进行预处理, 减少要计算距离的壁面网格点,从而提高了壁面距离计算效率。
上述方法划分盒子的过程中,只划分了一类盒子,主要用到了物面网格单元的坐标值信息,没有充分利用物面网格单元法向方向这一重要信息。因而可能导致一些不必要的距离计算和比较操作。
发明内容
本发明目的是减少壁面距离计算的计算量,提高壁面距离计算的计算效率。
为了实现上述发明目的,本发明提供了一种考虑物面法向信息的壁面距离计算方法,所述方法包括:
步骤1:基于来流条件确定外边界范围,在飞行器物面生成物面网格,基于外边界范围和物面网格生成结构化物理空间网格;
步骤2:分别建立大盒子、中盒子和小盒子,并将所有物面网格单元信息存入大盒子、中盒子和小盒子中;每个大盒子包括若干中盒子,每个中盒子包括若干个小盒子,小盒子用于存储满足预设条件的物面网格单元信息;每个小盒子包括以下参数特征:物面单元数目、每个方向的坐标极小值、每个方向的坐标极大值、每个物面网格单元的坐标值和单位法向矢量三个分量的符号及大小关系;每个中盒子包括以下参数特征:包含的小盒子数目、每个方向的坐标极小值、每个方向的坐标极大值和单位法向矢量三个分量的符号及大小关系;
步骤3:基于大盒子、中盒子和小盒子中存储的物面网格单元信息,针对结构化物理空间网格中任意一个网格单元p,计算得到网格单元p与物面网格中所有网格单元的最小距离;
步骤4:重复执行步骤3直至得到结构化物理空间网格中的每个网格单元与物面网格中所有网格单元的最小距离。
其中,本申请发明人通过对现有技术中循环盒子法的分析研究发现,上述方法划分盒子的过程中,主要用到了物面网格单元的坐标值信息。实际上,物面网格单元的法向方向信息具有重要的物理意义,可以帮助过滤掉一些参与计算距离的物面网格单元,本方法在计算壁面距离的过程中充分考虑物面网格单元的法向信息,按照大盒子、中盒子、小盒子三个层次存储物面网格单元信息,在计算壁面距离的过程中,根据物理空间网格单元坐标值和三层盒子的特征参数(主要包括坐标极值和法向分量符号)过滤掉一部分不需要参与计算比较的盒子,从而降低求得任意物理空间网格单元与物面的最近距离所需要的距离计算和比较的次数,最终快速获得任意物理空间网格单元与物面的最近距离。
其中,大盒子是满足一定参数要求、由一定数量的中盒子组成的集合;中盒子是满足一定参数要求、由一定数量的小盒子组成的集合;小盒子是满足一定参数要求、由一定数量的物面单元信息(包含单元坐标、单位法向矢量)组成的集合。
优选的,所述将所有物面网格单元信息存入大盒子、中盒子和小盒子中,具体包括:
首先,确定大盒子的排列方向和总数目;
然后,初步确定每个大盒子的参数特征,每个大盒子包括以下参数特征:排列方向坐标极小值、排列方向坐标极大值和包含的中盒子个数,每个中盒子包含若干个小盒子,小盒子中存储有满足预设条件的物面网格单元信息;
然后,确定每个小盒子的参数特征和每个中盒子的参数特征,并基于每个中盒子的参数特征更新每个大盒子中中盒子的个数。
优选的,不同类型的小盒子中分别存储有满足以下条件的物面网格单元信息:
Figure 994503DEST_PATH_IMAGE001
其中,
Figure 442802DEST_PATH_IMAGE002
为物面网格单元的单位法向矢量,
Figure 504430DEST_PATH_IMAGE003
Figure 634060DEST_PATH_IMAGE004
Figure 245170DEST_PATH_IMAGE005
分别是物面网格单元的单位法向矢量在x、y和z三个方向上的分量。
优选的,本方法采用以下方式确定大盒子的排列方向和总数目:
根据飞行器物面网格坐标得到物理空间x、y和z方向上坐标的极大极小值Xmax、Xmin、Ymax、Ymin、Zmax和Zmin;计算得到x、y和z方向展长分别为
Figure 598791DEST_PATH_IMAGE006
Figure 600245DEST_PATH_IMAGE007
Figure 330304DEST_PATH_IMAGE008
;展长最大的方向为大盒子的排列方向;
根据物理空间网格单元数以及物面网格单元数确定大盒子的总数目。
优选的,每个大盒子包括以下参数特征:排列方向坐标极小值L_min、排列方向坐标极大值L_max和包含的中盒子个数no_M;其中,第N个大盒子中L_min和L_max采用以下方式计算获得:
如果大盒子排列方向为x方向,则:
Figure 779608DEST_PATH_IMAGE009
Figure 569710DEST_PATH_IMAGE010
其中,
Figure 58460DEST_PATH_IMAGE011
为每个大盒子在x方向上的宽度,
Figure 326630DEST_PATH_IMAGE012
为飞行器在x方向上的展长,
Figure 646753DEST_PATH_IMAGE006
Figure 358488DEST_PATH_IMAGE013
为大盒子总数目;
如果大盒子排列方向为y方向,则:
Figure 334535DEST_PATH_IMAGE014
Figure 671975DEST_PATH_IMAGE015
其中,
Figure 112184DEST_PATH_IMAGE016
为每个大盒子在y方向上的宽度,
Figure 181771DEST_PATH_IMAGE017
为飞行器在y方向上的展长,
Figure 691119DEST_PATH_IMAGE007
Figure 566671DEST_PATH_IMAGE013
为大盒子总数目;
如果大盒子排列方向为z方向,则:
Figure 799069DEST_PATH_IMAGE018
Figure 101874DEST_PATH_IMAGE019
其中,
Figure 849250DEST_PATH_IMAGE020
为每个大盒子在z方向上的宽度,
Figure 13647DEST_PATH_IMAGE021
为飞行器在z方向上的展长,
Figure 100551DEST_PATH_IMAGE008
Figure 839837DEST_PATH_IMAGE013
为大盒子总数目。
优选的,所述确定每个小盒子的参数特征和每个中盒子的参数特征,并基于每个中盒子的参数特征更新每个大盒子中中盒子的个数,具体包括:
遍历结构化物理空间网格中所有网格块中的所有物面边界,在每一个物面边界中,针对物面边界包含的每一个物面网格单元,根据物面网格单元在预设方向上的坐标定位物面网格单元所在的大盒子编号,根据物面网格单元的单位法向矢量值确定物面网格单元所在的中盒子的第一编号;
若第一编号对应的中盒子中小盒子数目为0,则新建一个第一小盒子,将第一小盒子中物面网格单元数目值修改为1,并将物面网格单元的坐标值记在第一小盒子的参数信息中;
若第一编号对应的中盒子中小盒子数目不为0,则查找获得第一编号对应的中盒子中排列最后一位的小盒子获得第二小盒子,获得第二小盒子中存放的物面网格单元数目获得第一数值;
若第一数值小于第一阈值,则第二小盒子中物面网格单元数目加1,将物面网格单元的坐标值记在第二小盒子的参数信息中;
若第一数值等于第一阈值,则新建一个小盒子获得第三小盒子,第三小盒子中物面网格单元数目值记为1,将物面网格单元的坐标值记在第三小盒子的参数信息中;
遍历完成之后,获得每一个小盒子中的如下特征信息:物面网格单元数目、每一个物面网格单元的坐标值以及每个方向上的坐标极大值和极小值;
遍历完成之后,确定每一个中盒子中的如下特征信息:包含的小盒子数目以及每个方向上的坐标极大值和极小值;
针对每一个大盒子,遍历大盒子包含的所有中盒子,若中盒子中小盒子数目为0,则将该大盒子中中盒子的数目减1,遍历完成得到每个大盒子中中盒子数目的最终值。
优选的,所述方法采用以下方式计算得到网格单元p与物面网格中所有网格单元的最小距离:
步骤a:读入网格单元p的格心坐标(xp,yp,zp),基于格心坐标确定开始计算查找的大盒子编号I_start;
步骤b:在编号I_start对应的大盒子中确定参与计算查找的中盒子,并获得中盒子的总数目no_M_temp;
步骤c:分别计算获得网格单元p与no_M_temp个中盒子的距离,获得数组
Figure 808930DEST_PATH_IMAGE022
步骤d:对数组
Figure 963968DEST_PATH_IMAGE022
中的no_M_temp个元素按照由小到大的顺序进行排序获得有序数组
Figure 967696DEST_PATH_IMAGE023
步骤e:从数组
Figure 127151DEST_PATH_IMAGE023
中第一个元素对应的中盒子开始,确定该中盒子中参与最小距离计算的小盒子,并得到小盒子总数目no_S_temp;
步骤f:计算获得网格单元p与no_S_temp个小盒子的距离,获得数组
Figure 583540DEST_PATH_IMAGE024
步骤g:对数组
Figure 542269DEST_PATH_IMAGE024
中的no_S_temp个元素按照由小到大的顺序进行排序得到有序数组
Figure 400503DEST_PATH_IMAGE025
步骤h:从数组
Figure 216013DEST_PATH_IMAGE025
中的第1个元素对应的小盒子开始,逐个计算网格单元p与该小盒子包含的所有物面单元的距离,获得no_S_temp个距离值,比较no_S_temp个距离值的大小获得最小值
Figure 362960DEST_PATH_IMAGE026
步骤i:将
Figure 672850DEST_PATH_IMAGE026
与数组
Figure 651170DEST_PATH_IMAGE025
中尚未参与最小物面距离计算比较的最小元素(在数组
Figure 575264DEST_PATH_IMAGE025
中的编号为S)进行对比;步骤h中是进入到第一个元素对应的小盒子进行计算比较,数组
Figure 6245DEST_PATH_IMAGE025
中第2、第3和第4等后续元素都还各自对应着一个小盒子,这些小盒子中的物面单元都还没有参与过计算比较,因此需要将
Figure 369093DEST_PATH_IMAGE026
与数组
Figure 405183DEST_PATH_IMAGE025
中尚未参与最小物面距离计算比较编号为S的最小元素进行对比;
Figure 546183DEST_PATH_IMAGE026
小于编号为S的元素值,则网格单元p与步骤e中中盒子中所有物面单元的最小距离为
Figure 730039DEST_PATH_IMAGE026
并执行步骤j;
Figure 834262DEST_PATH_IMAGE027
大于编号为S的元素值,则进入数组
Figure 521595DEST_PATH_IMAGE025
中S号元素对应的小盒子,计算网格单元p与该小盒子包含的所有物面单元的距离,通过比较计算得到的距离值大小获得其中的最小值
Figure 53070DEST_PATH_IMAGE028
;若
Figure 193065DEST_PATH_IMAGE029
,则执行步骤j;若
Figure 914027DEST_PATH_IMAGE030
,则将
Figure 659129DEST_PATH_IMAGE026
的值重新赋为
Figure 423823DEST_PATH_IMAGE031
,并重新执行步骤i;
步骤j:记
Figure 51113DEST_PATH_IMAGE027
为网格单元p与步骤e中数组
Figure 497138DEST_PATH_IMAGE023
第一个元素对应的中盒子中所有物面单元的最小距离;
步骤k:将
Figure 159064DEST_PATH_IMAGE027
与数组
Figure 32342DEST_PATH_IMAGE023
中尚未参与最小物面距离计算比较编号为T的最小元素进行对比;数组
Figure 661775DEST_PATH_IMAGE023
中每一个元素都对应1个中盒子,步骤e中进到数组
Figure 442649DEST_PATH_IMAGE023
第一个元素对应的中盒子,通过步骤f-步骤j计算比较得到
Figure 162344DEST_PATH_IMAGE026
,然而数组
Figure 268840DEST_PATH_IMAGE023
中的第2、第3和第4等后续元素都还各自对应着一个中盒子,这些中盒子中的小盒子都还没有参与过计算比较,很有可能最终的最小距离对应的物面网格单元位于数组
Figure 73985DEST_PATH_IMAGE023
第2、第3和第4等后续元素对应的中盒子中的某个小盒子中,所以需要再比较,通过比较确定是否需要进入数组
Figure 658550DEST_PATH_IMAGE023
中的第2、第3和第4等后续元素对应的中盒子;
Figure 45800DEST_PATH_IMAGE026
小于编号为T的元素值,则网格单元p与步骤a中编号为I_start的大盒子中所有物面单元的最小距离即为
Figure 260881DEST_PATH_IMAGE026
并执行步骤l;
如果
Figure 350060DEST_PATH_IMAGE027
大于编号为T的元素值,则进入数组
Figure 738316DEST_PATH_IMAGE023
中元素T对应的中盒子,计算网格单元p与该中盒子包含的所有物面单元的最小距离获得最小距离为
Figure 167023DEST_PATH_IMAGE032
;若
Figure 615322DEST_PATH_IMAGE033
,则执行步骤l;若
Figure 395059DEST_PATH_IMAGE034
,将
Figure 594132DEST_PATH_IMAGE026
的值重新赋为
Figure 939662DEST_PATH_IMAGE032
,并执行步骤k;
步骤l:记
Figure 762125DEST_PATH_IMAGE026
为网格单元p与步骤a中编号为I_start的大盒子中所有物面单元的最小距离;
步骤m:逐个进入编号小于I_start的大盒子中进行最小物面距离的计算比较,设当前进入的大盒子编号为K,排列方向极大值L_max,比较
Figure 825896DEST_PATH_IMAGE026
与左侧距离
Figure 759217DEST_PATH_IMAGE035
的大小;若
Figure 959254DEST_PATH_IMAGE036
,则继续进入编号为K-1的大盒子进行计算比较直至
Figure 500088DEST_PATH_IMAGE037
;若
Figure 988838DEST_PATH_IMAGE038
,则执行步骤b-步骤l得到网格单元p与编号为K的大盒子中包含的所有物面网格单元的最小距离
Figure 522588DEST_PATH_IMAGE039
;若
Figure 577131DEST_PATH_IMAGE040
,则将
Figure 741396DEST_PATH_IMAGE026
的值重新赋为
Figure 514180DEST_PATH_IMAGE039
,继续进入编号为K-1的大盒子进行计算比较直至
Figure 835309DEST_PATH_IMAGE037
;如果
Figure 213201DEST_PATH_IMAGE041
,则不需要做任何操作,因为我们要找的是最小距离,所以只需要记录比当前已经找到的最小距离
Figure 345105DEST_PATH_IMAGE026
还小的那些值;
本步骤中,
Figure 808447DEST_PATH_IMAGE035
取法如下:
如果大盒子排列方向为x方向,则:
Figure 683999DEST_PATH_IMAGE042
如果大盒子排列方向为y方向,则:
Figure 713135DEST_PATH_IMAGE043
如果大盒子排列方向为z方向,则:
Figure 953624DEST_PATH_IMAGE044
步骤n:逐个进入编号大于I_start的大盒子中进行最小物面距离的计算比较,设当前进入的大盒子编号为L,排列方向极小值L_min,比较
Figure 717311DEST_PATH_IMAGE026
与右侧距离
Figure 334238DEST_PATH_IMAGE045
的大小;若
Figure 217880DEST_PATH_IMAGE046
,继续进入编号为L+1的大盒子进行计算比较直至
Figure 957166DEST_PATH_IMAGE047
;若
Figure 129521DEST_PATH_IMAGE048
,则执行步骤b-步骤l得到网格单元p与编号为L的大盒子中包含的所有物面网格单元的最小距离
Figure 346876DEST_PATH_IMAGE049
;若
Figure 553866DEST_PATH_IMAGE050
,将
Figure 182163DEST_PATH_IMAGE026
的值重新赋为
Figure 904131DEST_PATH_IMAGE049
,继续进入编号为L+1的大盒子进行计算比较直至
Figure 862860DEST_PATH_IMAGE047
;当
Figure 986674DEST_PATH_IMAGE047
成立时进入下一步;
本步骤中,
Figure 802183DEST_PATH_IMAGE045
取法如下:
如果大盒子排列方向为x方向,则:
Figure 949130DEST_PATH_IMAGE051
如果大盒子排列方向为y方向,则:
Figure 259020DEST_PATH_IMAGE052
如果大盒子排列方向为z方向,则:
Figure 971761DEST_PATH_IMAGE053
步骤o:记
Figure 161434DEST_PATH_IMAGE026
为网格单元p与所有物面网格单元的最小距离。
优选的,步骤c中
Figure 857995DEST_PATH_IMAGE022
的计算方式为:
Figure 955264DEST_PATH_IMAGE054
其中,
Figure 725774DEST_PATH_IMAGE055
为数组Dz中第I个元素的数值,
Figure 397932DEST_PATH_IMAGE056
为Dz中第I个元素在x方向上的投影,
Figure 519472DEST_PATH_IMAGE057
为Dz中第I个元素在y方向上的投影,
Figure 420432DEST_PATH_IMAGE058
为Dz中第I个元素在z方向上的投影,
Figure 107765DEST_PATH_IMAGE059
Figure 639241DEST_PATH_IMAGE060
为最小模限制器
Figure 44814DEST_PATH_IMAGE061
的两个自变量,
Figure 500197DEST_PATH_IMAGE061
为最小模限制器,其数值由两个自变量
Figure 245300DEST_PATH_IMAGE059
Figure 9993DEST_PATH_IMAGE060
符号及绝对值大小确定,
Figure 840546DEST_PATH_IMAGE059
Figure 817729DEST_PATH_IMAGE060
符号相反,则
Figure 745234DEST_PATH_IMAGE061
值为0,
Figure 618512DEST_PATH_IMAGE059
Figure 247945DEST_PATH_IMAGE060
符号相同,则
Figure 28820DEST_PATH_IMAGE061
Figure 748514DEST_PATH_IMAGE059
Figure 855010DEST_PATH_IMAGE060
中绝对值较小的那一个,
Figure 660155DEST_PATH_IMAGE062
Figure 244720DEST_PATH_IMAGE063
分别为第I个中盒子在x方向上的坐标极小值和极大值,
Figure 631970DEST_PATH_IMAGE064
Figure 643789DEST_PATH_IMAGE065
分别为第I个中盒子在y方向上的坐标极小值和极大值,
Figure 732967DEST_PATH_IMAGE066
Figure 636070DEST_PATH_IMAGE067
分别为第I个中盒子在z方向上的坐标极小值和极大值。
优选的,步骤f中数组
Figure 64778DEST_PATH_IMAGE024
的计算方式为:
Figure 778656DEST_PATH_IMAGE068
其中,
Figure 620710DEST_PATH_IMAGE069
为数组Dz2中第J个元素的数值,
Figure 750340DEST_PATH_IMAGE070
为Dz2中第J个元素在x方向上的投影,
Figure 581024DEST_PATH_IMAGE071
为Dz2中第J个元素在y方向上的投影,
Figure 200224DEST_PATH_IMAGE072
为Dz2中第J个元素在z方向上的投影,
Figure 998416DEST_PATH_IMAGE059
Figure 462895DEST_PATH_IMAGE060
为最小模限制器
Figure 177779DEST_PATH_IMAGE061
的两个自变量,
Figure 967880DEST_PATH_IMAGE061
为最小模限制器,其数值由两个自变量
Figure 191051DEST_PATH_IMAGE059
Figure 990380DEST_PATH_IMAGE060
符号及绝对值大小确定,
Figure 248186DEST_PATH_IMAGE059
Figure 943610DEST_PATH_IMAGE060
符号相反,则
Figure 732705DEST_PATH_IMAGE061
值为0,
Figure 7829DEST_PATH_IMAGE059
Figure 182458DEST_PATH_IMAGE060
符号相同,则
Figure 314362DEST_PATH_IMAGE061
Figure 512125DEST_PATH_IMAGE059
Figure 653257DEST_PATH_IMAGE060
中绝对值较小的那一个,
Figure 931660DEST_PATH_IMAGE073
Figure 172149DEST_PATH_IMAGE074
为第J个小盒子在x方向上的坐标极小值和极大值,
Figure 919525DEST_PATH_IMAGE075
Figure 598768DEST_PATH_IMAGE076
为第J个小盒子在y方向上的坐标极小值和极大值,
Figure 685672DEST_PATH_IMAGE077
Figure 159379DEST_PATH_IMAGE078
为第J个小盒子在z方向上的坐标极小值和极大值。
优选的,三维坐标为(xp,yp,zp)的网格单元p与三维坐标为(xq,yq,zq)的物面网格单元q之间距离D的计算公式为:
Figure 879205DEST_PATH_IMAGE079
本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明充分利用飞行器物面网格单元的法向信息,建立了大、中、小三层盒子来存储物面网格单元信息。在计算壁面距离的过程中,根据物理空间网格单元坐标值和三层盒子的特征参数(主要包括坐标极值和法向分量符号)过滤掉一部分不需要参与计算比较的盒子,尽可能降低求得任意物理空间网格单元与物面的最近距离所需要的距离计算和比较的次数,最终快速获得任意物理空间网格单元与物面的最近距离。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,并不构成对本发明实施例的限定;
图1为一种考虑物面法向信息的壁面距离计算方法的流程示意图;
图2是飞行器外形示意图;
图3给出了1号截面(具体位置见图2)的剖面图;
图4给出了2号截面(具体位置见图2)的剖面图;
图5给出了3号截面(具体位置见图2)的剖面图;
图6给出了4号截面(具体位置见图2)的剖面图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例一
请参考图1,图1为一种考虑物面法向信息的壁面距离计算方法的流程示意图,所述方法包括:
步骤1:基于来流条件确定外边界范围,在飞行器物面生成物面网格,基于外边界范围和物面网格生成结构化物理空间网格;
步骤2:分别建立大盒子、中盒子和小盒子,并将所有物面网格单元信息存入大盒子、中盒子和小盒子中;每个大盒子包括若干中盒子,每个中盒子包括若干个小盒子,小盒子用于存储满足预设条件的物面网格单元信息;每个小盒子包括以下参数特征:物面单元数目、每个方向的坐标极小值、每个方向的坐标极大值、每个物面网格单元的坐标值和单位法向矢量三个分量的符号及大小关系;每个中盒子包括以下参数特征:包含的小盒子数目、每个方向的坐标极小值、每个方向的坐标极大值和单位法向矢量三个分量的符号及大小关系;
步骤3:基于大盒子、中盒子和小盒子中存储的物面网格单元信息,针对结构化物理空间网格中任意一个网格单元p,计算得到网格单元p与物面网格中所有网格单元的最小距离;
步骤4:重复执行步骤3直至得到结构化物理空间网格中的每个网格单元与物面网格中所有网格单元的最小距离。
下面对本方法进行详细介绍:
具体实施步骤如下:
步骤(1):针对任意飞行器外形,基于来流条件确定外边界范围,采用网格生成软件在飞行器物面生成物面网格,基于外边界和物面网格生成结构化物理空间网格。
步骤(2):确定大盒子的排列方向和总数目。
具体做法如下:根据飞行器物面网格坐标,可以得到物理空间的三个方向(x/y/z)上坐标的极大极小值Xmax、Xmin、Ymax、Ymin、Zmax、Zmin。三个方向展长分别为
Figure 299822DEST_PATH_IMAGE006
Figure 303550DEST_PATH_IMAGE007
Figure 948158DEST_PATH_IMAGE008
。展长最大的方向即为大盒子的排列方向。这样做的目的在于确保剖分后的大盒子长宽高之间的差别不至于太大。
大盒子总数一般可以设定为几十到几百,视物理空间网格单元数以及物面网格单元数多少而定。
为了描述简便,以下以大盒子的排列方向为x方向进行说明,y和z方向同理。
步骤(3):初步确定每个大盒子的参数特征。每个大盒子包含以下三个参数特征:排列方向坐标极小值xL_L,排列方向坐标极大值xL_R,包含的中盒子(以下简称中盒子)个数no_M。
第N(N大于或等于1且小于或等于大盒子总数N_Large)个大盒子中xL_L、xL_R这样确定:
Figure 607809DEST_PATH_IMAGE080
Figure 628855DEST_PATH_IMAGE081
其中
Figure 736357DEST_PATH_IMAGE082
为每个大盒子在排列方向上的宽度。
中盒子个数no_M初值给定为16。每个中盒子可能会包含若干个小盒子(以下简称小盒子),在不同类型的小盒子中分别存储满足如下条件的物面网格单元:
Figure 755129DEST_PATH_IMAGE001
其中
Figure 698814DEST_PATH_IMAGE002
为物面网格单元单位法向矢量。
Figure 257971DEST_PATH_IMAGE003
Figure 173974DEST_PATH_IMAGE004
Figure 425964DEST_PATH_IMAGE005
分别是该矢量在x、y、z三个方向上的分量。
步骤(4):确定每个小盒子的参数特征和每个中盒子的参数特征并更新每个大盒子中中盒子个数。
每个小盒子包含以下参数特征:物面单元数目no_wall,x方向坐标极小值xS_L,x方向坐标极大值xS_R,y方向坐标极小值yS_L,y方向坐标极大值yS_R,z方向坐标极小值zS_L,z方向坐标极大值zS_R,每一个物面网格单元的坐标值,单位法向矢量三个分量的符号及大小关系。
每个中盒子包含以下参数特征:包含的小盒子数目no_S,x方向坐标极小值xM_L,x方向坐标极大值xM_R,y方向坐标极小值yM_L,y方向坐标极大值yM_R,z方向坐标极小值zM_L,z方向坐标极大值zM_R,单位法向矢量三个分量的符号及大小关系。
具体做法如下:遍历步骤(1)生成的物理空间网格中所有网格块中的所有物面边界,在每一个物面边界中,针对其包含的每一个物面网格单元,根据物面网格单元的x方向坐标定位其所在的大盒子编号,根据其单位法向矢量值确定其所在的中盒子的编号,如果该中盒子中小盒子数目为0,则建立一个小盒子,新建小盒子中物面单元数目值记为1,同时将该物面单元的坐标值记在新建小盒子的参数信息中。如果该中盒子中小盒子数目不为0,则查找该中盒子中最后一个小盒子中存放的物面单元数目,如数目值小于psLimit,则该小盒子中物面单元数目加1,同时将该物面单元的坐标值记在该小盒子的参数信息中。如果该小盒子中物面单元数目值等于psLimit。则新建一个小盒子,新建小盒子中物面单元数目值记为1,同时将该物面单元的坐标值记在新建小盒子的参数信息中。
psLimit一般取几十到几百,视物理空间网格单元数以及物面网格单元数多少而定。不同的psLimit值会影响壁面距离的计算效率。
遍历完成之后,每一个小盒子中的如下特征信息可以确定:物面单元数目,每一个物面单元的坐标值。x/y/z三个方向上的坐标极大极小值xS_L,xS_R,yS_L,yS_R,zS_L,zS_R可以通过对所有物面单元坐标值求最大最小值得到。
遍历完成之后,同时可以确定每一个中盒子中的如下特征信息:包含的小盒子数目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求最大最小值得到。
针对每一个大盒子,遍历其包含的所有中盒子,如果中盒子中小盒子数目为0,则说明该大盒子中没有包含满足相应单位法向矢量关系的物面单元,该中盒子为空,进而将该大盒子中中盒子的数目no_M减1。遍历完成,即可以得到每个大盒子中中盒子数目的最终值。
到此为止,将所有物面网格单元的信息都放入了大、中、小三层盒子中。
针对物理空间网格中任意一个网格单元p,执行步骤(5)-步骤(19),找到该单元与物面网格所有单元的最小距离。
步骤(5):读入物理空间网格单元p的格心坐标(xp,yp,zp), 确定开始计算查找的大盒子编号I_start。
具体做法如下:
如果xp小于或等于第一个大盒子的xL_R,则从第一个大盒子开始计算查找;
如果xp大于或等于最后一个大盒子的xL_L,则从最后一个大盒子开始计算查找;
如果xp大于或等于第N个大盒子的xL_L且小于或等于第N个大盒子的xL_R,则从第N个大盒子开始计算查找。
步骤(6):在上一步骤中确定的大盒子中确定参与计算查找的中盒子,并得到总数目,记为no_M_temp。
具体做法如下:
对于
Figure 60208DEST_PATH_IMAGE083
的中盒子,只有满足xp大于或等于该中盒子x方向坐标极小值xM_L才会被选中;对于
Figure 908209DEST_PATH_IMAGE084
的中盒子,只有满足xp小于或等于该中盒子x方向坐标极大值xM_R才会被选中。如此一来,可以根据物面单位法向矢量过滤掉一部分中盒子,减少进行距离计算和比较的工作量。
步骤(7):寻找物理空间网格单元p与上一步骤中确定的no_M_temp个中盒子的距离
Figure 741036DEST_PATH_IMAGE022
Figure 101610DEST_PATH_IMAGE022
是一个有no_M_temp个元素的数组。具体计算方法如下:
Figure 754309DEST_PATH_IMAGE054
其中,
Figure 920848DEST_PATH_IMAGE055
为数组Dz中第I个元素的数值,
Figure 857449DEST_PATH_IMAGE056
为Dz中第I个元素在x方向上的投影,
Figure 388924DEST_PATH_IMAGE057
为Dz中第I个元素在y方向上的投影,
Figure 794498DEST_PATH_IMAGE058
为Dz中第I个元素在z方向上的投影,
Figure 233569DEST_PATH_IMAGE059
Figure 978671DEST_PATH_IMAGE060
为最小模限制器
Figure 477786DEST_PATH_IMAGE061
的两个自变量,
Figure 855809DEST_PATH_IMAGE061
为最小模限制器,其数值由两个自变量
Figure 364150DEST_PATH_IMAGE059
Figure 229338DEST_PATH_IMAGE060
符号及绝对值大小确定,
Figure 164933DEST_PATH_IMAGE059
Figure 13940DEST_PATH_IMAGE060
符号相反,则
Figure 263656DEST_PATH_IMAGE061
值为0,
Figure 294935DEST_PATH_IMAGE059
Figure 135852DEST_PATH_IMAGE060
符号相同,则
Figure 675418DEST_PATH_IMAGE061
Figure 525562DEST_PATH_IMAGE059
Figure 99763DEST_PATH_IMAGE060
中绝对值较小的那一个,
Figure 111581DEST_PATH_IMAGE062
Figure 217072DEST_PATH_IMAGE063
分别为第I个中盒子在x方向上的坐标极小值和极大值,
Figure 543011DEST_PATH_IMAGE064
Figure 299614DEST_PATH_IMAGE065
分别为第I个中盒子在y方向上的坐标极小值和极大值,
Figure 482334DEST_PATH_IMAGE066
Figure 996492DEST_PATH_IMAGE067
分别为第I个中盒子在z方向上的坐标极小值和极大值。
步骤(8):对上一步骤中得到的数组
Figure 188439DEST_PATH_IMAGE022
的no_M_temp个元素从小到大进行排序,得到一个有序数组
Figure 783237DEST_PATH_IMAGE023
步骤(9):从数组
Figure 340120DEST_PATH_IMAGE023
中第一个元素对应的中盒子开始,确定该中盒子中参与最小距离计算的小盒子,并得到总数目,记为no_S_temp。
具体做法如下:
对于
Figure 403891DEST_PATH_IMAGE083
的小盒子,只有满足xp大于或等于该小盒子x方向坐标极小值xS_L才会被选中;对于
Figure 337212DEST_PATH_IMAGE085
的小盒子,只有满足yp大于或等于该小盒子y方向坐标极小值yS_L才会被选中;对于
Figure 537249DEST_PATH_IMAGE086
的小盒子,只有满足zp大于或等于该小盒子z方向坐标极小值zS_L才会被选中;对于
Figure 327351DEST_PATH_IMAGE084
的小盒子,只有满足xp小于该小盒子x方向坐标极大值xS_R才会被选中;对于
Figure 816101DEST_PATH_IMAGE087
的小盒子,只有满足yp小于该小盒子y方向坐标极大值yS_R才会被选中;对于
Figure 100583DEST_PATH_IMAGE088
的小盒子,只有满足zp小于该小盒子z方向坐标极大值zS_R才会被选中。如此一来,可以根据物面单位法向矢量过滤掉一部小盒子,减少进行距离计算和比较的工作量。
步骤(10):寻找物理空间网格单元p与上一步骤中确定的no_S_temp个小盒子的距离
Figure 420706DEST_PATH_IMAGE024
Figure 319392DEST_PATH_IMAGE024
是一个有no_S_temp个元素的数组。具体计算方法如下:
Figure 357755DEST_PATH_IMAGE068
其中,
Figure 429616DEST_PATH_IMAGE069
为数组Dz2中第J个元素的数值,
Figure 541928DEST_PATH_IMAGE070
为Dz2中第J个元素在x方向上的投影,
Figure 188679DEST_PATH_IMAGE071
为Dz2中第J个元素在y方向上的投影,
Figure 183180DEST_PATH_IMAGE072
为Dz2中第J个元素在z方向上的投影,
Figure 261995DEST_PATH_IMAGE059
Figure 291130DEST_PATH_IMAGE060
为最小模限制器
Figure 797198DEST_PATH_IMAGE061
的两个自变量,
Figure 278995DEST_PATH_IMAGE061
为最小模限制器,其数值由两个自变量
Figure 708971DEST_PATH_IMAGE059
Figure 795875DEST_PATH_IMAGE060
符号及绝对值大小确定,
Figure 535161DEST_PATH_IMAGE059
Figure 504254DEST_PATH_IMAGE060
符号相反,则
Figure 924871DEST_PATH_IMAGE061
值为0,
Figure 928599DEST_PATH_IMAGE059
Figure 822475DEST_PATH_IMAGE060
符号相同,则
Figure 482126DEST_PATH_IMAGE061
Figure 503172DEST_PATH_IMAGE059
Figure 361407DEST_PATH_IMAGE060
中绝对值较小的那一个,
Figure 114599DEST_PATH_IMAGE073
Figure 58284DEST_PATH_IMAGE074
为第J个小盒子在x方向上的坐标极小值和极大值,
Figure 633753DEST_PATH_IMAGE075
Figure 549756DEST_PATH_IMAGE076
为第J个小盒子在y方向上的坐标极小值和极大值,
Figure 801746DEST_PATH_IMAGE077
Figure 170411DEST_PATH_IMAGE078
为第J个小盒子在z方向上的坐标极小值和极大值。
步骤(11):对上一步骤中得到数组
Figure 267680DEST_PATH_IMAGE024
的no_S_temp个元素从小到大进行排序,得到一个有序数组
Figure 366086DEST_PATH_IMAGE025
步骤(12):从数组
Figure 726660DEST_PATH_IMAGE025
第1个元素对应的小盒子开始,逐个计算物理网格单元p与其中包含的所有物面单元的距离,通过比较得到这些距离中的最小值
Figure 628626DEST_PATH_IMAGE026
三维坐标为(xp,yp,zp)的物理网格单元p与三维坐标为(xq,yq,zq)的某一物面网格单元q之间距离的计算公式为:
Figure 795165DEST_PATH_IMAGE089
步骤(13):将
Figure 685760DEST_PATH_IMAGE026
与数组
Figure 279553DEST_PATH_IMAGE025
中尚未参与最小物面距离计算比较的最小元素(记其编号为S)进行对比。
如果
Figure 622809DEST_PATH_IMAGE026
小于后者,则物理空间网格单元p与步骤(9)中中盒子中所有物面单元的最小距离即为
Figure 61881DEST_PATH_IMAGE026
。直接进入下一步骤。
如果
Figure 620032DEST_PATH_IMAGE027
大于后者,则进入数组
Figure 322409DEST_PATH_IMAGE025
中S号元素对应的小盒子,计算物理网格单元p与其中包含的所有物面单元的距离,通过比较得到这些距离中的最小值
Figure 215279DEST_PATH_IMAGE028
。比较
Figure 458041DEST_PATH_IMAGE026
Figure 57650DEST_PATH_IMAGE028
的大小。如果
Figure 993245DEST_PATH_IMAGE029
,则直接进入下一步骤。如果
Figure 311094DEST_PATH_IMAGE030
,则说明还有比
Figure 606815DEST_PATH_IMAGE026
更小的物面距离存在,将
Figure 123247DEST_PATH_IMAGE027
的值重新赋为
Figure 167426DEST_PATH_IMAGE028
,重新执行当前步骤。
步骤(14):记
Figure 34888DEST_PATH_IMAGE026
为物理空间网格单元p与步骤(9)中数组
Figure 619453DEST_PATH_IMAGE023
第一个元素对应的中盒子中所有物面单元的最小距离。
步骤(15):将
Figure 193654DEST_PATH_IMAGE026
与数组
Figure 221784DEST_PATH_IMAGE023
中尚未参与最小物面距离计算比较的最小元素(记其编号为T)进行对比。
如果
Figure 310963DEST_PATH_IMAGE026
小于后者,则物理空间网格单元p与步骤(5)中编号为I_start的大盒子中所有物面单元的最小距离即为
Figure 636902DEST_PATH_IMAGE026
。直接进入下一步骤。
如果
Figure 127926DEST_PATH_IMAGE027
大于后者,则进入数组
Figure 779487DEST_PATH_IMAGE023
中T号元素对应的中盒子,计算物理网格单元p与其中包含的所有物面单元的最小距离,具体计算方法与步骤(9)-步骤(14)相同,记该最小距离为
Figure 90383DEST_PATH_IMAGE032
。比较
Figure 555035DEST_PATH_IMAGE026
Figure 103828DEST_PATH_IMAGE032
的大小。如果
Figure 457449DEST_PATH_IMAGE090
,则直接进入下一步骤。如果
Figure 521220DEST_PATH_IMAGE091
,则说明还有比
Figure 454541DEST_PATH_IMAGE026
更小的物面距离存在,将
Figure 920157DEST_PATH_IMAGE026
的值重新赋为
Figure 929833DEST_PATH_IMAGE032
,重新执行当前步骤。
步骤(16):记
Figure 480900DEST_PATH_IMAGE026
为物理空间网格单元p与步骤(5)中编号为I_start的大盒子中所有物面单元的最小距离。
步骤(17):逐个进入编号小于I_start的大盒子中进行最小物面距离的计算比较。
具体方法为,设当前进入的大盒子编号为K,排列方向极大值xL_R,比较
Figure 749070DEST_PATH_IMAGE026
Figure 6876DEST_PATH_IMAGE092
的大小。
如果
Figure 233458DEST_PATH_IMAGE093
,则表明物理空间网格单元p与编号为K的大盒子中包含的所有物面网格单元的最小距离比当前已经找到的最小距离
Figure 209504DEST_PATH_IMAGE026
还要大,可以不用进入该大盒子进行计算比较。继续进入编号为K-1的大盒子进行计算比较直至
Figure 530633DEST_PATH_IMAGE037
如果
Figure 705262DEST_PATH_IMAGE094
,则表明物理空间网格单元p与编号为K的大盒子中包含的所有物面网格单元的最小距离可能比当前已经找到的最小距离
Figure 774850DEST_PATH_IMAGE026
还要小,此时需要执行步骤(6)-步骤(16),得到物理空间网格单元p与编号为K的大盒子中包含的所有物面网格单元的最小距离
Figure 300509DEST_PATH_IMAGE039
。如果
Figure 910482DEST_PATH_IMAGE040
,将
Figure 142880DEST_PATH_IMAGE026
的值重新赋为
Figure 461997DEST_PATH_IMAGE039
。继续进入编号为K-1的大盒子进行计算比较直至
Figure 147056DEST_PATH_IMAGE037
步骤(18):逐个进入编号大于I_start的大盒子中进行最小物面距离的计算比较。
具体方法为,设当前进入的大盒子编号为L,排列方向极小值xL_L,比较
Figure 560720DEST_PATH_IMAGE026
Figure 709942DEST_PATH_IMAGE095
的大小。
如果
Figure 386911DEST_PATH_IMAGE096
,则表明物理空间网格单元p与编号为L的大盒子中包含的所有物面网格单元的最小距离比当前已经找到的最小距离
Figure 356004DEST_PATH_IMAGE026
还要大,可以不用进入该大盒子进行计算比较。继续进入编号为L+1的大盒子进行计算比较直至
Figure 822626DEST_PATH_IMAGE097
如果
Figure 29616DEST_PATH_IMAGE098
,则表明物理空间网格单元p与编号为L的大盒子中包含的所有物面网格单元的最小距离可能比当前已经找到的最小距离
Figure 939803DEST_PATH_IMAGE026
还要小,此时需要执行步骤(6)-步骤(16),得到物理空间网格单元p与编号为L的大盒子中包含的所有物面网格单元的最小距离
Figure 396193DEST_PATH_IMAGE049
。如果
Figure 354921DEST_PATH_IMAGE050
,将
Figure 213156DEST_PATH_IMAGE026
的值重新赋为
Figure 779398DEST_PATH_IMAGE049
。继续进入编号为L+1的大盒子进行计算比较直至
Figure 926345DEST_PATH_IMAGE097
步骤(19):记
Figure 751082DEST_PATH_IMAGE026
为物理空间网格单元p与所有物面网格单元的最小距离。
重复执行步骤(5)-步骤(19),可以找到所有物理空间网格单元与物面网格所有单元的最小距离。
下面给出复杂细长体外形的具体实施实例。
图2给出了飞行器的外形示意图,该外形包含舵及底部发动机喷流通道。采用Gridgen生成物理空间网格,物理空间网格单元总数60644487。物面网格单元总数632762。
图3-图6给出了不同横截面位置的剖面图。图3-图6中小箭头指出了物面法向矢量
Figure 463823DEST_PATH_IMAGE099
的方向。部分区域中物面单位法向矢量的分量符号也在图中进行了标注。根据本发明的描述步骤,首先建立三层盒子。接着针对所有的物理空间网格单元计算了与所有物面网格单元的最小距离。为了展示本发明的有效性,同时采用直接法进行了物面最小距离的计算。表1给出了不同大盒子数和小盒子中物面单元数(psLimit)情况下确定的中小盒子的总数以及加速比。加速比定义为直接法耗时与本发明耗时之比。
表1 不同自由参数下中小盒子数及耗时比
Figure 387916DEST_PATH_IMAGE100
可以看出,本发明相对于直接法,加速比可达25倍左右。加速比还与物理空间网格分布、物面网格数目、大盒子总数、小盒子大小、并行计算规模等因素有关。可以在实际应用中经过多次尝试找到最佳参数设置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种考虑物面法向信息的壁面距离计算方法,其特征在于,所述方法包括:
步骤1:基于来流条件确定外边界范围,在飞行器物面生成物面网格,基于外边界范围和物面网格生成结构化物理空间网格;
步骤2:分别建立大盒子、中盒子和小盒子,并将所有物面网格单元信息存入大盒子、中盒子和小盒子中;每个大盒子包括若干中盒子,每个中盒子包括若干小盒子,小盒子用于存储满足预设条件的物面网格单元信息;每个小盒子包括以下参数特征:物面单元数目、每个方向的坐标极小值、每个方向的坐标极大值、每个物面网格单元的坐标值和单位法向矢量三个分量的符号及大小关系;每个中盒子包括以下参数特征:包含的小盒子数目、每个方向的坐标极小值、每个方向的坐标极大值和单位法向矢量三个分量的符号及大小关系;
步骤3:基于大盒子、中盒子和小盒子中存储的物面网格单元信息,针对结构化物理空间网格中任意一个网格单元p,计算得到网格单元p与物面网格中所有网格单元的最小距离;
步骤4:重复执行步骤3直至得到结构化物理空间网格中的每个网格单元与物面网格中所有网格单元的最小距离;
所述将所有物面网格单元信息存入大盒子、中盒子和小盒子中,具体包括:
首先,确定大盒子的排列方向和总数目;
然后,初步确定每个大盒子的参数特征,每个大盒子包括以下参数特征:排列方向坐标极小值、排列方向坐标极大值和包含的中盒子个数,每个中盒子包含若干个小盒子,小盒子中存储有满足预设条件的物面网格单元信息;
然后,确定每个小盒子的参数特征和每个中盒子的参数特征,并基于每个中盒子的参数特征更新每个大盒子中中盒子的个数;
本方法采用以下方式确定大盒子的排列方向和总数目:
根据飞行器物面网格坐标得到物理空间x、y和z方向上坐标的极大极小值Xmax、Xmin、Ymax、Ymin、Zmax和Zmin;计算得到x、y和z方向展长分别为
Figure DEST_PATH_IMAGE001
Figure DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE003
;展长最大的方向为大盒子的排列方向;
根据物理空间网格单元数以及物面网格单元数确定大盒子的总数目;
每个大盒子包括以下参数特征:排列方向坐标极小值L_min、排列方向坐标极大值L_max和包含的中盒子个数no_M;其中,第N个大盒子中L_min和L_max采用以下方式计算获得:
若大盒子排列方向为x方向,则:
Figure DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE005
其中,
Figure DEST_PATH_IMAGE006
为每个大盒子在x方向上的宽度,
Figure DEST_PATH_IMAGE007
为飞行器在x方向上的展长,
Figure DEST_PATH_IMAGE008
为大盒子总数目;
若大盒子排列方向为y方向,则:
Figure DEST_PATH_IMAGE009
Figure DEST_PATH_IMAGE010
其中,
Figure DEST_PATH_IMAGE011
为每个大盒子在y方向上的宽度,
Figure DEST_PATH_IMAGE012
为飞行器在y方向上的展长;
若大盒子排列方向为z方向,则:
Figure DEST_PATH_IMAGE013
Figure DEST_PATH_IMAGE014
其中,
Figure DEST_PATH_IMAGE015
为每个大盒子在z方向上的宽度,
Figure DEST_PATH_IMAGE016
为飞行器在z方向上的展长;
所述方法采用以下方式计算得到网格单元p与物面网格中所有网格单元的最小距离:
步骤a:读入网格单元p的格心坐标(xp,yp,zp), 基于格心坐标确定开始计算查找的大盒子编号I_start;
步骤b:在编号I_start对应的大盒子中确定参与计算查找的中盒子,并获得中盒子的总数目no_M_temp;
步骤c:分别计算获得网格单元p与no_M_temp个中盒子的距离,获得数组
Figure DEST_PATH_IMAGE017
步骤d:对数组
Figure 521374DEST_PATH_IMAGE017
中的no_M_temp个元素按照由小到大的顺序进行排序获得有序数组
Figure DEST_PATH_IMAGE018
步骤e:从数组
Figure 172935DEST_PATH_IMAGE018
中第一个元素对应的中盒子开始,确定该中盒子中参与最小距离计算的小盒子,并得到小盒子总数目no_S_temp;
步骤f:计算获得网格单元p与no_S_temp个小盒子的距离,获得数组
Figure DEST_PATH_IMAGE019
步骤g:对数组
Figure 546148DEST_PATH_IMAGE019
中的no_S_temp个元素按照由小到大的顺序进行排序得到有序数组
Figure DEST_PATH_IMAGE020
步骤h:从数组
Figure 987362DEST_PATH_IMAGE020
中的第1个元素对应的小盒子开始,逐个计算网格单元p与该小盒子包含的所有物面单元的距离,获得no_S_temp个距离值,比较no_S_temp个距离值的大小获得最小值
Figure DEST_PATH_IMAGE021
步骤i:将
Figure DEST_PATH_IMAGE022
与数组
Figure 864051DEST_PATH_IMAGE020
中未参与最小物面距离计算比较编号为S的最小元素进行对比;
Figure 952093DEST_PATH_IMAGE021
小于编号为S的元素值,则网格单元p与步骤e中中盒子中所有物面单元的最小距离为
Figure 422389DEST_PATH_IMAGE021
并执行步骤j;
Figure 886868DEST_PATH_IMAGE022
大于元素编号为S的元素值,则进入数组
Figure 899954DEST_PATH_IMAGE020
中S号元素对应的小盒子,计算网格单元p与该小盒子包含的所有物面单元的距离,通过比较计算得到的距离值大小获得其中的最小值
Figure DEST_PATH_IMAGE023
;若
Figure DEST_PATH_IMAGE024
,则执行步骤j;若
Figure DEST_PATH_IMAGE025
,则将
Figure 158898DEST_PATH_IMAGE021
的值重新赋为
Figure DEST_PATH_IMAGE026
,并重新执行步骤i;
步骤j:记
Figure 755970DEST_PATH_IMAGE021
为网格单元p与步骤e中数组
Figure 758561DEST_PATH_IMAGE018
第一个元素对应的中盒子中所有物面单元的最小距离;
步骤k:将
Figure 750788DEST_PATH_IMAGE021
与数组
Figure 508528DEST_PATH_IMAGE018
中未参与最小物面距离计算比较编号为T的最小元素进行对比;
Figure 218995DEST_PATH_IMAGE021
小于编号为T的元素值,则网格单元p与步骤a中编号为I_start的大盒子中所有物面单元的最小距离即为
Figure 759698DEST_PATH_IMAGE021
并执行步骤l;
如果
Figure 481797DEST_PATH_IMAGE021
大于编号为T的元素值,则进入数组
Figure 82543DEST_PATH_IMAGE018
中元素T对应的中盒子,计算网格单元p与该中盒子包含的所有物面单元的最小距离获得最小距离为
Figure DEST_PATH_IMAGE027
;若
Figure DEST_PATH_IMAGE028
,则执行步骤l;若
Figure DEST_PATH_IMAGE029
,将
Figure 342623DEST_PATH_IMAGE021
的值重新赋为
Figure 998601DEST_PATH_IMAGE027
,并执行步骤k;
步骤l:记
Figure 762158DEST_PATH_IMAGE021
为网格单元p与步骤a中编号为I_start的大盒子中所有物面单元的最小距离;
步骤m:逐个进入编号小于I_start的大盒子中进行最小物面距离的计算比较,设当前进入的大盒子编号为K,排列方向极大值L_max,比较
Figure 737067DEST_PATH_IMAGE021
与左侧距离
Figure DEST_PATH_IMAGE030
的大小;若
Figure DEST_PATH_IMAGE031
,则继续进入编号为K-1的大盒子进行计算比较直至
Figure DEST_PATH_IMAGE032
;若
Figure DEST_PATH_IMAGE033
,则执行步骤b-步骤l得到网格单元p与编号为K的大盒子中包含的所有物面网格单元的最小距离
Figure DEST_PATH_IMAGE034
;若
Figure DEST_PATH_IMAGE035
,则将
Figure 828651DEST_PATH_IMAGE021
的值重新赋为
Figure 39052DEST_PATH_IMAGE034
,继续进入编号为K-1的大盒子进行计算比较直至
Figure 657116DEST_PATH_IMAGE032
步骤m中,
Figure 802926DEST_PATH_IMAGE030
的计算方法为:
若大盒子排列方向为x方向,则:
Figure DEST_PATH_IMAGE036
若大盒子排列方向为y方向,则:
Figure DEST_PATH_IMAGE037
若大盒子排列方向为z方向,则:
Figure DEST_PATH_IMAGE038
步骤n:逐个进入编号大于I_start的大盒子中进行最小物面距离的计算比较,设当前进入的大盒子编号为L,排列方向极小值L_min,比较
Figure 145921DEST_PATH_IMAGE021
与右侧距离
Figure DEST_PATH_IMAGE039
的大小;若
Figure DEST_PATH_IMAGE040
,继续进入编号为L+1的大盒子进行计算比较直至
Figure DEST_PATH_IMAGE041
;若
Figure DEST_PATH_IMAGE042
,则执行步骤b-步骤l得到网格单元p与编号为L的大盒子中包含的所有物面网格单元的最小距离
Figure DEST_PATH_IMAGE043
;若
Figure DEST_PATH_IMAGE044
,将
Figure 441904DEST_PATH_IMAGE021
的值重新赋为
Figure 383315DEST_PATH_IMAGE043
,继续进入编号为L+1的大盒子进行计算比较直至
Figure 762344DEST_PATH_IMAGE041
;当
Figure 264738DEST_PATH_IMAGE041
成立时,则执行步骤o;
步骤n中,
Figure 754625DEST_PATH_IMAGE039
的计算方式为:
若大盒子排列方向为x方向,则:
Figure DEST_PATH_IMAGE045
若大盒子排列方向为y方向,则:
Figure DEST_PATH_IMAGE046
若大盒子排列方向为z方向,则:
Figure DEST_PATH_IMAGE047
步骤o:记
Figure 347281DEST_PATH_IMAGE021
为网格单元p与所有物面网格单元的最小距离。
2.根据权利要求1所述的一种考虑物面法向信息的壁面距离计算方法,其特征在于,不同类型的小盒子中分别存储有满足以下条件的物面网格单元信息:
Figure DEST_PATH_IMAGE048
其中,
Figure DEST_PATH_IMAGE049
为物面网格单元的单位法向矢量,
Figure DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE051
Figure DEST_PATH_IMAGE052
分别是物面网格单元的单位法向矢量在x、y和z三个方向上的分量。
3.根据权利要求1所述的一种考虑物面法向信息的壁面距离计算方法,其特征在于,所述确定每个小盒子的参数特征和每个中盒子的参数特征,并基于每个中盒子的参数特征更新每个大盒子中中盒子的个数,具体包括:
遍历结构化物理空间网格中所有网格块中的所有物面边界,在每一个物面边界中,针对物面边界包含的每一个物面网格单元,根据物面网格单元在预设方向上的坐标定位物面网格单元所在的大盒子编号,根据物面网格单元的单位法向矢量值确定物面网格单元所在的中盒子的第一编号;
若第一编号对应的中盒子中小盒子数目为0,则新建一个第一小盒子,将第一小盒子中物面网格单元数目值修改为1,并将物面网格单元的坐标值记在第一小盒子的参数信息中;
若第一编号对应的中盒子中小盒子数目不为0,则查找获得第一编号对应的中盒子中排列最后一位的小盒子获得第二小盒子,获得第二小盒子中存放的物面网格单元数目获得第一数值;
若第一数值小于第一阈值,则第二小盒子中物面网格单元数目加1,将物面网格单元的坐标值记在第二小盒子的参数信息中;
若第一数值等于第一阈值,则新建一个小盒子获得第三小盒子,第三小盒子中物面网格单元数目值记为1,将物面网格单元的坐标值记在第三小盒子的参数信息中;
遍历完成之后,获得每一个小盒子中的如下特征信息:物面网格单元数目、每一个物面网格单元的坐标值以及每个方向上的坐标极大值和极小值;
遍历完成之后,确定每一个中盒子中的如下特征信息:包含的小盒子数目以及每个方向上的坐标极大值和极小值;
针对每一个大盒子,遍历大盒子包含的所有中盒子,若中盒子中小盒子数目为0,则将该大盒子中中盒子的数目减1,遍历完成得到每个大盒子中中盒子数目的最终值。
4.根据权利要求1所述的一种考虑物面法向信息的壁面距离计算方法,其特征在于,步骤c中
Figure 241418DEST_PATH_IMAGE017
的计算方式为:
Figure DEST_PATH_IMAGE053
其中,
Figure DEST_PATH_IMAGE054
为数组Dz中第I个元素的数值,
Figure DEST_PATH_IMAGE055
为Dz中第I个元素在x方向上的投影,
Figure DEST_PATH_IMAGE056
为Dz中第I个元素在y方向上的投影,
Figure DEST_PATH_IMAGE057
为Dz中第I个元素在z方向上的投影,
Figure DEST_PATH_IMAGE058
Figure DEST_PATH_IMAGE059
为最小模限制器
Figure DEST_PATH_IMAGE060
的两个自变量,
Figure DEST_PATH_IMAGE061
Figure DEST_PATH_IMAGE062
分别为第I个中盒子在x方向上的坐标极小值和极大值,
Figure DEST_PATH_IMAGE063
Figure DEST_PATH_IMAGE064
分别为第I个中盒子在y方向上的坐标极小值和极大值,
Figure DEST_PATH_IMAGE065
Figure DEST_PATH_IMAGE066
分别为第I个中盒子在z方向上的坐标极小值和极大值。
5.根据权利要求1所述的一种考虑物面法向信息的壁面距离计算方法,其特征在于,步骤f中数组
Figure 214797DEST_PATH_IMAGE019
的计算方式为:
Figure DEST_PATH_IMAGE067
其中,
Figure DEST_PATH_IMAGE068
为数组Dz2中第J个元素的数值,
Figure DEST_PATH_IMAGE069
为Dz2中第J个元素在x方向上的投影,
Figure DEST_PATH_IMAGE070
为Dz2中第J个元素在y方向上的投影,
Figure DEST_PATH_IMAGE071
为Dz2中第J个元素在z方向上的投影,
Figure 118162DEST_PATH_IMAGE058
Figure 565324DEST_PATH_IMAGE059
为最小模限制器
Figure 82893DEST_PATH_IMAGE060
的两个自变量,
Figure DEST_PATH_IMAGE072
Figure DEST_PATH_IMAGE073
为第J个小盒子在x方向上的坐标极小值和极大值,
Figure DEST_PATH_IMAGE074
Figure DEST_PATH_IMAGE075
为第J个小盒子在y方向上的坐标极小值和极大值,
Figure DEST_PATH_IMAGE076
Figure DEST_PATH_IMAGE077
为第J个小盒子在z方向上的坐标极小值和极大值。
6.根据权利要求1所述的一种考虑物面法向信息的壁面距离计算方法,其特征在于,三维坐标为(xp,yp,zp)的网格单元p与三维坐标为(xq,yq,zq)的物面网格单元q之间距离D的计算公式为:
Figure DEST_PATH_IMAGE078
CN202210659702.5A 2022-06-13 2022-06-13 一种考虑物面法向信息的壁面距离计算方法 Active CN114756974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210659702.5A CN114756974B (zh) 2022-06-13 2022-06-13 一种考虑物面法向信息的壁面距离计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210659702.5A CN114756974B (zh) 2022-06-13 2022-06-13 一种考虑物面法向信息的壁面距离计算方法

Publications (2)

Publication Number Publication Date
CN114756974A CN114756974A (zh) 2022-07-15
CN114756974B true CN114756974B (zh) 2022-09-02

Family

ID=82336451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210659702.5A Active CN114756974B (zh) 2022-06-13 2022-06-13 一种考虑物面法向信息的壁面距离计算方法

Country Status (1)

Country Link
CN (1) CN114756974B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115618498B (zh) * 2022-11-08 2023-03-10 中国空气动力研究与发展中心计算空气动力研究所 一种飞行器跨流域流场的预测方法、装置、设备及介质
CN117540507B (zh) * 2024-01-08 2024-06-04 中国空气动力研究与发展中心计算空气动力研究所 全环网格壁面距离的计算方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391950A (zh) * 2017-08-03 2017-11-24 中国空气动力研究与发展中心计算空气动力研究所 一种湍流壁面距离快速计算方法
CN112613126A (zh) * 2020-12-29 2021-04-06 中国航天空气动力技术研究院 一种应用于飞行器外形的壁面距离计算方法及装置
CN112818573A (zh) * 2021-01-26 2021-05-18 北京理工大学 一种用于非结构网格的获取边界层非当地变量信息的方法
CN113158338A (zh) * 2021-04-13 2021-07-23 中国空气动力研究与发展中心计算空气动力研究所 一种基于粗网格快速湍流壁面函数气动力预测方法
CN113515903A (zh) * 2021-09-08 2021-10-19 中国空气动力研究与发展中心计算空气动力研究所 一种分区封装的快速寻点方法、存储介质及终端
CN113609599A (zh) * 2021-10-09 2021-11-05 北京航空航天大学 一种飞行器湍流绕流模拟的壁面距有效单元计算方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113379A1 (en) * 2013-10-23 2015-04-23 Schlumberger Technology Corporation Representation of unstructured grids
WO2017084106A1 (zh) * 2015-11-20 2017-05-26 田川 一种数值模拟飞行器流场的系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391950A (zh) * 2017-08-03 2017-11-24 中国空气动力研究与发展中心计算空气动力研究所 一种湍流壁面距离快速计算方法
CN112613126A (zh) * 2020-12-29 2021-04-06 中国航天空气动力技术研究院 一种应用于飞行器外形的壁面距离计算方法及装置
CN112818573A (zh) * 2021-01-26 2021-05-18 北京理工大学 一种用于非结构网格的获取边界层非当地变量信息的方法
CN113158338A (zh) * 2021-04-13 2021-07-23 中国空气动力研究与发展中心计算空气动力研究所 一种基于粗网格快速湍流壁面函数气动力预测方法
CN113515903A (zh) * 2021-09-08 2021-10-19 中国空气动力研究与发展中心计算空气动力研究所 一种分区封装的快速寻点方法、存储介质及终端
CN113609599A (zh) * 2021-10-09 2021-11-05 北京航空航天大学 一种飞行器湍流绕流模拟的壁面距有效单元计算方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Assessment of Two Turbulence Models and Some Compressibility Corrections for Hypersonic Compression Corners by High-order Difference Schemes;TU Guohua 等;《Chinese Journal of Aeronautics》;20120229;第25卷(第1期);第25-32页 *
Efficient Method for Calculating Wall Proximity;David A.Boger;《AIAA Journal》;20011231;第39卷(第12期);第2404-2406页 *
一种新的壁面距离计算方法――循环盒子法;赵慧勇 等;《计算物理》;20080725;第25卷(第4期);第427-430页 *
一种高效的壁面距离计算方法;李广宁 等;《航空工程进展》;20100525;第1卷(第2期);第137-142页 *
壁面距离循环盒子法并行计算与仿真研究;张洪亮 等;《计算机仿真》;20180215;第35卷(第2期);第224-228页 *

Also Published As

Publication number Publication date
CN114756974A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN114756974B (zh) 一种考虑物面法向信息的壁面距离计算方法
Zhang et al. An efficient approach to directly compute the exact Hausdorff distance for 3D point sets
CN105654483A (zh) 三维点云全自动配准方法
CN108319799A (zh) 一种自主水下航行器的外形多保真度优化设计方法
CN112613126B (zh) 一种应用于飞行器外形的壁面距离计算方法及装置
CN113989547B (zh) 基于图卷积深度神经网络的三维点云数据分类系统及方法
CN113609599B (zh) 一种飞行器湍流绕流模拟的壁面距有效单元计算方法
CN113052955A (zh) 一种点云补全方法、系统及应用
CN104809760A (zh) 基于深度优先策略的地理空间三维外轮廓自动构建方法
CN105931297A (zh) 三维地质表面模型中的数据处理方法
CN117115393A (zh) 一种基于gpu的nurbs曲面并行求交方法、设备及存储介质
Wang et al. Application of A* algorithm in intelligent vehicle path planning
CN108804791B (zh) 一种适用于埋入式进气道布局的飞行器参数化方法
CN115730438A (zh) 产品nurbs曲面映射逆向求解gpu并行处理方法
CN113111612B (zh) 一种基于自适应空间剖分的离散点云重复点快速查找方法
CN110322415A (zh) 基于点云的高精度表面三维重构方法
CN115935888A (zh) 一种神经网络加速系统
Zhang et al. Fast evaluation of minimum zone form errors of freeform NURBS surfaces
CN111666689B (zh) 特征线追踪方法、堆芯中子物理计算方法和装置
CN111400969B (zh) 一种非结构直角网格加速生成方法
CN115187617A (zh) 一种点云地图分块方法
CN108986212A (zh) 一种基于裂缝消除的三维虚拟地形lod模型的生成方法
CN115272594A (zh) 一种基于geotools的等值面生成方法
CN111754421A (zh) 改进的导向滤波三维散乱点云快速光顺方法
CN113552881A (zh) 一种用于神经网络训练的多路径规划数据集生成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant