通常,有四种不同的方法来模拟湍流及其影响。湍流模型的主要目的是确定雷诺应力,因为它们在动量方程中是未知的(见第1章)。

根据模型类型,计算雷诺应力的方法可能会从相对简单到非常复杂不等,这反过来又会导致对所需计算工作量和计算网格的不同要求。图7.1简要概述了这些模型。

湍流模型最基本的类别是雷诺平均Navier-Stokes(雷诺平均Navier-Stokes(RANS))模型,因为该组的所有模型都研究平均速度的时间波动,即雷诺平均(见[13,8])。这种类型的模型可以在相对粗糙的网格上工作,因为湍流波动不是几何上解决的,而是模拟的。如果从字面上看,这些模型只适用于稳态模拟,因为无法模拟真实的湍流波动。这种RANS模型的突出例子是k-epsilon模型(见[5,6])、k-ω模型(见[15])和k-ω-SST模型(见[9,10])。OpenFOAM中这些模型的实现位于Reynolds Averaged Simulation(RAS)模型库中。

下一组模型称为大涡模拟(Large Eddy Simulation,LES),与其中只有小规模涡模拟的RANS模型不同。大尺度涡由计算网格在空间上解析,与RANS模型相比,需要更精细才能正确运行。在计算成本和效率方面,LES位于RANS和直接数值模拟(DNS)之间,如图7.1所示。Pope[11]指出,“对于大尺度显著不稳定的流动,LES在预期上可以比雷诺应力模型更准确和可靠”。

DNS基于求解所有流量尺度的Navier-Stokes方程,并且不部署任何湍流模型。实施这种方法是最简单的方法,但由于所有空间和时间尺度都需要完全解析,所需的计算量非常高。

OpenFOAM中的湍流建模是通用的,因此可以在每个求解器中选择任何模型。这当然假设求解器支持湍流建模,这是大多数求解器的情况。当应该使用不同的湍流模型时,通用实现的主要优点是能够将RTS与湍流模型结合使用并且不必重新编译求解器。所有湍流模型都可以在$FOAM_SRC/TurbulenceModels中找到,它们各自的实现在可压缩、不可压缩和LES型模型之间变化。在下文中,仅涵盖RANS模型的一小部分,而LES,分离涡流模拟(DES)和DNS模型被忽略。

7.1.1 壁面函数

“在高雷诺数下,边界层的粘性子层非常薄,难以使用足够的网格来求解”(见[3])。壁面函数依赖于壁面通用定律,该定律指出,几乎所有湍流的壁面附近的速度分布都是相似的。

当判断壁函数的适用性时,最突出的参数之一是无量纲壁面距离,由Schlichting和Gersten[14]定义为: 其中表示与壁的绝对距离,分别表示摩擦速度和运动粘度。

Pope[11]对壁面函数以及为什么它们如此重要提供了深刻的见解。湍流模型需要考虑壁面和相对靠近壁面的陡峭的速度分布。这就是壁面函数发挥作用的地方,这是由Launder和Spalding首先提出的。其思想是在距离壁面一定距离处应用附加边界条件,以满足对数定律。因此,湍流模型引入的附加方程无法在靠近壁面处求解。根据使用的特定湍流模型,不同的壁面函数必须应用于湍流模型的各个物理场。意思是k− epsilon模型需要不同于k-w的壁面函数。

警告:特别是当流动遭受严重的流动分离时,RANS模型通常无法正确捕获这种分离。因此,如果使用RANS模型(参见Pope[11],Wilcox[15]以及Ferziger和Perić[3]),必须小心处理这些流动问题。

不同的湍流模型及其相关的壁面函数需要不同的 y+ 值,因此需要不同的近壁面区域的空间分辨率。读者可参考特定文献,了解靠近壁面的计算网格必须达到的所需 y+ 值。请注意,如果对数律区域通过网格进行几何解析,则无需应用壁面函数。根据模拟的类型,如此低的 y+ 值要么在网格划分过程中极难达到,要么甚至是不可取的,因为这显著降低了时间步长。

在 OpenFOAM 中,壁面函数只不过是应用于wall类型边界的patch的普通边界条件。如果将壁面函数边界条件应用于patch边界类型,则求解器将在运行时弹出错误消息。由于壁面函数在实现方面与边界条件非常相似,因此本章不明确讨论它们的设计。第 10 章详细讨论了边界条件。