适用版本: OpenFOAM 5.x 以上
选择适当的湍流模型在流体仿真中是不可避免的,在 OpenFOAM 中,也提供了多种湍流模型,供大家使用。那么在 OpenFOAM 中,湍流模型如何设置呢?
在 OpenFOAM 的湍流模拟中,设置湍流的文件是 constant/turbulenceProperties
。我们先来看一下官方的例子,tutorials/incompressible/pisoFoam/RAS/cavity
,在这个 case 中,该文件的内容如下
simulationType RAS; // 湍流模拟的类型:laminar, LES, RAS 可选
RAS // 雷诺平均应力模型;若选择 laminar,这一项设置是不需要的;
{ // 如果是 LES,则需要使用 LES{} 来设置它的相关参数
RASModel kEpsilon; // 雷诺平均应力模型的选择,kEpsilon 就是通常说的 k-epsilon 模型
turbulence on; // 湍流计算开关,on 表示计算 k, e, nut 等湍流变量;而 off 则表示不计算这些变量,取其初始值
printCoeffs on; // 系数是否打印
}
各字段中关键词的意义如下:
-
simulationType
选择湍流模拟的类型:有 laminar, RAS, 和 LES,laminar 表示不使用湍流模型; RAS 表示雷诺平均应力模型 (Reynolds-Average Stress);LES 表示采用 LES (Large Eddy Simulation, 大涡模拟) 或 DES (Detached Eddy Simulation, 分离涡模拟) -
RAS
设置雷诺平均应力模型的参数
—RASModel
选择雷诺平均应力模型:有 kEpsilon, kOmega, RNGkEpsilon 等
—turbulence
湍流模型计算的开关。on 表示计算湍流模型中相应的变量;off 表示不计算湍流模型的变量,而使用其初始值
—printCoeffs
是否将模型的系数在程序运行开始的时候打印到终端
— 如果不使用缺省的模型系数,可通过 <RASModel>Coeffs 指定,比如:
kEpsilonCoeffs
{ // 以下各参数的值为缺省值,可以根据大家需要进行修改
Cmu 0.09;
C1 1.44;
C2 1.92;
C3 -0.33;
sigmak 1.0;
sigmaEps 1.3;
}
另外大家要注意的是,OpenFOAM 中湍流模型不一定与各标准的湍流模型相同,在使用时需要酌情考虑。还有
OpenFOAM 5.x 提供的 RASModel 有
- LRR
- LamBremhorstKE
- LaunderSharmaKE
- LienCubicKE
- LienLeschziner
- RNGkEpsilon
- SSG
- ShihQuadraticKE
- SpalartAllmaras
- kEpsilon
- kOmega
- kOmegaSST
- kOmegaSSTLM
- kOmegaSSTSAS
- kkLOmega
- qZeta
- realizableKE
- rheoRNGkEpsilon
- v2f
还提供了以下 LES 模型 (含 DES 模型)
- DeardorffDiffStress
- Smagorinsky
- SpalartAllmarasDDES
- SpalartAllmarasDES
- SpalartAllmarasIDDES
- WALE
- dynamicKEqn
- dynamicLagrangian
- kEqn
- kOmegaSSTDES