数值模拟已广泛应用于航空发动机的设计和研制领域,数值模拟技术的应用可以有效地提高设计精度,减少实验迭代次数和开发成本,缩短开发周期,提高研究效率和质量。
目前在航空发动机领域,部件级仿真技术经过多年发展已经非常成熟,有效促进了航发部件的设计。然而时至今日,航空发动机整机的仿真依旧面临较大挑战。
首先整个航空发动机包含风扇、压气机、燃烧室、涡轮等多个部件,使得整机仿真对网格和计算规模的要求远超以往;其次,部件复杂几何、高速相对运动以及无处不在的多尺度流动,对网格功能与性能提出苛刻的要求;第三,核心能量转化部件燃烧室内多相、喷雾、燃烧、传热、声学等多物理化学过程强烈耦合,给求解器开发带来极大难度。最后,上述三点导致航发仿真求解器在大规模并行时难以获得令人满意的并行效率,从而无法真正利用超级计算机资源。
应用概述
图1 目标涡轮风扇发动机模型
航空发动机仿真并行规模和问题规模难以增长有多方面的原因。首先是航空发动机/燃气轮机模拟需要更复杂精细的燃烧模型,以及需要利用高性能计算资源进行超大规模并行计算的专门优化。第二个原因是当网格和并行规模非常大时,网格生成和后处理也成了一道难以逾越的屏障。目前业界在工程实际中仍倾向于使用基于RANS的低保真模拟,未能将强大的超级计算资源应用于航空发动机的真实模拟。
从2010年开始,异构众核处理器成了高性能计算中的主流硬件架构,例如GPU或Intel MIC。“神威·太湖之光”是另一种异构系统,组成它的SW26010芯片采用片上融合的异构众核架构,如图2所示,每块芯片由四个核组组成,每个核组包含一个主核和64个从核。相比于多核架构处理器,异构众核处理器一般访存带宽受限,SW26010在此方面更加显著,并且非结构网格数据分散,因此非结构网格程序在SW26010众核处理器上难以获得较好的性能。
图2 SW2606处理器架构示意图
我们通过两种网格分段排序策略,即行分段策略和网格多级重排,有效地解决了非结构网格计算在“神威·太湖之光”异构众核芯片上计算效率低下的问题。两种措施都能够有效解决异构众核芯片访存受限情况下,非结构网格计算数据分散的问题,有效提高缓存命中率,最终提升程序效率。
我们采用的涡扇发动机由两个轴、2级风扇、10级压气机、短环形燃烧室和7级涡轮组成,如图3所示。我们使用swOpenFOAM求解器在“神威·太湖之光”超级计算机上,对该发动机的三维非定常流动和燃烧进行计算。
我们设计了三组算例CASE-1 ~ CASE-3来测试并行性能。CASE-3使用65336个SW26010核组来测试峰值性能。
首先是弱扩展性测试,我们使用网格量不同的算例CASE-1、CASE-2、CASE-3。如表所示,其中NCPU是SW26010的核心数量,MPIs是进程数量,TN是运行时间,当前测试表明swOpenFOAM具有良好的弱扩展性能。
强扩展性测试我们使用CASE-1的网格,分为四组并行规模。如表所示SN为并行效率,强扩展性能良好。
表3 强扩展性测试算例配置
图5 温度云图
最后,图6为高压压气机第6级转子出口处从根部到叶尖总压比沿叶高的模拟分布,并与固定传感器和移动探针的实验测量值进行对比。