本期案例来自中山大学反应堆热工水力(明平剑老师)团队,团队基于开源成熟的风雷(PHengLEI)求解计算程序,通过FastCAE平台进行功能拓展与集成,从用户体验角度出发提供了直观流畅的人机交互感受,降低了CFD软件的使用门槛,切实推动了风雷从CFD求解计算程序向CFD软件的过渡。
本软件功能上可满足SIMPLE低速不可压、湍流单方程模型、湍流两方程模型等CFD求解算法,支持多种压力基数学库求解,支持多种对流、扩散离散格式。求解器开源自主可控,支持求解器二次开发、前后处理的二次集成、自动转换网格等扩展功能。
本期内容将基于项目概述、风雷插件开发、案例展示及软件创新点四个方面进行展示。
01
项目概述
风雷软件是我国自主研发的一款具有自主知识产权的大型开源CFD软件。该软件能够同时兼容结构网格/非结构网格混合模拟计算、二阶/高阶精度模拟计算,计算范围覆盖低速、亚跨音速、高超音速等,同时也可以模拟可压缩与不可压缩流动等。
作为当前实施的国家数值风洞系统的重要组成部分,正在集成包括飞机结冰、风工程、化学反应与燃烧、高精度等学科物理模型。其计算精度高、计算收敛速度快、鲁棒性较强,逐渐在航空航天与汽车领域开始普及应用。
图1 风雷中包含的多种求解器
本软件通过FastCAE集成平台对风雷软件中的部分CFD求解算法进行集成,切实提高了软件易用性。通过在FastCAE软件的开源代码中拓展风雷插件的形式开发专门针对风雷软件使用的插件,从而对风雷软件的网格前处理模块、输入参数模块、求解器求解模块与后处理可视化模块进行统一集成,完成在FastCAE标准框架中使用风雷内核对CFD算例模拟求解的统一行为。
通过此次集成,风雷求解计算程序能够迈向CFD商业软件,提升风雷软件的使用便捷性,进而提高我国自主研发开源CFD软件在市场上的竞争力。
02
风雷插件开发
图2 风雷算例文件
在风雷的算例中,通常包含三个文件夹,其分别为参数文件bin、网格文件grid和结果文件results。在工程计算中,就操作逻辑而言,工程师通常会在软件读取网格后,通过界面内的各选项进行参数选取与输入,随后通过求解器完成算例流动模拟并在集成平台中进行结果可视化。
这种积累的工程经验反过来指导团队对FastCAE集成平台和风雷求解计算程序进行定向开发,提升整体的易用性。
图3 工程计算流程
整体的集成优化目标如下列所示:
●将网格转化等前处理自动化,最大程度简便用户使用体验
●针对风雷程序丰富的输入库设计并定制相关参数输入逻辑与界面
●基于FastCAE平台的后处理模块显示功能:耦合开源风雷目前输出的plt文本文件并将其转换为.szplt文件格式,在FastCAE中进行可视化后处理。
风雷与FastCAE的集成主要通过插件的形式实现。在FastCAE的PluginBase基类中增加PluginPHengLEIExtend子类,该子类继承自PluginBase,可以通过重载install()与uninstall()函数实现插件的安装/卸载。
图4 插件建立方法
在FastCAE集成界面中通过定制功能完成对风雷求解过程中所需的各求解模型、求解模型所需参数类型、名称等定制。
在FastCAE读入网格,获取网格路径后,FastCAE将自动在后台调用风雷网格转换程序并将生成的.fts网格文件、.bcname边界信息文件等移动至算例文件夹中的grid文件夹中用于后续模拟计算。
随后在PluginPHengLEIExtend子类中使用全局函数getParameterValue获取对应值,随后依据不同输入卡中所包含的不同参数,调用writeInputText()函数在算例文件夹的bin文件夹中进行输入卡的编写。
针对不同输入卡(cfd_para.hypara, key.hypara, grid.hypara, cfd_incompressible.hypara, boundary_conditions.hypara)该函数将写入不同内容。
表1 输入文件用途
风雷PBSolver求解器中仅支持对.fts格式的网格文件进行读取与计算。然而风雷提供了网格格式转换程序,支持从.cgns,.cas,.msh,.inp等常见网格文件转换到.fts文件。
在网格文件成功转换、输入卡成功写出后,FastCAE将调用用户输入的风雷求解器路径下的求解器进行CFD模拟计算,计算后的结果将以.szplt的格式存放于算例文件夹的results文件夹中,此时在FastCAE中选择导入即可进行结果可视化处理。
综上所述,插件开发的具体结构可以体现在两个方面:
风雷输入文件(bin, grid)
●准备文件目录
●拷贝网格文件,并执行风雷默认网格格式转化程序
●读取前端输入进行文件信息写入
●对边界条件文件改写
风雷后处理文件(result)
●将结果文件(.plt)转化为FastCAE可读(.szplt)
●监控文件准备
通过上述插件以及FastCAE集成平台开发,软件已基本覆盖风雷开源、自研求解器主要CFD求解功能设置,并提供多种参数接口:
多种边界条件:VelocityInlet、PressureOutlet、Wall、Moving Wall、FixTWall、FixHeatFluxWall
多种离散格式:对流离散:一阶迎风、二阶迎风、中心差分;及扩散离散,时间项离散格式等
支持多种线性方程求解器求解的 Hypre,Unap等数学库
图5 算例设置实例
03
案例展示
本软件选取机翼模型、棒束模型等进行不可压缩流体速度场、温度场的计算,计算结果可视化如下图所示。
图6 部分二维、三维算例结果
图7 顶盖流模型后处理界面
图8 后处理二维曲线绘制
04
模块创新点
软件围绕用户体验出发,优化了CFD求解过程,通过两点提升了软件的易用性:
●将风雷的网格转换(.msh转.fts),高度集成在“求解”按钮中
●对风雷文本型结果文件读取(.plt)并转化为(.szplt),可直接在FastCAE中进行结果后处理
随着风雷软件的版本不断更新发布,本软件具有广阔的二次开发前景,且在集成过程中不需要引入其他三方库,只需要使用风雷软件与FastCAE平台进行集成即可。因此当风雷软件有更新时只需要在风雷插件代码处进行小量修改即可,后续维护成本较低,FastCAE平台为风雷软件大大增加了可用性与便捷性,使其在市场上的竞争力进一步加强。
再次感谢中山大学反应堆热工水力(明平剑老师)团队对开源工业仿真软件集成大赛的信任和倾力支持!