CN114925627B - 一种基于图形处理器的直升机流场数值模拟系统及方法 - Google Patents
一种基于图形处理器的直升机流场数值模拟系统及方法 Download PDFInfo
- Publication number
- CN114925627B CN114925627B CN202210516285.9A CN202210516285A CN114925627B CN 114925627 B CN114925627 B CN 114925627B CN 202210516285 A CN202210516285 A CN 202210516285A CN 114925627 B CN114925627 B CN 114925627B
- Authority
- CN
- China
- Prior art keywords
- flow field
- grid
- batch
- helicopter
- units
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 33
- 239000012530 fluid Substances 0.000 claims abstract description 18
- 238000013507 mapping Methods 0.000 claims abstract description 17
- 230000003993 interaction Effects 0.000 claims abstract description 10
- 230000004907 flux Effects 0.000 claims description 36
- 235000013312 flour Nutrition 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 description 21
- 230000001133 acceleration Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100456739 Drosophila melanogaster Mesh1 gene Proteins 0.000 description 1
- 101150020754 Hddc3 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002002 slurry Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling 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)
- Mathematical Physics (AREA)
- Fluid Mechanics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于图形处理器的直升机流场数值模拟系统及方法,属于计算机数值模拟领域,直升机流场数值模拟系统包括中央处理器和图形处理器;中央处理器用于:根据预先设定的配置文件及待模拟直升机网格文件初始化运动嵌套网格;根据运动嵌套网格中的网格块确定面批次信息;根据当前模拟时刻下的待模拟直升机网格文件确定各网格块间的嵌套插值关系及插值映射索引;根据嵌套插值关系、插值映射索引及各网格块的流场信息,进行各网格块之间的流场信息交互,得到待模拟直升机的流场信息;图形处理器用于采用计算流体力学CFD方法,根据面批次信息,计算运动嵌套网格中各网格块的流场信息。将CPU与GPU结合提高了直升机流场的模拟效率。
Description
技术领域
本发明涉及计算机数值模拟领域,特别是涉及一种基于图形处理器的直升机流场数值模拟系统及方法。
背景技术
伴随设计的精细化与获得更高精度的分析结果的需求,近十年间CFD(Computational Fluid Dynamics,计算流体动力学)数值模拟中所使用的网格量已增长数倍,但随着摩尔定律的失效,微处理器的单核性能却未能显著提升。寻求有效的并行及加速技术成为了当下CFD求解器开发中的热点,GPU(graphics processingunit,图形处理器)凭借其高性能浮点运算能力,是一种优先的加速器。且已有研究表明,采用单个GPU加速,就可在CFD求解中获得10倍以上的加速效果,具有可观的加速潜能。
然而,这些GPU加速计算方法仅考虑了具有简单结构网格的固定翼的定常流场模拟,不适于直升机模拟中的运动非定常流场环境及其大量使用的非结构网格案例场景。针对运动非定常需求,直升机流场模拟中通常使用网格运动嵌套装配技术,但该技术的算法中包含大量的分支判断的逻辑流程,更适于在CPU(centralprocessing unit,中央处理器)计算,这在GPU上编程实现困难,且运行效率要较CPU更慢。
基于上述问题,亟需一种新的模拟方法以提高对直升机流场数值的模拟效率。
发明内容
本发明的目的是提供一种基于图形处理器的直升机流场数值模拟系统及方法,可提高直升机流场数值的模拟效率。
为实现上述目的,本发明提供了如下方案:
一种基于图形处理器的直升机流场数值模拟系统,所述基于图形处理器的直升机流场数值模拟系统包括中央处理器和图形处理器;所述中央处理器与所述图形处理器连接;
所述中央处理器包括:
初始化模块,用于根据预先设定的配置文件及待模拟直升机网格文件,初始化运动嵌套网格;所述运动嵌套网格包括多个网格块;
面批次确定模块,与所述图形处理器连接,用于根据所述运动嵌套网格中的网格块,确定面批次信息,并将所述面批次信息发送至所述图形处理器;所述面批次信息包括多个批次及各批次对应的面单元和体单元;
插值模块,用于根据当前模拟时刻下的待模拟直升机网格文件,确定各网格块间的嵌套插值关系及插值映射索引;
流场确定模块,分别与所述插值模块及所述图形处理器连接,用于根据所述嵌套插值关系、插值映射索引及各网格块的流场信息,进行各网格块之间的流场信息交互,得到待模拟直升机的流场信息;所述流场信息包括密度、速度及压强;
所述图形处理器分别与所述面批次确定模块及所述流场确定模块连接,所述图形处理器用于采用计算流体力学CFD方法,根据所述面批次信息,计算所述运动嵌套网格中各网格块的流场信息,并发送至所述中央处理器。
可选地,所述图像处理器还用于将各网格块的流场信息转换为数组结构体形式,并发送至所述流场确定模块。
可选地,所述网格块包括多个面单元及多个体单元;所述面批次确定模块包括:
初始化子模块,用于针对任一批次,初始化所述批次内的选中面为空;
标记子模块,用于将网格块中任一未被确定批次的面单元标记为所述批次中的选中面,将所述面单元的左右体单元标记为被占用的体;被占用的体的其他面为冲突面;
遍历子模块,分别与所述标记子模块及所述初始化子模块连接,用于依次遍历余下未被确定批次且与选中面相邻的面单元,若所述面单元的左右体单元未被占用,则将所述面单元标记为所述批次中的选中面,将对应的左右体单元标记为被占用的体;
批次确定子模块,分别与所述遍历子模块及所述图形处理器连接,用于在网格块内所有的面单元均确定批次后,得到面批次信息。
可选地,所述图形处理器包括:
通量值确定模块,与所述面批次确定模块连接,用于针对任一批次,采用计算流体力学CFD方法,根据预先设定的边界条件,并行计算所述批次中各面单元的通量值;
更新模块,与所述通量值确定模块连接,用于将所述通量值更新至所述面单元的左右体单元;
网格块流场确定模块,分别与所述更新模块及所述流场确定模块连接,用于根据各体单元的通量值,确定所述网格块的流场信息。
为实现上述目的,本发明还提供了如下方案:
一种基于图形处理器的直升机流场数值模拟方法,应用于上述的基于图形处理器的直升机流场数值模拟系统,所述基于图形处理器的直升机流场数值模拟方法包括:
通过中央处理器根据预先设定的配置文件及待模拟直升机网格文件,初始化运动嵌套网格;所述运动嵌套网格包括多个网格块;
通过中央处理器根据所述运动嵌套网格中的网格块,确定面批次信息;所述面批次信息包括多个批次及各批次对应的面单元和体单元;
通过图形处理器采用计算流体力学CFD方法,根据所述面批次信息,计算所述运动嵌套网格中各网格块的流场信息;所述流场信息包括密度、速度及压强;
通过中央处理器根据当前模拟时刻下的待模拟直升机网格文件,确定各网格块间的嵌套插值关系及插值映射索引,并根据所述嵌套插值关系、所述插值映射索引及各网格块的流场信息,进行各网格块之间的流场信息交互,得到待模拟直升机的流场信息。
可选地,所述基于图形处理器的直升机流场数值模拟方法还包括:
通过图像处理器将各网格块的流场信息转换为数组结构体形式。
可选地,所述网格块包括多个面单元及多个体单元;所述通过中央处理器根据所述运动嵌套网格中的网格块,确定面批次信息,具体包括:
针对任一批次,初始化所述批次内的选中面为空;
将网格块中任一未被确定批次的面单元标记为所述批次中的选中面,将所述面单元的左右体单元标记为被占用的体;被占用的体的其他面为冲突面;
依次遍历余下未被确定批次且与选中面相邻的面单元,若所述面单元的左右体单元未被占用,则将所述面单元标记为所述批次中的选中面,将对应的左右体单元标记为被占用的体,遍历完成后进行下一批次的确定;
在网格块内所有的面单元均确定批次后,得到面批次信息。
可选地,所述通过图形处理器采用计算流体力学CFD方法,根据所述面批次信息,计算所述运动嵌套网格中各网格块的流场信息,具体包括:
针对任一批次,采用计算流体力学CFD方法,根据预先设定的边界条件,并行计算所述批次中各面单元的通量值;
将所述通量值更新至所述面单元的左右体单元;
根据各体单元的通量值,确定所述网格块的流场信息。
根据本发明提供的具体实施例,本发明公开了以下技术效果:在CPU中初始化运动嵌套网格,并确定面批次信息,在GPU中采用计算流体力学CFD方法,根据面批次信息确定各网格快的流场信息,在CPU中根据嵌套插值关系、插值映射索引及各网格块的流场信息,进行各网格块之间的流场信息交互,得到待模拟直升机的流场信息。采用中央处理器CPU和图形处理器GPU相结合进行直升机的流场数值模拟,提高了直升机流场的模拟速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于图形处理器的直升机流场数值模拟系统的模块结构示意图;
图2为本发明基于图形处理器的直升机流场数值模拟方法的流程图;
图3为本发明基于图形处理器的直升机流场数值模拟方法的整体流程图;
图4为面单元选中过程示意图;
图5为网格块的分批结果示意图;
图6为使用GPU计算的CT旋翼桨叶0.89R截面压强分布示意图;
图7为CPU与GPU计算时的残值收敛曲线对比图。
符号说明:
中央处理器-1,初始化模块-11,面批次确定模块-12,插值模块-13,流场确定模块-14,图形处理器-2,通量值确定模块-21,更新模块-22,网格块流场确定模块-23。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于图形处理器的直升机流场数值模拟系统及方法,通过CPU进行运动嵌套过程的模拟,GPU进行流场计算,将CPU与GPU结合提高了直升机流场的模拟速度。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明基于图形处理器2的直升机流场数值模拟系统包括中央处理器1和图形处理器2;所述中央处理器1与所述图形处理器2连接。
所述中央处理器1包括:初始化模块11、面批次确定模块12、插值模块13及流场确定模块14。
其中,所述初始化模块11用于根据预先设定的配置文件及待模拟直升机网格文件,初始化运动嵌套网格;所述运动嵌套网格包括多个网格块。
所述面批次确定模块12与所述图形处理器2连接,所述面批次确定模块12用于根据所述运动嵌套网格中的网格块,确定面批次信息,并将所述面批次信息发送至所述图形处理器2;所述面批次信息包括多个批次及各批次对应的面单元和体单元。具体地,CPU端调用驱动函数接口,将面批次信息由内存拷贝至GPU显存。
所述插值模块13用于根据当前模拟时刻下的待模拟直升机网格文件,确定各网格块间的嵌套插值关系及插值映射索引。
所述流场确定模块14分别与所述插值模块13及所述图形处理器2连接,所述流场确定模块14用于根据所述嵌套插值关系、插值映射索引及各网格块的流场信息,进行各网格块之间的流场信息交互,得到待模拟直升机的流场信息;所述流场信息包括密度、速度及压强。
所述图形处理器2分别与所述面批次确定模块12及所述流场确定模块14连接,所述图形处理器2用于采用计算流体力学CFD方法,根据所述面批次信息,计算所述运动嵌套网格中各网格块的流场信息,并发送至所述中央处理器1。
为了使CPU与GPU处理的数据形式保持一致,所述图像处理器还用于将各网格块的流场信息转换为数组结构体形式,并发送至所述流场确定模块14。
进一步地,所述网格块包括多个面单元及多个体单元;所述面批次确定模块12包括:初始化子模块、标记子模块、遍历子模块及批次确定子模块。
其中,所述初始化子模块用于针对任一批次,初始化所述批次内的选中面为空。
所述标记子模块用于将网格块中任一未被确定批次的面单元标记为所述批次中的选中面,将所述面单元的左右体单元标记为被占用的体;被占用的体的其他面为冲突面。
所述遍历子模块分别与所述标记子模块及所述初始化子模块连接,所述遍历子模块用于依次遍历余下未被确定批次且与选中面相邻的面单元,若所述面单元的左右体单元未被占用,则将所述面单元标记为所述批次中的选中面,将对应的左右体单元标记为被占用的体。
所述批次确定子模块分别与所述遍历子模块及所述图形处理器2连接,用于在网格块内所有的面单元均确定批次后,得到面批次信息。
更进一步地,所述图形处理器2包括:通量值确定模块21、更新模块22及网格块流场确定模块23。
其中,所述通量值确定模块21与所述面批次确定模块12连接,所述通量值确定模块21用于针对任一批次,采用计算流体力学CFD方法,根据预先设定的边界条件,并行计算所述批次中各面单元的通量值。具体地,利用GPU中的流处理器并行工作,可以同时确定多个面单元的通量值。
所述更新模块22与所述通量值确定模块21连接,所述更新模块22用于将所述通量值更新至所述面单元的左右体单元。
所述网格块流场确定模块23分别与所述更新模块22及所述流场确定模块14连接,所述网格块流场确定模块23用于根据各体单元的通量值,确定所述网格块的流场信息。
如图2所示,本发明基于图形处理器2的直升机流场数值模拟方法包括:
S1:通过中央处理器1根据预先设定的配置文件及待模拟直升机网格文件,初始化运动嵌套网格;所述运动嵌套网格包括多个网格块。网格块包括原始的桨叶、机身等网格块。
具体地,首先通过中央处理器1读取用户设置的配置文件及待模拟直升机网格文件。待模拟直升机网格文件中包括直升机的各片桨叶网格块、机身网格块、尾浆桨叶网格块等。各网格块之间存在嵌套关系,且网格块间的两两嵌套插值关系不固定。即一个桨叶网格块可能和相邻的桨叶网格块以及机身网格块插值,机身网格块和桨叶及尾桨有插值关系等。
在本实施例中,配置文件中包括各网格块的编号、名称及求解配置参数。具体地,求解配置参数可以是时间离散方式、空间离散方式等。全局的求解配置参数包括求解模拟的时间步数目、收敛残值条件、最大迭代步数、运动变换方程、网格块关联运动方程、网格块关联的嵌套。根据运动变换方程、网格块关联运动方程、网格块关联的嵌套配置(如嵌套搜索及插值边界形式等)初始化运动嵌套。即根据网格运动信息及嵌套配置信息初始化运动嵌套网格。
S2:通过中央处理器根据所述运动嵌套网格中的网格块,确定面批次信息;所述面批次信息包括多个批次及各批次对应的面单元和体单元。每个批次中的面单元均采用面单元索引表示。
S3:通过图形处理器采用计算流体力学CFD方法,根据所述面批次信息,计算所述运动嵌套网格中各网格块的流场信息;所述流场信息包括密度、速度及压强。
S4:通过中央处理器根据当前模拟时刻下的待模拟直升机网格文件,确定各网格块间的嵌套插值关系及插值映射索引,并根据所述嵌套插值关系、所述插值映射索引及各网格块的流场信息,进行各网格块之间的流场信息交互,得到待模拟直升机的流场信息。所述插值映射索引为两网格块间流场插值的索引。具体地,所述插值映射索引指网格块内某体单元流场数据可通过另一个网格块的哪个体中插值获得。在本实施例中,可采用线性插值或最小二乘法插值进行网格块间的流场信息交互。
具体地,CPU根据当前模拟时刻下的待模拟直升机网格文件中各网格块的坐标,计算嵌套插值关系。具体地,按照运动时刻下网格几何关系信息,获得两网格块间部分网格的插值映射关系,如网格块A中体单元M由网格块B中体单元N插值获得。
为了使CPU与GPU处理的数据形式保持一致,所述基于图形处理器的直升机流场数值模拟方法还包括:S5:通过图像处理器将各网格块的流场信息转换为数组结构体形式。GPU得到的流场信息为结构体数组SoA(Structure ofArray),将其转换为数组结构体AoS(ArrayofStructure)后,再发送至CPU。CPU根据转换后的流场信息进行流场信息交互。
进一步地,述网格块包括多个面单元及多个体单元。步骤S2具体包括:
S21:针对任一批次,初始化所述批次内的选中面为空。使得体单元被占用的标志全为“否”。
S22:将网格块中任一未被确定批次的面单元标记为所述批次中的选中面,将所述面单元的左右体单元标记为被占用的体;被占用的体的其他面为冲突面。即将所述面单元的左右体单元被占用的标志设置为“是”。
S23:依次遍历余下未被确定批次且与选中面相邻的面单元,若所述面单元的左右体单元未被占用,则将所述面单元标记为所述批次中的选中面,将对应的左右体单元标记为被占用的体,遍历完成后进行下一批次的确定。在本实施例中,在每一批次的确定过程中,将所有的选中面作为一个批次,若还存在未确定批次的面单元,则创建新一批次,并执行步骤S21。
该构造一批次时选中面的过程如图4所示,对某非结构网格,构造面批次的结果如图5所示。
S24:在网格块内所有的面单元均确定批次后,得到面批次信息。
具体地,面批次信息的构造由CPU按照嵌套网格中的网格块的面体单元空间关联信息计算得到,获得的各批次中的面单元索引,供GPU在一个求解迭代步计算中并行计算各批次中面单元的面通量值。
在本实施例中,所述面批次信息的基本特征包括:将网格块的所有面分为若干批次,每批次内各面单元的左右体单元均不重复。每批次内的各面单元可独立的并行依次进行流场信息的计算。必须在前一批次结束后才能开始下一批次。
更进一步地,步骤S3具体包括:
S31:针对任一批次,采用计算流体力学CFD方法,根据预先设定的边界条件,并行计算所述批次中各面单元的通量值。具体地,通量值根据CFD求解方式分为不同的空间离散格式,例如最简单的中心差分就是取面左右两体单元流场数据的差值作为通量;而按其它规则计算的方式还有迎风格式,TVD等,具体的计算方式可根据实际需要而定。
S32:将所述通量值更新至所述面单元的左右体单元。
S33:根据各体单元的通量值,确定所述网格块的流场信息。
在本实施例中,边界条件由用户按模拟需要设置。比如,一般地,桨叶网格块中,组成桨叶外形的面单元边界条件设置为物面(通量为0,流体不能穿透);最外层的网格面集合设置为压力远场(速度梯度为0);其余为内部面,流体可自由流通。另外也存在如对称边界,周期边界这样边界条件。由用户根据模拟需要设定。
具体地,CFD流场的迭代就是将各面单元的通量值附加至面单元相邻的体单元上,如流出的体单元流场数据减面通量值,流入的体单元流场数据加面通量值。但这里不一定是简单的直接加减,而是按一定的方式,例如都乘上某些系数等,不同的方式就形成不同的CFD时间推进格式,具体的计算方式可根据CFD计算需要设定。
上述步骤S3占据迭代求解步的绝大部分计算开销,而常规的在CPU中不分批次的对所有面串行执行该算法时,需先完成步骤S31再进行步骤S33才能保证求解结果的正确,但这使得在GPU中并行计算的实现变的困难且低效,因为需要相应的数据同步机制来保证对GPU的并行执行面通量值更新至面单元的左右体单元时的顺序与在CPU中串行执行一致,使得程序复杂度上升,且占用额外的缓存空间,运行效率下降。因此,本发明采用分批计算的策略进行并行计算,进一步提高了流场模拟的效率。
此外,如图3所示,本发明基于图形处理器的直升机流场数值模拟方法还包括:通过中央处理器根据配置文件设置求解工况,根据配置文件及待模拟直升机网格文件中的原始坐标信息,设置各网格块的初始时刻坐标位置。通过CPU根据配置文件中的GPU设备设置信息,完成GPU计算环境的配置。具体地,CPU调用GPU驱动函数接口,使得GPU初始化上下文环境。通过GPU进行流场求解初始化。具体地,CPU端调用驱动函数接口,使GPU执行某GPU核函数,进行流场求解初始化。
在本实施例中,GPU采用CFD方法,根据求解工况计算面批次信息中各网格块在给定的运动位置下的流场信息。
通过CPU根据配置文件中的迭代步或收敛条件判断当前时刻下流场计算是否完成,若完成,则将模拟时刻设置为下一时刻,并通过CPU根据配置文件中的所需模拟时间,判断流场计算是否完成,若完成,则输出流场结果并结束,若未完成,则通过CPU设置当前模拟时刻下的网格位置,并将位置信息更新至GPU中,再次进行流场信息的计算。
如图6为使用本发明计算的Caradonna-Tung直升机旋翼桨叶0.89倍半径处的截面气动数据,可见与试验结果吻合良好。该模拟案例具有149.7万体网格,共计算2880个模拟时间,每模拟时间的迭代步为720。如图7的(a)部分和图7的(b)部分所示,本发明对完全使用Intel E52630 v2 CPU计算与采用AMD RX 580GPU加速后的计算残值数据进行了对比,两者完全一致,验证了本发明方法的有效性及相应程序编写的正确性。这其中,完全使用CPU计算耗时55.66小时,而采用GPU加速共耗时10.96小时,该案例下实现了5.1倍加速效果。
本发明采用分批处理的策略,使得原本无法并行的功能被尽可能并行来提高计算效率。同时,由于减少了相应的保持数据同步所需缓存,可降低显存占用,节省访存带宽。本发明分别在i7-6800K CPU和AMD R9280X GPU中对下列两具有非结构网格的案例计算:
Mesh1:为二维NACA0012翼型网格,具有2.64万体单元;
Mesh2:为三维7A旋翼桨叶网格,具有72.52万体单元。
如下表1给出了对Mesh1与Mesh2分别进行5000与100迭代步计算时,占用的显存及耗时情况,可知,采用分批处理使得显存占用分别降低17.8%与14.8%,计算速度分别提高了23%与50%。
表1面分批处理的效果
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种基于图形处理器的直升机流场数值模拟系统,其特征在于,所述基于图形处理器的直升机流场数值模拟系统包括中央处理器和图形处理器;所述中央处理器与所述图形处理器连接;
所述中央处理器包括:
初始化模块,用于根据预先设定的配置文件及待模拟直升机网格文件,初始化运动嵌套网格;所述运动嵌套网格包括多个网格块;
面批次确定模块,与所述图形处理器连接,用于根据所述运动嵌套网格中的网格块,确定面批次信息,并将所述面批次信息发送至所述图形处理器;所述面批次信息包括多个批次及各批次对应的面单元和体单元;
插值模块,用于根据当前模拟时刻下的待模拟直升机网格文件,确定各网格块间的嵌套插值关系及插值映射索引;
流场确定模块,分别与所述插值模块及所述图形处理器连接,用于根据所述嵌套插值关系、插值映射索引及各网格块的流场信息,进行各网格块之间的流场信息交互,得到待模拟直升机的流场信息;所述流场信息包括密度、速度及压强;
所述图形处理器分别与所述面批次确定模块及所述流场确定模块连接,所述图形处理器用于采用计算流体力学CFD方法,根据所述面批次信息,计算所述运动嵌套网格中各网格块的流场信息,并发送至所述中央处理器;
所述图形处理器包括:
通量值确定模块,与所述面批次确定模块连接,用于针对任一批次,采用计算流体力学CFD方法,根据预先设定的边界条件,并行计算所述批次中各面单元的通量值;
更新模块,与所述通量值确定模块连接,用于将所述通量值更新至所述面单元的左右体单元;
网格块流场确定模块,分别与所述更新模块及所述流场确定模块连接,用于根据各体单元的通量值,确定所述网格块的流场信息。
2.根据权利要求1所述的基于图形处理器的直升机流场数值模拟系统,其特征在于,所述图形处理器还用于将各网格块的流场信息转换为数组结构体形式,并发送至所述流场确定模块。
3.根据权利要求1所述的基于图形处理器的直升机流场数值模拟系统,其特征在于,所述网格块包括多个面单元及多个体单元;所述面批次确定模块包括:
初始化子模块,用于针对任一批次,初始化所述批次内的选中面为空;
标记子模块,用于将网格块中任一未被确定批次的面单元标记为所述批次中的选中面,将所述面单元的左右体单元标记为被占用的体;被占用的体的其他面为冲突面;
遍历子模块,分别与所述标记子模块及所述初始化子模块连接,用于依次遍历余下未被确定批次且与选中面相邻的面单元,若所述面单元的左右体单元未被占用,则将所述面单元标记为所述批次中的选中面,将对应的左右体单元标记为被占用的体;
批次确定子模块,分别与所述遍历子模块及所述图形处理器连接,用于在网格块内所有的面单元均确定批次后,得到面批次信息。
4.一种基于图形处理器的直升机流场数值模拟方法,应用于权利要求1-3任一项所述的基于图形处理器的直升机流场数值模拟系统,其特征在于,所述基于图形处理器的直升机流场数值模拟方法包括:
通过中央处理器根据预先设定的配置文件及待模拟直升机网格文件,初始化运动嵌套网格;所述运动嵌套网格包括多个网格块;
通过中央处理器根据所述运动嵌套网格中的网格块,确定面批次信息;所述面批次信息包括多个批次及各批次对应的面单元和体单元;
通过图形处理器采用计算流体力学CFD方法,根据所述面批次信息,计算所述运动嵌套网格中各网格块的流场信息,具体包括:针对任一批次,采用计算流体力学CFD方法,根据预先设定的边界条件,并行计算所述批次中各面单元的通量值;将所述通量值更新至所述面单元的左右体单元;根据各体单元的通量值,确定所述网格块的流场信息;所述流场信息包括密度、速度及压强;
通过中央处理器根据当前模拟时刻下的待模拟直升机网格文件,确定各网格块间的嵌套插值关系及插值映射索引,并根据所述嵌套插值关系、所述插值映射索引及各网格块的流场信息,进行各网格块之间的流场信息交互,得到待模拟直升机的流场信息。
5.根据权利要求4所述的基于图形处理器的直升机流场数值模拟方法,其特征在于,所述基于图形处理器的直升机流场数值模拟方法还包括:
通过图形处理器将各网格块的流场信息转换为数组结构体形式。
6.根据权利要求4所述的基于图形处理器的直升机流场数值模拟方法,其特征在于,所述网格块包括多个面单元及多个体单元;所述通过中央处理器根据所述运动嵌套网格中的网格块,确定面批次信息,具体包括:
针对任一批次,初始化所述批次内的选中面为空;
将网格块中任一未被确定批次的面单元标记为所述批次中的选中面,将所述面单元的左右体单元标记为被占用的体;被占用的体的其他面为冲突面;
依次遍历余下未被确定批次且与选中面相邻的面单元,若所述面单元的左右体单元未被占用,则将所述面单元标记为所述批次中的选中面,将对应的左右体单元标记为被占用的体,遍历完成后进行下一批次的确定;
在网格块内所有的面单元均确定批次后,得到面批次信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210516285.9A CN114925627B (zh) | 2022-05-12 | 2022-05-12 | 一种基于图形处理器的直升机流场数值模拟系统及方法 |
PCT/CN2023/091413 WO2023216915A1 (zh) | 2022-05-12 | 2023-04-28 | 一种基于图形处理器的直升机流场数值模拟系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210516285.9A CN114925627B (zh) | 2022-05-12 | 2022-05-12 | 一种基于图形处理器的直升机流场数值模拟系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114925627A CN114925627A (zh) | 2022-08-19 |
CN114925627B true CN114925627B (zh) | 2024-03-15 |
Family
ID=82808154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210516285.9A Active CN114925627B (zh) | 2022-05-12 | 2022-05-12 | 一种基于图形处理器的直升机流场数值模拟系统及方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114925627B (zh) |
WO (1) | WO2023216915A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925627B (zh) * | 2022-05-12 | 2024-03-15 | 南京航空航天大学 | 一种基于图形处理器的直升机流场数值模拟系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632874A (zh) * | 2020-12-31 | 2021-04-09 | 杭州电子科技大学 | 一种直升机流场数值模拟的优化方法及系统 |
CN113221478A (zh) * | 2021-05-07 | 2021-08-06 | 南京航空航天大学 | 一种主动控制旋翼的数值分析方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004061723A1 (ja) * | 2002-12-27 | 2004-07-22 | Riken | V−cadデータを直接用いた非圧縮性粘性流体の流れ場の数値解析方法と装置 |
WO2017084106A1 (zh) * | 2015-11-20 | 2017-05-26 | 田川 | 一种数值模拟飞行器流场的系统及方法 |
CN106971043B (zh) * | 2017-03-31 | 2019-03-01 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | 一种嵌套网格的建立方法及装置 |
CN111222240B (zh) * | 2020-01-06 | 2022-08-19 | 中国人民解放军国防科技大学 | 利用gpu加速的热化学非平衡流场数据计算方法和装置 |
CN114201823A (zh) * | 2021-12-17 | 2022-03-18 | 西安前沿动力软件开发有限责任公司 | 一种显式嵌套网格装配方法、装置及存储介质 |
CN114925627B (zh) * | 2022-05-12 | 2024-03-15 | 南京航空航天大学 | 一种基于图形处理器的直升机流场数值模拟系统及方法 |
-
2022
- 2022-05-12 CN CN202210516285.9A patent/CN114925627B/zh active Active
-
2023
- 2023-04-28 WO PCT/CN2023/091413 patent/WO2023216915A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632874A (zh) * | 2020-12-31 | 2021-04-09 | 杭州电子科技大学 | 一种直升机流场数值模拟的优化方法及系统 |
CN113221478A (zh) * | 2021-05-07 | 2021-08-06 | 南京航空航天大学 | 一种主动控制旋翼的数值分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114925627A (zh) | 2022-08-19 |
WO2023216915A1 (zh) | 2023-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Biancolini et al. | Sails trim optimisation using CFD and RBF mesh morphing | |
CN110069800B (zh) | 具有光滑边界表达的三维结构拓扑优化设计方法及设备 | |
US9158719B2 (en) | Heterogeneous parallel systems for accelerating simulations based on discrete grid numerical methods | |
CN114925627B (zh) | 一种基于图形处理器的直升机流场数值模拟系统及方法 | |
CN107403466A (zh) | 基于全局加密的超大规模非结构网格生成方法 | |
CN110096838A (zh) | 一种基于n-s方程的直升机流场数值并行隐式求解方法 | |
CN112613243A (zh) | 一种流体力学模拟的方法、装置及计算机可读存储介质 | |
CN112632874A (zh) | 一种直升机流场数值模拟的优化方法及系统 | |
CN111489447A (zh) | 一种适用于格子Boltzmann方法的直角网格自适应建模方法 | |
CN115270500A (zh) | 一种布尔求差运算方法、装置及电子设备 | |
Chang et al. | A parallel implicit hole-cutting method based on background mesh for unstructured Chimera grid | |
CN117473655A (zh) | 基于边坍缩网格优化的飞行器仿真驱动设计方法和装置 | |
CN106611078B (zh) | 产品的具有时间步长控制方案的高效显式有限元分析 | |
CN108614889B (zh) | 基于混合高斯模型的移动对象连续k近邻查询方法及系统 | |
CN116663369A (zh) | 非结构网格cfd共享存储并行处理方法和系统 | |
CN116303219A (zh) | 一种网格文件的获取方法、装置及电子设备 | |
CN110889251A (zh) | 一种基于两步自适应加点策略的变保真度代理模型建立方法 | |
He et al. | Multi-objective efficient global optimization of expensive simulation-based problem in presence of simulation failures | |
CN107247833B (zh) | 一种云计算下的cae海量数据轻量化方法 | |
CN103218493A (zh) | 一种基于多重网格的快速等几何分析数值模拟方法 | |
CN103425787B (zh) | 一种渐进最优的三角网格重复顶点快速去除方法 | |
CN109086537B (zh) | 基于fpga的粒子群算法加速方法 | |
CN112766609A (zh) | 一种基于云计算的用电量预测方法 | |
CN113111612A (zh) | 一种基于自适应空间剖分的离散点云重复点快速查找方法 | |
CN115388893B (zh) | 基于遗传的滤波slam算法的移动机器人建图方法 |
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 |