CN114119882B - 飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法 - Google Patents

飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法 Download PDF

Info

Publication number
CN114119882B
CN114119882B CN202210083410.1A CN202210083410A CN114119882B CN 114119882 B CN114119882 B CN 114119882B CN 202210083410 A CN202210083410 A CN 202210083410A CN 114119882 B CN114119882 B CN 114119882B
Authority
CN
China
Prior art keywords
adt
sub
grid
cube
grids
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
CN202210083410.1A
Other languages
English (en)
Other versions
CN114119882A (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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202210083410.1A priority Critical patent/CN114119882B/zh
Publication of CN114119882A publication Critical patent/CN114119882A/zh
Application granted granted Critical
Publication of CN114119882B publication Critical patent/CN114119882B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids
    • 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Fluid Mechanics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,为给定区域的网格单元创建系列的不止一个的sub‑ADT树,并将这些sub‑ADT的存储地址以数组形式注册到登记簿,首先把待查网格点根据其坐标位置定格在一特定的局部区域对应的sub‑ADT上,然后通过常规ADT的方式进行其对应宿主单元的搜索,从而将多套相互嵌套的网格进行装配,开展飞行器动态运动流场分析。该方法大大地减少了每个子ADT数的深度,使得每个子ADT树结构有较好的均衡性,同时快速地将待查点定位到一个非常小的局部区域,减小了宿主单元搜索的区域范围,有效地降低了搜索耗时,缩短飞行器动态运动过程的数值模拟时间。

Description

飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法
技术领域
本发明涉及流体力学技术领域,具体是一种飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法。
背景技术
随着近年来计算机技术的飞速发展,计算流体力学(CFD)得到了蓬勃发展,CFD技术已成为水动力、气动力学分析的基础性关键技术,在航空航天、船舶汽车等领域得到了广泛的验证与应用。而很多实际工程问题会涉及到几何变形或多体相对运动的飞行器动态运动流场分析,如襟副翼偏转、起落架收放、武器分离等,动态网格技术是CFD非定常流场计算的一项重要工作。随着边界的运动,每个时间步的流场计算网格都需要更新以适应时间变化的流场计算域。
针对这类有大幅度相对运动的问题,嵌套网格技术成为一种解决运动边界问题的途径。嵌套网格把流场计算域适当地划分为多个具有重叠部分的区域,各个区域分别生成独立的网格并在其上求解,在重叠区上通过网格间插值进行区域间信息交换。而实现信息交换的前提是先将嵌套网格装配起来,使重叠区域上的网格单元在其他网格系统中找到宿主单元才能建立起插值关系,该搜索任务量通常是非常巨大的,宿主单元搜索是嵌套网格装配的主要负担,严重影响CFD数值模拟效率。
在流体力学技术领域,现有的算法存在效率低、稳健性差等问题。目前常用的宿主单元搜索算法包括逆映射法、蛇形法和基于交替数字树(ADT,二叉树)的搜索算法。其中,ADT树是一种高效的存储和查找几何元素的数据结构,其将几何元素描述为超维空间中的超维坐标,树中每一个存储几何元素的节点表征一定的超维空间区域,从根节点开始往下,其空间区域以递归的方式被交替地在各个超维空间方向上一分为二,宿主搜索时也以递归逐级地方式进行,从而提高效率。相比其他方法而言具有较高的鲁棒性和精度。但当处理大规模网格时,会使得ADT的树结构极不均衡,且树的深度会急剧增加,严重降低了搜索宿主单元的效率。
发明内容
本发明为了解决现有技术的问题,提供了一种飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,在保证精度和稳健性的同时,可以极大程度上提高基于ADT树的搜索算法的效率,加速嵌套网格的装配过程,进而缩短飞行器动态运动过程的数值模拟时间,缩短飞行器设计、分析和研发周期。
本发明包括以下步骤:
S10、基于工程对象几何模型,生成N套相互嵌套的流体计算网格,流体计算网格可以是任意类型,如四面体、六面体、多面体等。
S20、计算每个网格单元的边界盒大小,并统计每套网格的最大边界区域,对于每个网格单元,其边界盒大小的计算方法为,循环网格单元中的网格节点,由其坐标(xyz)确定边界盒的三个轴向的最小最大坐标:
Figure 100002_DEST_PATH_IMAGE001
。由每个边界盒的坐标,确定整套网格的区域大小
Figure 100002_DEST_PATH_IMAGE002
,是一个最小坐标点位于
Figure 100002_DEST_PATH_IMAGE003
的逻辑立方体。
S30、判断是否为整套网格建立Bookkeeping ADT,是则执行步骤S31,否则执行步骤S32;
S31、将每套网格的最大边界区域,沿三个轴向等分成N D ×N D ×N D 个子立方体sub-cube[i][j][k];
S32、由每两套网格的最大边界区域,计算其相互嵌套的公共区域的大小,将每个公共区域,沿三个轴向等分成N D ×N D ×N D 个子立方体sub-cube[i][j][k];
S40、对于第n套网格的每个计算单元,标记其与哪几个子立方体相交。根据每个计算单元的边界盒
Figure 401146DEST_PATH_IMAGE001
,可以确定与其相交的sub-cube的索引:
Figure 100002_DEST_PATH_IMAGE005
此时的i,j,k为计算网格边界盒相对逻辑立方体最小坐标点的整数坐标范围。
S50、对于第n套网格的每个子立方体sub-cube[i][j][k],将与其相交的该套网格的所有计算单元存入sub-ADT[i][j][k]。对每个sub-cube[i][j][k]相交的计算单元,以常规ADT的方法建立一个sub-ADT二叉树,其地址则注册到登记簿,记为sub-ADT[i][j][k]。待所有i,j,k循环完毕后,该套网格的Bookkeeping ADT建立完毕,可用于后面宿主单元的搜索任务。
S60、判断是否所有网格处理完毕(n>N),是则执行后续步骤,反之则回到S40;
S70、对于第m个任意待求点,判定其与那几个网格最大边界区域/公共区域相交。该步骤为一预搜索过程,判断待求点是否位于某个网格/公共区域的逻辑立方体内,即满足:
Figure DEST_PATH_IMAGE006
。若不满足,跳过该逻辑立方体内所有Bookkeeping ADT的搜索任务。
S80、根据第m个任意点的坐标,确定其与该区域内哪一个子立方体sub-cube[i][j][k]相交;
S90、在sub-cube[i][j][k]对应的sub-ADT[i][j][k]中搜索第m个任意点对应的宿主单元;
S100、判断是否所有待求点的宿主单元搜索处理完毕,是则结束搜索任务,完成多套嵌套网格的装配工作,开展对飞行器动态运动的流场分析,反之则回到S70。
上述步骤中,i,j,k均是是某个立方体的编号,其范围是0<=i,j,k<=ND,步骤S30和步骤S80中每个点只会在一个立方体中,而步骤S40中会有好几个立方体相交。
本发明有益效果在于:本发明的Bookkeeping ADT方法为给定区域的网格单元创建系列的不止一个的sub-ADT树,并将这些sub-ADT的存储地址以数组形式注册到登记簿,这种多个子ADT代替原来的单个ADT来管理给定区域内网格单元的方式,可以大大减小每个子ADT二叉树的深度;同时也因为各子ADT对应的区域皆为规整的立方体区域,大多数非空子ADT的树结构有较好的均衡性,从而大大减少潜在宿主单元相交判断任务,提高ADT搜索效率。其次,Bookkeeping ADT管理sub-ADT的方式,可以是搜索算法非常快速地将待查点定位到一个非常小的局部区域,大大减小宿主单元搜索的区域范围。因此,相比于现有技术,本发明的Bookkeeping ADT方法会大大加快宿主单元搜索效率,缩短嵌套网格装配耗时,大幅度提高飞行器动态运动过程分析数值模拟的效率,缩短飞行器设计、分析和研发周期。
进一步地,步骤S31具体为:
该步骤是一种基于整套网格建立整体Bookkeeping ADT的策略,根据整套网格的逻辑立方体
Figure 321828DEST_PATH_IMAGE002
,沿三个轴向等分成N D ×N D ×N D 个长宽高均为ΔS的子立方体,其中,N D 为单个坐标方向上的分割数量,D为空间维数,
Figure 100002_DEST_PATH_IMAGE007
则为子立方体尺寸。
子立方体sub-cube用i, j(二维)或i, j, k(三维)索引,每个子立方体sub-cube[i][j][k]与区域
Figure 100002_DEST_PATH_IMAGE009
相关联。需要注意的是,这些立方体及子立方体只是逻辑上的,无需真实地创建和存储。
上述进一步方案的有益效果为:采用整体Bookkeeping ADT的方式给整套网格划分子立方体进而建立sub-ADT,该策略简单直接,每套网格所有单元都管理到ADT中,在算法理解和代码开发层面都较为清晰易懂。
进一步地,步骤S32具体为:
该步骤是一种基于两个嵌套网格公共区域建立局部Bookkeeping ADT的策略,对于两个存在嵌套关系的计算网格1和2,其逻辑立方体分别为
Figure 100002_DEST_PATH_IMAGE010
Figure 100002_DEST_PATH_IMAGE011
,则可以得到他们相交的公共区域的逻辑立方体
Figure DEST_PATH_IMAGE012
为:
Figure 100002_DEST_PATH_IMAGE013
之后在公共区域的逻辑立方体上建分割子立方体的方式与步骤S31中类似,这里不再赘述。
上述进一步方案的有益效果为:采用局部Bookkeeping ADT的方式给整套网格划分子立方体进而建立sub-ADT,避免重叠公共区域之外的网格单元不必要的加入到ADT中,以缩小搜索区域,提高搜索效率。
进一步地,步骤S80具体为:
对于待查网格点(xyz),将其宿主单元搜索任务直接指派到一预设的局部区域对应的sub-ADT,亦及sub-ADT[i][j][k],i,j,k为待查网格点相对逻辑立方体最小坐标点的整数坐标值,即:
Figure DEST_PATH_IMAGE015
上述进一步方案的有益效果为:可以使搜索算法非常快速地将待查点定位到一个特定的sub-cube,大大减小宿主单元的区域范围。
附图说明
图1是本发明流程图;
图2是常规ADT及本发明公开的Bookkeeping ADT宿主单元搜索方法示意图;
图3是本发明一实施例提供的工程对象几何模型及嵌套网格装配结果图;
图4是本发明一实施例提供的Bookkeeping ADT相比常规ADT方法的宿主单元搜索过程加速比;
图5是本发明一实施例提供的Bookkeeping ADT相比常规ADT方法的嵌套网格装配耗时;
图6(a)是本发明一实施例提供的嵌套网格装配结果;
图6(b)是根据嵌套网格装配结果得到的流场情况。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开的一种飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,如图1所示,包括以下步骤S10-S100:
S10、基于工程对象几何模型,生成N套相互嵌套的流体计算网格,流体计算网格可以是任意类型,如四面体、六面体、多面体等。
S20、计算每个网格单元的边界盒大小,并统计每套网格的最大边界区域,对于每个网格单元,其边界盒大小的计算方法为,循环网格单元中的M个网格节点,由其坐标(xyz)确定边界盒的三个轴向的最小最大坐标:
Figure 402523DEST_PATH_IMAGE001
。由每个边界盒的坐标,确定整套网格的区域大小
Figure 279212DEST_PATH_IMAGE012
,是一个最小坐标点位于
Figure 646215DEST_PATH_IMAGE003
的逻辑立方体。该步骤的伪代码如下:
1. for i=1 to CellAmount do
2. for i=1 to M do
3. x min =min(x, x min )
4. end for
5. x Rmin =min(x min , x Rmin )
6. end for
如图2中(a)所示,假设存在这样一套网格,根据其中10个网格单元的节点坐标,可以计算出整套网格的逻辑立方体如虚线框所示。
S30、判断是否为整套网格建立Bookkeeping ADT,是则执行步骤S31,否则执行步骤S32;
S31、如果为采用整套网格建立整体Bookkeeping ADT的策略,将每套网格的最大边界区域,沿三个轴向等分成N D ×N D ×N D 个子立方体sub-cube[i][j][k]。根据整套网格的逻辑立方体
Figure 709986DEST_PATH_IMAGE012
,沿三个轴向等分成N D ×N D ×N D 个长宽高均为ΔS的子立方体,其中,N D 为单个坐标方向上的分割数量,D为空间维数,
Figure 721936DEST_PATH_IMAGE007
为子立方体尺寸。
子立方体sub-cube用i, j(二维)或i, j, k(三维)索引,每个子立方体sub-cube[i][j][k]与区域
Figure 187552DEST_PATH_IMAGE009
相关联。需要注意的是,这些立方体及子立方体只是逻辑上的,无需真实地创建和存储。
S32、如果采用基于两个嵌套网格公共区域建立局部Bookkeeping ADT的策略,由每两套网格的最大边界区域,计算其相互嵌套的公共区域的大小,将每个公共区域,沿三个轴向等分成N D ×N D ×N D 个子立方体sub-cube[i][j][k]。对于两个存在嵌套关系的计算网格1和2,其逻辑立方体分别为
Figure 100002_DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE017
,则可以得到他们相交的公共区域的逻辑立方体
Figure 853020DEST_PATH_IMAGE012
为:
Figure DEST_PATH_IMAGE018
之后在公共区域的逻辑立方体上建分割子立方体的方式与步骤S31中类似,这里不再赘述。
如图2中(d)所示,将图2中(a)的逻辑立方体划分为2×2的子立方体。
S40、对于第n套网格的每个计算单元,标记其与哪几个子立方体相交。根据每个计算单元的边界盒
Figure 482715DEST_PATH_IMAGE001
,可以确定与其相交的sub-cube的索引:
Figure 764268DEST_PATH_IMAGE005
此时的i,j,k为计算网格边界盒相对逻辑立方体最小坐标点的整数坐标范围。例如图2中(e)中,网格单元No.1分别与sub-cube[0][1]和sub-cube[1][1]相交,网格单元No.10只与sub-cube[1][0]相交。
S50、对于第n套网格的每个子立方体sub-cube[i][j][k],将与其相交的该套网格的所有计算单元存入sub-ADT[i][j][k]。
每个sub-ADT[i][j][k]的建立过程与常规的ADT建立方法一致(如图2中(b)所示)。ADT将几何元素描述为超维空间中的超维坐标,树中每一个存储几何元素的节点表征一定的超维空间区域,从根节点开始往下,其空间区域以递归的方式被交替地在各个超维空间方向上一分为二。比如,在超维空间中,可以将任意网格元素E(网格单元或网格节点)描述为位于超维空间区域R=
Figure DEST_PATH_IMAGE019
内的超维空间坐标
Figure DEST_PATH_IMAGE020
,其中
Figure DEST_PATH_IMAGE021
分别为包络网格元素的包围盒最小、最大坐标值;如图2 中(a)和(b)所示,基于超维坐标,这些网格元素就可以按照超维空间区域在各方向上交替剖分的方式,递归地存储到ADT二叉树内。
最后,每个sub-cube[i][j][k]基于自身包含的网格单元建立的sub-ADT[i][j][k]如图2中(e)所示,可以看到相比于常规ADT方法建立的二叉树(图2中(b)),每一个sub-ADT[i][j][k]中的元素和树的深度都大大减小,同时均衡性得到了改善。
S60、判断是否所有网格处理完毕(n>N),是则执行后续步骤,反之则回到S40。
S70、对于第m个任意待求点,判定其与那几个网格最大边界区域/公共区域相交。该步骤为一预搜索过程,判断待求点是否位于某个网格/公共区域的逻辑立方体内,即满足:
Figure 959757DEST_PATH_IMAGE006
。若不满足,跳过该逻辑立方体内所有Bookkeeping ADT的搜索任务。
S80、根据第m个任意点的坐标,确定其与该区域内哪一个子立方体sub-cube[i][j][k]相交。如图2中(f)所示,对于该待求点坐标,可以很快计算出其所在的sub-cube索引为i=0,j=0。
S90、在sub-cube[i][j][k]对应的sub-ADT[i][j][k]中搜索第m个任意点对应的宿主单元。该搜索过程与常规ADT的搜索过程一致,从ADT管理的网格区域中找出可能包含或与待查网格元素Q (包围盒为
Figure DEST_PATH_IMAGE022
,对网格点来说,
Figure DEST_PATH_IMAGE023
)相交的网格单元,其搜索过程从ADT根节点开始并递归执行到其子节点,如图2 中(c)所示,在每个需要执行判断的子节点上,进行相交检查,若
Figure DEST_PATH_IMAGE024
则该ADT节点与待查元素包围盒有重叠,该节点对应的网格单元可能包含或与待查元素相交,记录为潜在相交单元,递归搜索过程则继续往下执行到其子节点上;否则,忽略当前ADT节点及其所有子节点,结束当前分支树的递归搜索。通过ADT搜索,找出潜在的与待查元素相交的网格单元之后,再对这小部分潜在网格单元进行精确的几何包含或几何相交判断,找出真正的包含或与待查网格元素相交的网格单元。
对比图2中(c)和图2中(f)可知,所示待求点的宿主单元为网格单元No.8,对于常规ADT方法,要在ADT中搜索6次才能找到宿主单元,而Bookkeeping ADT只需要4次搜索就能找到。随着网格数量的增大,Bookkeeping ADT的优势会更加突出。
S100、判断是否所有待求点的宿主单元搜索处理完毕,是则结束搜索任务,完成多套嵌套网格的装配工作,开展对飞行器动态运动的流场分析,反之则回到S70。
如图3所示,该实施例用于测试Bookkeeping ADT方法相对于常规ADT方法在宿主单元搜索和嵌套网格装配效率上的对比情况。该测试算例基于5000万左右单元规模的网格系统(4套各1000万的绕球体子网格、1套约1000万单元的背景网格)。如图4所示,相比常规ADT方法(N D =1),Bookkeeping ADT方法明显提高了嵌套网格装配速度,随着分割数N D 的增大,整体ADT策略的Bookkeeping ADT方法的速度可提高8-9倍以上,局部ADT策略的速度则可提高3-4倍以上。而从图5所示的嵌套网格装配绝对任务时间来看,当N D 足够大时,整体ADT策略和局部ADT策略的任务时间相近。这是因为,整体ADT策略将每套分区网格所有单元都管理到ADT中,各个计算处理器并行建立ADT的载荷均衡,但不可避免地将重叠区域之外的网格单元也管理到ADT中,可能会增加宿主单元搜索范围,所以需要较大的N D ;而局部ADT策略则在两两相互重叠的子网格之间为重叠区域的局部网格建立ADT,避免重叠区域之外的网格单元不必要地加入到ADT中,以缩小搜索区域,提高搜索效率;但当有多套网格在同一区域重叠时,该区域网格单元可能会被多次处理并同时加入到不同的ADT中,重叠区占比很大时,建立ADT的耗时会相对增多。
经过充分的算例测试和工程应用示例考核,分割数N D 的选择,整体ADT策略取40左右,局部ADT策略取值10-15;总体来说局部ADT策略提升嵌套网格装配效率的性能相对更稳定,推荐优先使用局部ADT策略。
图6(a)是本发明一实施例提供的嵌套网格装配结果。图6(b)是根据该嵌套网格装配结果得到的流场情况,几何工程对象包含了飞机机身、副油箱、导弹等,总计1700万网格量,64线程时嵌套网格装配耗时40秒,比传统ADT方法提高了4倍。流场结果表明了该方法在宿主单元搜索过程中的稳健性和精确性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,以上所述仅是本发明的优选实施方式,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,对于本技术领域的普通技术人员来说,可轻易想到的变化或替换,在不脱离本发明原理的前提下,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于,包括以下步骤:
S10、基于工程对象几何模型,生成N套相互嵌套的流体计算网格;
S20、计算每个网格单元的边界盒大小,并统计每套网格的最大边界区域;
S30、判断是否为整套网格建立Bookkeeping ADT,是则执行步骤S31,否则执行步骤S32;
S31、将每套网格的最大边界区域,沿三个轴向等分成N D ×N D ×N D 个子立方体sub-cube[i][j][k],i,j,k为待查网格点相对逻辑立方体最小坐标点的整数坐标值;
S32、由每两套网格的最大边界区域,计算其相互嵌套的公共区域的大小,将每个公共区域,沿三个轴向等分成N D ×N D ×N D 个子立方体sub-cube[i][j][k];
S40、对于第n套网格的每个计算单元,标记其与哪几个子立方体相交;
S50、对于第n套网格的每个子立方体sub-cube[i][j][k],将与其相交的该套网格的所有计算单元存入sub-ADT[i][j][k];
S60、判断是否所有网格处理完毕,即n>N,是则执行后续步骤,反之则回到S40;
S70、对于第m个任意待求点,判定其与哪几个网格最大边界区域或公共区域相交;
S80、根据第m个任意点的坐标,确定其与该区域内哪一个子立方体sub-cube[i][j][k]相交;
S90、在sub-cube[i][j][k]对应的sub-ADT[i][j][k]中搜索第m个任意点对应的宿主单元;
S100、判断是否所有待求点的宿主单元搜索处理完毕,是则结束搜索任务,完成多套嵌套网格的装配工作,开展对飞行器动态运动的流场分析,反之则回到S70。
2.根据权利要求1所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于:所述步骤S10中的流体计算网格为任意类型,包括四面体、六面体、多面体。
3.根据权利要求1所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于,所述步骤S20具体为:对于每个网格单元,其边界盒大小的计算方法为,循环网格单元中的网格节点,由其坐标(xyz)确定边界盒的三个轴向的最小最大坐标:
Figure DEST_PATH_IMAGE001
;由每个边界盒的坐标确定整套网格的区域大小
Figure DEST_PATH_IMAGE002
,是一个最小坐标点位于
Figure DEST_PATH_IMAGE003
的逻辑立方体。
4.根据权利要求3所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于,所述步骤S30的判断,提供了两种Bookkeeping ADT的建立方式,一种基于整套网格建立,一种基于嵌套区域建立。
5.根据权利要求4所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于:所述步骤S31为一种基于整套网格建立整体Bookkeeping ADT的方式,根据整套网格的逻辑立方体
Figure DEST_PATH_IMAGE004
,沿三个轴向等分成N D ×N D ×N D 个长宽高均为ΔS的子立方体,其中,N D 为单个坐标方向上的分割数量,D为空间维数,
Figure DEST_PATH_IMAGE005
为子立方体尺寸;子立方体sub-cube用i, j二维或i, j, k三维索引,每个子立方体sub-cube[i][j][k]与区域
Figure DEST_PATH_IMAGE007
相关联。
6.根据权利要求4所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于,所述步骤S32为一种基于嵌套区域建立局部Bookkeeping ADT的方式,其具体为:
对于两个存在嵌套关系的计算网格1和计算网格2,其逻辑立方体分别为
Figure DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE009
,则得到他们相交的公共区域的逻辑立方体
Figure 820217DEST_PATH_IMAGE002
为:
Figure DEST_PATH_IMAGE010
7.根据权利要求3所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于,所述步骤S40具体为:
根据每个计算单元的边界盒
Figure DEST_PATH_IMAGE011
,确定与其相交的sub-cube的索引:
Figure DEST_PATH_IMAGE013
此时的i,j,k为计算网格边界盒相对逻辑立方体最小坐标点的整数坐标范围。
8.根据权利要求1所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于:所述步骤S50中,对每个sub-cube[i][j][k]相交的计算单元,以常规ADT方法建立一个sub-ADT二叉树,其地址则注册到登记簿,记为sub-ADT[i][j][k],待所有i,j,k循环完毕后,该套网格的Bookkeeping ADT建立完毕,用于后面宿主单元的搜索任务。
9.根据权利要求3所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于:所述步骤S70为一预搜索过程,判断待求点是否位于某个网格或公共区域的逻辑立方体内,即满足:
Figure DEST_PATH_IMAGE014
,若不满足,跳过该逻辑立方体内所有BookkeepingADT的搜索任务。
10.根据权利要求1所述的飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法,其特征在于,步骤S80用于把待查网格点(x,y,z)的宿主单元搜索任务直接指派到一预设的局部区域对应的sub-ADT[i][j][k],i,j,k为待查网格点相对逻辑立方体最小坐标点的整数坐标值,即:
Figure DEST_PATH_IMAGE016
CN202210083410.1A 2022-01-25 2022-01-25 飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法 Active CN114119882B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210083410.1A CN114119882B (zh) 2022-01-25 2022-01-25 飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210083410.1A CN114119882B (zh) 2022-01-25 2022-01-25 飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法

Publications (2)

Publication Number Publication Date
CN114119882A CN114119882A (zh) 2022-03-01
CN114119882B true CN114119882B (zh) 2022-07-12

Family

ID=80360879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210083410.1A Active CN114119882B (zh) 2022-01-25 2022-01-25 飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法

Country Status (1)

Country Link
CN (1) CN114119882B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116484702B (zh) * 2023-06-26 2023-09-12 北京凌云智擎软件有限公司 一种适用于任意单元类型的非结构嵌套网格计算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109920059A (zh) * 2019-03-14 2019-06-21 空气动力学国家重点实验室 基于辅助网格的超大规模重叠网格并行装配方法
CN110110446A (zh) * 2019-05-09 2019-08-09 中国航空工业集团公司西安航空计算技术研究所 一种可实现重叠区快速优化的并行嵌套网格方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109920059A (zh) * 2019-03-14 2019-06-21 空气动力学国家重点实验室 基于辅助网格的超大规模重叠网格并行装配方法
CN110110446A (zh) * 2019-05-09 2019-08-09 中国航空工业集团公司西安航空计算技术研究所 一种可实现重叠区快速优化的并行嵌套网格方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Applications of Overset Grid Technique to CFD Simulation of High Mach Number Multi-body Interaction Separation Flow;Li Xuefei等;《Procedia Engineering》;20151231;第458-476页 *
基于CFD_CSD方法的蜻蜓柔性翼气动特性分析;孟令兵等;《航空动力薛冰》;20140930;第29卷(第9期);第2063-2069页 *

Also Published As

Publication number Publication date
CN114119882A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
Flaherty et al. Adaptive local refinement with octree load balancing for the parallel solution of three-dimensional conservation laws
Coupez et al. Parallel meshing and remeshing
Agullo et al. Robust memory-aware mappings for parallel multifrontal factorizations
CN110516316B (zh) 一种间断伽辽金法求解欧拉方程的gpu加速方法
CN112100937B (zh) 基于壁面距的高效重叠网格并行装配方法
CN110597935A (zh) 一种空间分析方法和装置
CN114119882B (zh) 飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法
Capizzano Automatic generation of locally refined Cartesian meshes: Data management and algorithms
CN111489447A (zh) 一种适用于格子Boltzmann方法的直角网格自适应建模方法
CN114943167B (zh) 一种结构网格壁面距离的计算方法、系统、介质和设备
CN105528243A (zh) 一种利用数据拓扑信息的优先级分组调度方法及系统
CN110096838A (zh) 一种基于n-s方程的直升机流场数值并行隐式求解方法
Rivara Lepp-bisection algorithms, applications and mathematical properties
CN110633149B (zh) 均衡非结构网格单元计算量的并行负载均衡方法
Mahmoud et al. RXMesh: a GPU mesh data structure
CN116484702B (zh) 一种适用于任意单元类型的非结构嵌套网格计算方法
CN114510775A (zh) 一种复杂模型三维空间曲网格划分方法
Xia et al. Highly efficient wall-distance-based parallel unstructured overset grid assembly
CN115346005B (zh) 基于嵌套包围盒概念用于物面网格的数据结构构建方法
WO2023216915A1 (zh) 一种基于图形处理器的直升机流场数值模拟系统及方法
Olliff et al. Efficient searching in meshfree methods
CN115222870B (zh) 非结构网格隐式lusgs均衡着色方法、设备及介质
CN106780747A (zh) 一种快速分割cfd计算网格的方法
CN108171785B (zh) 用于光线跟踪的sah-kd树设计方法
Dannelongue et al. Efficient data structures for adaptive remeshing with the FEM

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