OpenFOAM-3.0 的湍流模型(四)

最后来看一个小问题:OpenFOAM-3.0 中的湍流模型是怎么编译的。在这之前,湍流模型的编译很直观,将需要编译的湍流模型的代码的 .C 文件写到 Make/files 里就好了。可是,在 OpenFOAM-3.0 里,很多湍流模型代码的 .C 文件并没有写到 Make/files 里,而是在 makeTurbulenceModels.C里类似这样写

1
2
#include "mykEpsilon.H"
makeRASModel(mykEpsilon);

然后在 Make/files 里写的是这个 makeTurbulenceModels.C 文件。为什么呢?

这里来分析一下这个问题。

Read More

OpenFOAM-3.0 的湍流模型(二)

本篇分析 OpenFOAM-3.0 中湍流模型的 RTS 机制。RTS 机制主要是通过调用几个相关的宏函数来实现的,所以,分析 RTS 机制需要将相关的宏函数展开。四类湍流模型,机制是类似的,这里以单相不可压缩湍流模型为例,后文会给出所有其他湍流模型相关的宏函数的展开结果,供读者参考。
RTS 机制的基础这里不再重复了,读者若对这里涉及到 RTS 机制的名称感兴趣,可以参考我以前对 RTS 机制的解读。

Read More

OpenFOAM-3.0 的湍流模型(一)

本系列分析 OpenFOAM-3.0 版本的湍流模型。从 3.0 版开始,OpenFOAM 中的湍流模型架构发生了较大的变化,其实这种变化在 2.3 版开始已经初露端倪,在 2.3 版里,多相流的湍流模型已经开始跟单相流湍流模型分开。从 3.0 开始,单相流湍流模型和多相流湍流模型统一到了一个架构下。本系列将对 3.0 版的湍流模型进行详细的分析,分为四部分:结构概览,RTS 机制分析,编译新模型的方法,以及一些补充说明。

Read More

OpenFOAM 中的边界条件(三)

OpenFOAM 中有很多复杂的边界都是继承自上篇中提到的三个基础边界条件,这些边界条件的代码在上一篇的基础上就很容易看懂了。只不过,还有一些边界条件,不是继承自这三个基础边界条件的,其中有一些都直接或间接继承自另一个重要的边界条件: transformFvPatchField。本篇来看看这个 transformFvPatchField 以及几个继承自它的边界条件。

Read More