监测点、断面和等值面
CFD 工程有一类常规需求,这类需求可以概括为:保存求解过程中部分有价值的数据(而非软件默认保存的数据),比如说采集某些位置上的流速、压强,采集某个剖面上的流速和压强,还有获取压强等值面等等。本文将介绍 OpenFOAM 5.0 中最新的命令行后处理系统和其中几个函数。
我当前的应用场景是这样的,我在模拟一个水洞实验,我有实验测得的若干个测点的压强数据,我希望在数值模拟中获取相同位置的压强值,以对比实验值。实验中压强传感器的采集频率是几百千赫兹,总的采样时间是数秒。我不可能将求解过程中完整的流场数据保存下来再后处理,而只能存储这几个点的数据,这时我们就要用到 OpenFOAM 中的 probes 函数了。
由于我做的是大涡模拟,网格必须是三维的,而我只关心二维断面上的情况,我没有必要保存全部数据,这时 OpenFOAM 中的 surfaces 函数就派上用场了。
surfaces 函数的另一个功能是提取等值面,并以 vtk 等格式保存下来,我常用这个功能生成水面。
命令行后处理系统的配置文件在
$FOAM_ETC/caseDicts/postProcessing/
可以先看下 probes 函数的配置文件,相当简单
#includeEtc "caseDicts/postProcessing/probes/probes.cfg"
fields (p U);
probeLocations
(0 0 0)