首页 > 其他分享 >OpenFOAM中的场数据处理——postProcess

OpenFOAM中的场数据处理——postProcess

时间:2023-08-01 16:23:46浏览次数:40  
标签:postProcess rhoPimpleFoam OpenFOAM func 得到 数据处理 latestTime

转载自胡老师的公众号“CFD之道”在仿真秀上的文章:OpenFOAM|13 场数据处理_代码&命令_求解技术_科普_OpenFOAM-仿真秀干货文章 (fangzhenxiu.com)

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

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

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

postProcess -func vorticity

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

simpleFoam -postprocess -func vorticity

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

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

postProcess -list

输出结果如下图所示:

Available configured functionObjects:
57
(
CourantNo
Lambda2
MachNo
PecletNo
Q
R
XiReactionRate
add
boundaryCloud
cellMax
cellMin
components
div
dsmcFields
enstrophy
faceMax
faceMin
flowRateFaceZone
flowRatePatch
flowType
forceCoeffsCompressible
forceCoeffsIncompressible
forcesCompressible
forcesIncompressible
grad
icoUncoupledKinematicCloud
interfaceHeight
internalCloud
mag
magSqr
minMaxComponents
minMaxMagnitude
patchAverage
patchIntegrate
pressureDifferencePatch
pressureDifferenceSurface
probes
randomise
residuals
scalarTransport
singleGraph
staticPressure
streamFunction
streamlines
subtract
surfaces
totalPressureCompressible
totalPressureIncompressible
turbulenceFields
volFlowRateSurface
vorticity
wallHeatFlux
wallShearStress
writeCellCentres
writeCellVolumes
writeObjects
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

 

标签:postProcess,rhoPimpleFoam,OpenFOAM,func,得到,数据处理,latestTime
From: https://www.cnblogs.com/Xiwang-Sun/p/17596834.html

相关文章

  • OpenFOAM中的reconstructParMesh和reconstructPar
    OpenFOAM中的 reconstructParMesh 命令可以对网格进行重组,特别是对于动网格,在进行 reconstructPar 之前,需要先通过 reconstructParMesh 命令充足网格,否则会报错。在CFDEM中通过cfdemSolverIB和动网格对颗粒运动进行多核并行计算之后,可以写一个脚本文件reconstructPar.sh,对......
  • 高效Python-1提高数据处理效率的迫切需要
    1提高数据处理效率的迫切需要本章包括处理指数级增长的数据所面临的挑战传统计算架构与最新计算架构的比较Python在现代数据分析中的作用和不足提供高效Python计算解决方案的技术我们一直在以极快的速度从各种来源收集海量数据。无论目前是否有使用价值,这些数据都会被收集......
  • Unity的IPostprocessBuild:深入解析与实用案例
    UnityIPostprocessBuild技术文章UnityIPostprocessBuild是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目后自动执行一些操作。这个功能可以帮助开发者提高工作效率,减少手动操作的时间和错误率。在本文中,我们将介绍UnityIPostprocessBuild的使用方法,并提供三个使用......
  • Vue3的响应式数据处理方式
    问题:data[0].tableId是undefined,但控制台可以打印出data[0]的值原因: Vue3的响应式数据处理方式导致的。Vue3使用了Proxy来实现响应式数据。当你访问一个响应式对象的属性时,Vue会在底层进行拦截,并返回响应式的值。这意味着,当你访问`data[0].TableId`时,Vue会返回......
  • SpringBoot源码第四章-invokeBeanFactoryPostProcessors
    invokeBeanFactoryPostProcessors()实例化和调用所有BeanFactoryPostProcessorprotectedvoidinvokeBeanFactoryPostProcessors(ConfigurableListableBeanFactorybeanFactory){ PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(beanFactory,getBeanFa......
  • 新数据处理缺失值结果
    总共有440633个特征缺失,数据为109525×72,去除特定缺失值再补0。前7列数据缺失值过万了。缺失值小于10的列共33列距离2.9欧式角37 缺失值小于2600的列数44行3.1,角度2.9 缺失值350060列距离2.79角度36 8列-44列欧式距离2.9,角度31 ......
  • 5分钟教你从爬虫到数据处理到图形化一个界面实现山西理科分数查学校-Python
    5分钟教你从爬虫到数据处理到图形化一个界面实现山西理科分数查学校-Python引言在高考结束后,学生们面临的一大挑战是如何根据自己的分数找到合适的大学。这是一个挑战性的任务,因为它涉及大量的数据和复杂的决策过程。大量的信息需要被过滤和解析,以便学生们能对可能的大学选择有......
  • 在pandas中使用Sql进行数据处理的方案
    importpandasaspdimportpandasqlaspscurrent=pd.read_csv("cur.csv")previous=pd.read_csv("pre.csv")sql="""selectc.`Unnamed:0`asname,c.sumascurrent,p.sumasprevious,(c.sum-p.sum)asdifffromcu......
  • 详解Python数据处理Pandas库
    pandas是Python中最受欢迎的数据处理和分析库之一,它提供了高效的数据结构和数据操作工具。本文将详细介绍pandas库的使用方法,包括数据导入与导出、数据查看和筛选、数据处理和分组操作等。通过代码示例和详细解释,帮助你全面了解和应用pandas库进行数据处理和分析。一、安装和导......
  • os: pv 命令 - 显示数据处理的进度条
    os:pv命令 - 显示数据处理的进度条    一、pv 命令 1、pv 命令功能:显示数据处理的进度条 2、pv 命令安装:sudo apt install -y  pvdnf install -y   pv 3、pv 命令说明:[wit@ontmp]$pv--hel......