找回密码
 注册
查看: 4343|回复: 0

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

[复制链接]
发表于 2009-5-5 02:22:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本站博文“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 模型+壁面函数
LaunderGibsonRSTM  Launder-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黏性模型
transportModel  Newtonian;

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

//非牛顿流体黏性模型系数
//CrossPowerLaw模型系数
CrossPowerLawCoeffs
{
   nu0            nu0 [0 2 -1 0 0 0 0] 1e-06;
   nuInf          nuInf [0 2 -1 0 0 0 0] 1e-06;
   m              m [0 0 1 0 0 0 0] 1;
   n              n [0 0 0 0 0 0 0] 1;
}
//BirdCarreau黏性模型系数
BirdCarreauCoeffs
{
   nu0            nu0 [0 2 -1 0 0 0 0] 1e-06;
   nuInf          nuInf [0 2 -1 0 0 0 0] 1e-06;
   k              k [0 0 1 0 0 0 0] 0;
   n              n [0 0 0 0 0 0 0] 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 2 -2 0 0 0 0];
//初始场,張量 全为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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表