su_junwei 发表于 2009-5-5 02:22:43

[转载]OpenFOAM中雷诺时均湍流求解器turbFoam使用

本站博文“OpenFOAM中的不可压缩湍流流动求解器turbFoam的说明”对OpenFOAM中的雷诺时均模型求解器详细介绍后,本文以该求解器下的算例cavity(顶盖驱动流动)为例,介绍OpenFOAM中雷诺时均湍流模型的使用。
   在介绍如何使用这个求解器之前,先介绍一下OpenFOAM中的湍流模型,OpenFOAM中的湍流模型主要分为两大类:(1)RAS:雷诺时均模型(包括k-e,k-omiga,1方程模型,雷诺应力模型等),(2)大涡(LES)模型(涡黏性模型,相似理论模型等)。LES后面介绍LES求解器的时候再详细介绍。OpenFOAM中支持不可压缩流的雷诺模型有
laminar         层流模型。
kEpsilon          标准k − ε模型+壁面函数
RNGkEpsilon       RNG k − ε 模型+壁面函数
NonlinearKEShih   非线性Shih k − ε 模型+壁面函数
LienCubicKE      Lien 三次 k − ε 模型+壁面函数
QZeta            q − ζ 模型
LaunderSharmaKE    Launder-Sharma 低雷诺数 k − ε模型
LamBremhorstKE   Lam-Bremhorst 低雷诺数 k − ε模型
LienCubicKELowRE   Lien 三次 低雷诺数 k− ε 模型
LienLeschzinerLowRELien-Leschziner低雷诺数k− ε 模型
LRR                Launder-Reece-Rodi RSTM 模型+壁面函数
LaunderGibsonRSTMLaunder-Gibson RSTM 模型+壁面反射项+壁面函数
SpalartAllmaras    Spalart-Allmaras 1方程模型
上面这些模型,你可以运用turbFoam求解器中任意选择。

下面介绍turbFoam下的顶盖驱动流动。
(1)位置:
    算例位置: /tutorials/turbFoam/cavity
    求解器位置: applications/solvers/incompressible/turbFoam
(2)算例文件夹结构
|-system
|   |-fvSolution//代数方程求解器选择文件
|   |-fvSchemes   //离散格式选择文件
|   |-controlDict //计算流程控制文件
|-constant
|   |-transportProperties//传输参数控制文件,黏性等
|   |-RASProperties       //湍流模型选择文件
|   |-polyMesh            //网格文件夹
|            |-blockMeshDict //blockMesh网格设定文件
|            |-boundary   //边界文件,可有可无,blockMeshDict会将其覆盖
|-0
   |-U //速度边界条件,初始条件设定文件
   |-R //雷诺应力边界条件,初始条件,仅仅当选择雷诺应力模型时候需要
   |-p //压力边界条件,初始条件设定文件
   |-nuTilda//一方程模型中求解的那个变量,仅仅选择SpalartAllmaras湍流模型时候有用
|-k    //湍动能设定文件, k − ε中的k
   |-epsilon //湍流耗散律设定文件,k −ε中的ε

(3)文件说明
system文件夹下的三个文件以及压力文件p的说明请参看本站博文“使用OpenFOAM的基本流程”;polyMesh中的文件及其速度文件U的说明请参看本站博文“深入解析icoFoam下的顶盖驱动流(cavity)”;k,epsilon和nuTilda文件内容和压力文件p相似不再累述。
下面主要针对剩下的三个文件transportProperties,RASProperties,R进行说明
1.transportProperties
//文件头
FoamFile
{
   version    2.0;
   format   ascii;
   class      dictionary;
   object   transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * //

//传输模型,牛顿流体,如果是非牛顿的话,选择下面CrossPowerLaw或者BirdCarreau黏性模型
transportModelNewtonian;

//牛顿流体黏性恒定, 设定流体黏性系数。
//关于如何设置并使用参数,参看本站博文"OpenFOAM中的参数字典使用剖析"
nu             nu 1e-05;

//非牛顿流体黏性模型系数
//CrossPowerLaw模型系数
CrossPowerLawCoeffs
{
   nu0            nu0 1e-06;
   nuInf          nuInf 1e-06;
   m            m 1;
   n            n 1;
}
//BirdCarreau黏性模型系数
BirdCarreauCoeffs
{
   nu0            nu0 1e-06;
   nuInf          nuInf 1e-06;
   k            k 0;
   n            n 1;
}

2.RASProperties

FoamFile
{
   version    2.0;
   format   ascii;
   class      dictionary;
   object   RASProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * //
//运用哪种湍流模型?右边的模型标识为下面的模型系数关键字去掉Coeffs即可。
//比如kEpsilon是kEpsilonCoeffs去掉Coeffs后的词
RASModel         kEpsilon;

//是否运用湍流进行计算,on为运用湍流模型,off为不运用湍流模型
turbulence         on;

//在创建湍流模型对象时候是否将下面设定的参数打印到屏幕上,on打印,off不打印
printCoeffs      on;

//湍流模型系数,当你选择某一个湍流模型的时候,下面湍流模型的系数会自动调用。
//这些系数通常都是原始文献中模型提出者推荐的参数,通常采用默认值即可。
//究竟是哪种模型的系数请和上面的湍流模型对比。
laminarCoeffs
{
}

kEpsilonCoeffs
{
   Cmu             0.09;
   C1            1.44;
   C2            1.92;
   alphaEps      0.76923;
}

RNGkEpsilonCoeffs
{
   Cmu             0.0845;
   C1            1.42;
   C2            1.68;
   alphak          1.39;
   alphaEps      1.39;
   eta0            4.38;
   beta            0.012;
}

realizableKECoeffs
{
   Cmu             0.09;
   A0            4.0;
   C2            1.9;
   alphak          1;
   alphaEps      0.833333;
}

kOmegaSSTCoeffs
{
   alphaK1         0.85034;
   alphaK2         1.0;
   alphaOmega1   0.5;
   alphaOmega2   0.85616;
   gamma1          0.5532;
   gamma2          0.4403;
   beta1         0.0750;
   beta2         0.0828;
   betaStar      0.09;
   a1            0.31;
   c1            10;

   Cmu             0.09;
}

NonlinearKEShihCoeffs
{
   Cmu             0.09;
   C1            1.44;
   C2            1.92;
   alphak          1;
   alphaEps      0.76932;
   A1            1.25;
   A2            1000;
   Ctau1         -4;
   Ctau2         13;
   Ctau3         -2;
   alphaKsi      0.9;
}

LienCubicKECoeffs
{
   C1            1.44;
   C2            1.92;
   alphak          1;
   alphaEps      0.76923;
   A1            1.25;
   A2            1000;
   Ctau1         -4;
   Ctau2         13;
   Ctau3         -2;
   alphaKsi      0.9;
}

QZetaCoeffs
{
   Cmu             0.09;
   C1            1.44;
   C2            1.92;
   alphaZeta       0.76923;
   anisotropic    no;
}

LaunderSharmaKECoeffs
{
   Cmu             0.09;
   C1            1.44;
   C2            1.92;
   alphaEps      0.76923;
}

LamBremhorstKECoeffs
{
   Cmu             0.09;
   C1            1.44;
   C2            1.92;
   alphaEps      0.76923;
}

LienCubicKELowReCoeffs
{
   Cmu             0.09;
   C1            1.44;
   C2            1.92;
   alphak          1;
   alphaEps      0.76923;
   A1            1.25;
   A2            1000;
   Ctau1         -4;
   Ctau2         13;
   Ctau3         -2;
   alphaKsi      0.9;
   Am            0.016;
   Aepsilon      0.263;
   Amu             0.00222;
}

LienLeschzinerLowReCoeffs
{
   Cmu             0.09;
   C1            1.44;
   C2            1.92;
   alphak          1;
   alphaEps      0.76923;
   Am            0.016;
   Aepsilon      0.263;
   Amu             0.00222;
}

LRRCoeffs
{
   Cmu             0.09;
   Clrr1         1.8;
   Clrr2         0.6;
   C1            1.44;
   C2            1.92;
   Cs            0.25;
   Ceps            0.15;
   alphaEps      0.76923;
}

LaunderGibsonRSTMCoeffs
{
   Cmu             0.09;
   Clg1            1.8;
   Clg2            0.6;
   C1            1.44;
   C2            1.92;
   C1Ref         0.5;
   C2Ref         0.3;
   Cs            0.25;
   Ceps            0.15;
   alphaEps      0.76923;
   alphaR          1.22;
}

SpalartAllmarasCoeffs
{
   alphaNut      1.5;
   Cb1             0.1355;
   Cb2             0.622;
   Cw2             0.3;
   Cw3             2;
   Cv1             7.1;
   Cv2             5.0;
}
//壁面函数系数
wallFunctionCoeffs
{
   kappa         0.4187;
   E               9;
}

3.文件R
本文件只有在选择雷诺应力模型(直接对雷诺应力建立方程,并不采用Boussinesq假设的RAS湍流模型)的时候才有用。

//文件头
FoamFile
{
   version    2.0;
   format   ascii;
   class      volSymmTensorField;//这是一个体心存储的張量场
   object   R;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * //
//单位
dimensions   ;
//初始场,張量 全为0,由于对称張量只有6个分量
internalField   uniform (0 0 0 00 0);

boundaryField
{
   movingWall//顶盖,第二类边界   
    {
       type         zeroGradient;
    }

   fixedWalls   //墙,第二类边界
    {
       type         zeroGradient;
    }

   frontAndBack   //二维,前后面为empty
    {
       type         empty;
    }
}

(4)程序运行
打开控制台进入/tutorials/turbFoam/cavity
输入: blockMesh 生成网格
输入: turbFoam 运行程序
程序运行结束后,输入paraFoam做后处理.

转自OpenFOAM研究:http://blog.sina.com.cn/openfoamresearch
页: [1]
查看完整版本: [转载]OpenFOAM中雷诺时均湍流求解器turbFoam使用