首页/文章/ 详情

几个OpenFOAM内置的有用小工具

1年前浏览8011
后处理是CFD仿真中不可或缺的一步,如何方便快捷地对仿真结果进行分析处理也成为评估CFD软件优劣的一项重要指标。   
 

商业CFD软件一般提供较好的交互界面窗口,方便用户在仿真计算前或者计算中对仿真结果进行处理,因此在用户友好度上评分较高。相比之下,OpenFOAM作为无GUI仿真软件,用户基本都需借助ParaFoam/ParaView平台进行可视化后处理,操作略显繁琐。其实,OpenFOAM具有内置的后处理命令行窗口(post-processing command line interface),以下分享几个后处理常用的工具/命令。

       

OpenFOAM

foamLog工具

postProcess工具

Run-time实时后处理


 

选用motorBike教程算例进行详细说明,文件位于:

$FOAM_TUTORIALS/incompressible/simpleFoam/motorBike  

下图为OpenFOAM中使用后处理函数得到的速度云图与流线图。


     

foamLog工具

OpenFOAM运行时屏幕上会输出大量的log信息,一般这些信息都会定向输出到某个log文件,方便用户后续检查。Log文件中最重要的信息之一就是残差收敛情况,但所有信息都集中在了一个文件,用户不方便直观的得出收敛情况,这时可以采用foamLog工具对各求解变量的残差进行提取,提取的数据格式存储为X-Y类型,便于后续做图使用。  
以motorBike算例展示,运行结束后在case文件夹下输入foamLog log.simpleFoam指令,将会自动创建一个名为logs的新文件夹,包含多个数据文件。以Ux为例,Ux_0提取了每步迭代中Ux的初始残差,UxFinalRes_0提取了每步迭代中Ux的最终残差,UxIters_0提取了每步迭代中Ux达到收敛所需的次数,示例如下:  

 
可采用gnuplot绘制残差  


 



   

postProcess工具

当计算结束后,可采用postProcess对当下保存的时间步文件进行后处理。可选后处理类型可用postProcess -list指令穷举:  


各后处理工具对应的源代码位于$FOAM_SRC/functionObjects文件夹,对应的默认配置文件位于:
$FOAM_ETC/caseDicts/postprocessing文件夹
喜欢源码的伙伴可自行查阅。


下面以probes后处理函数为例介绍其基本使用步骤:

使用 foamInfo probes 获取函数的描述

使用 foamGet probes 复 制配置文件到当下算例

编辑 system/probes 用户参数输入文件

执行指令postProcess -func probes,将自动创建postProcessing/probes文件夹并提取当下算例所有时间步结果中对应探针的物理量。

基于以上数据做进一步处理分析


使用postProcess工具将后处理步骤代码化和脚本化有助于参数化分析研究,也有助于数据的对比。虽然设置过程相较交互式界面略显繁琐,但该方法一劳永逸,设置好标准算例后,后续算例均可复 制粘贴。
该方法仍存在一些不足:
  • 必须等到运行结束才能进行后处理,计算过程与后处理是独立的。

  • 后处理的数据提取依赖于用户保存的中间时间步结果。



     

Run-time实时后处理

为弥补postProcess工具带来的不足,可采用run-time实时后处理方法。该方法中调用的后处理函数与postProcess -list穷举出来的一致,只是形式上要将其放入controlDict的functions代码块中。

其对应的源码及说明位于:$FOAM_SRC/OpenFOAM/db/functionObjects/functionObject/functionObject.H 


 

再次以motorBike算例为例,其 system/controlDict 内的functions包含:


展开cuttingPlane为例,其基本要素与上文提及的 functionObject.H 一致。

采用该run-time方法时,用户只需敲入对应求解器命令计算即可,在计算过程中,程序会自动输出用户定义好的后处理函数结果到postProcessing文件夹。


OpenFOAM内置了大量的后处理函数,用户可基于命令行形式使用postProcess工具调用,也可以将对应函数放入system/controlDict的functions模块中,从而实现run-time实时输出的功能。这里仅以比较简单的函数在此抛砖引玉,还需各位foamer一起发掘更强大的功能,希望对大家有所帮助。

来源:多相流在线
OpenFOAM碰撞多相流燃烧湍流通用航空航天船舶汽车试验ParaView
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-23
最近编辑:1年前
积鼎科技
联系我们13162025768
获赞 108粉丝 109文章 300课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈