|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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 |
|