1.8、查询值

boundaryCloud:写入某点处场值,插值到指定的边界面。

internalCloud:写出插值到指定点处的场的值。

Probes:从最接近指定位置的单元格中写入场的值。

1.9、’pluggable’求解

scalarTransport:求解标量场的传输方程。

2.0、可视化工具

streamlines:使用VTK格式的内插场数据写出流线文件。

surfaces:用VTK格式的内插场数据写出表面文件,例如切割平面,等值面和patch边界表面。

2、运行时数据处理

当用户希望在模拟期间处理数据时,他们需要相应地配置。配置过程如下,使用监视在出口patch(命名为outlet)处的流量的示例。

首先,用户应该把flowRatePatch函数包含在controlDict文件的函数子字典中。使用#includeFunc指令。

functions { #includeFunc flowRatePatch … other function objects here … }

这样将会把功能纳入到flowRatePatch配置文件中,位于以$FOAM_ETC/caseDicts/postProcessing开头的目录层次结构中。

flowRatePatch的配置要求提供patch的名称。这样做的办法1是,用户将flowRatePatch文件复制到其case系统目录中

cp $FOAM_ETC/caseDicts/postProcessing/flowRate/flowRatePatch system

并在复制的文件中将patch名称编辑为outlet。当求解器运行时,它将在本地案例系统目录中拾取一个包含的函数,优先级高于$FOAM_ETC/caseDicts/postProcessing。这样将会计算通过patch的流率,并将其写入名为postProcessing的目录中的文件中。用于指定patch名的另一个办法是使用语法keyword=entry,为#includeFunc伪指令中的flowRatePatch提供名称作为参数。

functions { #includeFunc flowRatePatch(name=outlet) … other function objects here … }

这能有效的原因是因为函数的参数U由关键字“field”表示,参见$FOAM_ETC/caseDicts/postProcessing/fields/mag。

一些函数需要设置许多参数,例如,forces,forceCoeffs,surfaces等。对于这些功能,使用办法1(上面)而不是通过参数复制和配置功能更可靠和方便。

3、后处理postProcess实用程序

用户可以在完成模拟后使用postProcess实用程序执行后处理功能。让我们从tutorials目录中使用pitzDaily示例来说明postProcess的使用。该案例可以被复制到用户自己的运行目录;然后用户可以进入case目录,用blockMesh生成网格,然后运行simpleFoam。

run cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily . cd pitzDaily blockMesh simpleFoam

现在用户可以使用postProcess运行执行后处理函数。-help选项提供其内容的总结。

postProcess -help

可以使用-func选项执行类似于mag的简单函数;如果命令行上的文本包含标点符号,则通常需要使用引号(“…”)。

postProcess -func “mag(U)”

该操作计算并将速度幅值场写入到每个时间目录中的名为mag(U)的文件中。同样,flowRatePatch示例可以使用postProcess执行。

postProcess -func “flowRatePatch(name=outlet)”

让我们假设用户现在想计算具有运动压力p的不可压缩流的总压力=p+|U|^2/2。该函数可使用cli指令,名为totalPressureIncompressible,用户可以尝试首先运行如下。

postProcess -func totalPressureIncompressible

这将返回以下错误消息。

–> FOAM Warning : functionObject pressure: Cannot find required field p

错误消息告诉用户压力场p未加载;速度场U也是如此。对于要工作的函数,两个字段可以作为逗号分隔参数加载。

postProcess -func “totalPressureIncompressible(p,U)”

或者,用户可以使用-fields选项加载空格分隔的字段列表。

postProcess -fields “(p U)” -func totalPressureIncompressible

两个办法都可以效地工作,因为压力和速度数据可直接从文件p和U得到。

4、求解器后处理

一个更复杂的例子是使用wallShearStress函数计算壁剪切应力。

postProcess -fields “(p U)” -func wallShearStress

即使加载相关字段cli指令,后处理也会失败,并显示以下消息。

–> FOAM FATAL ERROR: Unable to find turbulence model in the database

消息告诉我们postProcess使用程序没有构建求解器simpleFoam,而它是在运行模拟时使用的必要模型,即湍流模型。这是一种情况,我们需要使用带有-postProcess选项的解算器进行后处理(而不是运行时处理),以便后处理功能所需的模型可用。可以使用以下命令打印此操作的帮助。

simpleFoam -postProcess -help

可以看出创业项目,带有-postProcess的求解器的选项与运行postProcess实用程序时的选项相同。这意味着-func选项可以有效地执行wallShearStress函数。

simpleFoam -postProcess -func wallShearStress

注意,不需要通过函数参数“(p,U)”或使用“-fields(p U)”提供场,因为simpleFoam本身构造和存储所需的场。函数也可以通过controlDict文件中的函数中的#includeFunc指令来选择,取代-func选项。

原文:

蓝威技术有限公司是国内首家在线CAE平台供应商,为普通用户提供3000核/小时的免费计算时间,为企业用户提供行业的云计算平台解决方案,帮助客户整合行业数据资源。

商务合作

求解器

定制化在线工具

openFoam算例

科技好文

请邮件至小易: customer@easycae.cn

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注