案例分享——
OpenFOAM的MotorBike算例集成
本案例最终形成了基于OpenFOAM的simpleFoam求解器,采用SIMPLE算法稳态求解不可压缩湍流的软件系统,该系统网格划分及仿真计算由OpenFOAM实现,后处理功能与界面参数设置通过FastCAE的可视化定制功能实现,通过开发OpenFOAM适配插件实现OpenFOAM字典参数设置。
技术路线
效果演示
软件主界面左侧为控制面板,可对几何、网格、后处理进行相关操作,在“仿真参数设置”节点下添加“计算域设置”、“网格分解”、“网格划分”、“求解设置”等节点,完成参数设置,算例求解完成后,可在右侧窗体展示“摩托车和骑手周围的稳态气流”的流线云图。
集成过程
本案例开发包括四个步骤:软件界面定制、字典文件编辑、脚本文件生成、插件开发。算例取自OpenFOAM安装目录下的incompressible/simpleFoam/motorBike。
1. 软件界面定制
通过FastCAE定制插件完成计算域设置、网格分解设置、网格划分参数设置、求解设置等。
2. 字典文件编辑
用文本编辑工具,编辑DecomposePar字典文件,关联initparameter文件中的参数(其他字典文件操作方法与此方法相同),initparameter文件由适配插件获取相关界面参数生成。
3. 脚本文件生成
案例中用到的脚本文件为Allclean和AllRun.sh文件,AllRun.sh驱动OpenFOAM求解计算,Allclean为清空历史日志文件及网格文件,本案例中AllRun.sh取自motorBike算例中自带脚本文件,用户可自行扩展脚本文件内容。
4. 插件开发
插件中核心方法包括OpenFoamWriteOut和OpenFoamFileTrans方法。
OpenFoamWriteOut方法在调用求解器前执行,主要用于生成initparameter 文件与字典文件关联。
OpenFoamFileTrans方法用于求解计算完成后的文件转换。