在OF中,湍流模型和湍流输运模型有何区别?

主要是看到文件命名中常有turbulence Models和turbulence transport Models,这两类文件(文件夹)大致分别包含什么内容?

在 OpenFOAM-6 中, turbulentTransportModels 位于 src/TurbulenceModels/incompressible/turbulentTransportModels, 主要是不可压缩模型,包含到 RunTime Selection (RTS) 机制中 laminar, LES, RAS 中的一些模型,
可以看一下 turbulentTransportModels.C

makeBaseTurbulenceModel
(
    geometricOneField,
    geometricOneField,
    incompressibleTurbulenceModel,
    IncompressibleTurbulenceModel,
    transportModel
);


// -------------------------------------------------------------------------- //
// Laminar models
// -------------------------------------------------------------------------- //

#include "Stokes.H"
makeLaminarModel(Stokes);

#include "Maxwell.H"
makeLaminarModel(Maxwell);


// -------------------------------------------------------------------------- //
// RAS models
// -------------------------------------------------------------------------- //

#include "SpalartAllmaras.H"
makeRASModel(SpalartAllmaras);

#include "kEpsilon.H"
makeRASModel(kEpsilon);

#include "RNGkEpsilon.H"
makeRASModel(RNGkEpsilon);
...
// -------------------------------------------------------------------------- //
// LES models
// -------------------------------------------------------------------------- //

#include "Smagorinsky.H"
makeLESModel(Smagorinsky);

#include "WALE.H"
makeLESModel(WALE);

#include "kEqn.H"
makeLESModel(kEqn);
...

在 Make/files 中

incompressibleTurbulenceModel.C

turbulentTransportModels/turbulentTransportModels.C
turbulentTransportModels/RAS/qZeta/qZeta.C
turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C
turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C
turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C

BCs = turbulentTransportModels/RAS/derivedFvPatchFields
turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C

LIB = $(FOAM_LIBBIN)/libincompressibleTurbulenceModels

第三行包含了 turbulentTransportModels.C 文件,而且在 Make/options 里面,

EXE_INC = \
    -I../turbulenceModels/lnInclude \
    -I$(LIB_SRC)/transportModels \
    -I$(LIB_SRC)/finiteVolume/lnInclude \
    -I$(LIB_SRC)/meshTools/lnInclude \

LIB_LIBS = \
    -lincompressibleTransportModels \ # 包含了不可压的粘度模型
    -lturbulenceModels \
    -lfiniteVolume \
    -lmeshTools

因此,可以说 turbulentTransportModels 是不可压缩的。然而,以下的不可压缩模型还没有加入到 RunTime Selection (RTS) 机制中。

  • kkLOmega
  • LamBremhorstKE
  • LienCubicKE
  • LienLeschziner
  • qZeta
  • ShihQuadraticKE

而 turbulenceModels 则有 laminar, LES, RAS,包含了不可压缩和可压缩的模型,是抽象的模型,在其下,又包含了一些实例,如 RAS 的 kEpsilon 。其他的 compressible 湍流模型则又利用 turbulenceModels 下的 laminar, LES, RAS 进行 RTS 使用。