首页/文章/ 详情

OpenFOAM|13 场数据处理

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
主编推荐/内容稀缺
4月前浏览6448

本文摘要(由AI生成):

OpenFOAM提供了postProcess工具用于计算和分析流体动力学模拟中的衍生物理量,如马赫数、库朗数、壁面剪切应力等。通过指定函数对象,用户可以在模拟结束后获取速度、密度、涡量等基本信息及其衍生量。同时,OpenFOAM也提供了数据转换工具,如foamDataToFluent、foamToVTK等,用于将模拟结果转换为其他软件支持的格式,便于数据分析和可视化。这些工具和功能位于OpenFOAM的$FOAM_UTILITIES/postProcessing目录下。


本文简单介绍OpenFOAM中postProcess的使用。

在OpenFOAM中,可以使用程序postProcess对计算得到的基础结果数据进行处理以获取新的物理场数据。

postProcess可以作为单独的程序运行,如下面的形式:

postProcess -func vorticity

也可以作为求解器参数在求解计算过程中运行,如下面的调用形式:

simpleFoam -postprocess -func vorticity

需要注意的是,不管采用何种调用方式,postProcess都是以后处理的形式运行。不过以求解器参数的形式运行的话,可以访问求解器参数。

postProcess提供了众多的功能,可以在终端中输入:

postProcess -list

输出结果如下图所示:

可用的functionObjects:
74
(
 CourantNo
 Lambda2
 MachNo
 PecletNo
 Q
 Qdot
 R
 XiReactionRate
 add
 age
 boundaryProbes
 cellMax
 cellMin
 components
 ddt
 div
 dsmcFields
 enstrophy
 faceMax
 faceMin
 faceZoneAverage
 fieldAverage
 flowRateFaceZone
 flowRatePatch
 flowType
 forceCoeffsCompressible
 forceCoeffsIncompressible
 forcesCompressible
 forcesIncompressible
 grad
 interfaceHeight
 internalProbes
 log
 mag
 magSqr
 minMaxComponents
 minMaxMagnitude
 particles
 patchAverage
 patchIntegrate
 phaseMap
 phaseScalarTransport
 pressureDifferencePatch
 pressureDifferenceSurface
 probes
 randomise
 residuals
 scalarTransport
 scale
 shearStress
 singleGraph
 staticPressure
 stopAtClockTime
 stopAtFile
 streamFunction
 streamlines
 subtract
 surfaces
 time
 totalEnthalpy
 totalPressureCompressible
 totalPressureIncompressible
 turbulenceFields
 turbulenceIntensity
 volFlowRateSurface
 vorticity
 wallHeatFlux
 wallHeatTransferCoeff
 wallShearStress
 writeCellCentres
 writeCellVolumes
 writeObjects
 writeVTK
 yPlus  
)

postProcess源代码位于路径$FOAM_UTILITIES/postProcessing/postProcess中,在路径$FOAM_SRC/functionObjects中可以找到能够被处理的物理场。

下面以案例形式进行介绍。如下面的案例利用求解器rhoPimpleFoam计算斜坡激波,计算结果中只有基本物理量T、p、U、rho等。如下面为速度分布。

此时可以使用命令计算一些衍生物理量,如下所示:

# 计算得到马赫数
rhoPimpleFoam -postProcess -func MachNo

得到的马赫数如下图所示。

相类似的方式可以得到其他的物理量:

# 得到库朗数
rhoPimpleFoam -postProcess -func CourantNo
# 得到壁面剪切应力
rhoPimpleFoam -postProcess -func wallShearStress
# 得到0s时刻的密度值
rhoPimpleFoam -postProcess -func 'writeObjects(rho)' -time 0
# 得到涡量值
rhoPimpleFoam -postProcess -func vorticity
# 独立程序方式得到涡量值
postProcess -func vorticity
# 利用外部字典进行数据获取
rhoPimpleFoam -postProcess -dict system/externalFunctionObject -latestTime

一些比较常用的调用形式包括:

# 获取速度梯度
postProcess -func 'grad(U)'
# 获取速度分量
postProcess -func 'components(U)'
# 获取速度值
postProcess -func 'mag(U)'
# 计算速度矢量的平方
postProcess -func 'magSqr(U)'
# 计算总压
postProcess -func 'totalPressureCompressible(rho,U,p)' -noZero
# 计算速度矢量的散度
postProcess -func 'div(U)' -time 500:1000
# 计算最终时刻的速度梯度幅值
postProcess -func 'mag(grad(U))' -latestTime

也可以使用工具postProcess计算指定边界上的物理量平均值,如下面的调用形式:

# 得到最终时刻边界inlet上的压力平均值
postProcess -func 'patchAverage(name=inlet,p)' –latestTime
# 得到最终时刻边界outlet上的速度平均值
postProcess -func 'patchAverage(name=outlet,U)' –latestTime
# 得到入口边界上压力积分值
postProcess -func 'patchIntegrate(name=inlet,p)' –latestTime
# 得到出口边界上速度积分值
postProcess -func 'patchIntegrate(name=outlet,U)' -latestTime


OpenFOAM中提供了一些将计算结果转换为其他格式的工具,这些工具源代码位于路径$FOAM_UTILITIES/postProcessing/dataConversion,比较常用的工具包括:

foamDataToFluent
foamToEnsight
foamToEnsightParts
foamToGMV
foamToTecplot360
foamToTetDualMesh
foamToVTK
smapToFoam

更多的信息可以查看源代码,或者使用-help参数进行查看。


OpenFOAM代码&命令求解技术科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-11-11
最近编辑:4月前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2559粉丝 11255文章 732课程 27
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈