吾生有涯 学海无涯
析模有界 知识无界

OpenFOAM教程|04 稳态湍流

本案例采用CFDSupprt的OpenFOAM for windows 19.10版本。描述利用simpleFoam计算稳态湍流流动。

1 案例描述

本案例计算模型如图所示。计算区域入口速度10 m/s,出口静压0 Pa,其他边界为光滑无滑移壁面。计算流动区域内流场分布。

2 OpenFOAM设置及运行

基本使用方法包括:

  • 拷贝文件

cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .

如下图所示

  • 利用blockMesh生成计算网格

cd pitzDaily
blockMesh

如下图所示。

  • 执行计算

simpleFoam

如下图所示。

  • 查看计算结果

paraFoam

如下图所示。

  • 速度分布

  • 压力分布

  • 湍动能

3 案例文件

案例文件组织如下图所示。

相比较前面的案例,在0文件夹中中多了很多文件,constant文件夹中多了一个turbulenceProperties文件,system文件夹基本没什么变化。

0文件夹中处理p文件与U文件之外,多出的文件均为湍流相关文件。需要注意的是,不同的湍流模型需要配合不同的湍流文件。

3.1 Constant文件夹

constant文件夹中包含有网格信息文件夹polyMesh、介质属性文件transportProperties以及湍流模型文件turbulenceProperties。

1、transportProperties文件

transportProperties文件内容如下图所示。

FoamFile
{
   version     2.0;
   format      ascii;
   class       dictionary;
   location    "constant";
   object      transportProperties;
}

transportModel  Newtonian;
nu             [0 2 -1 0 0 0 0] 1e-05;

这里仅仅只是指定了流体粘度为1e-5 m2/s。

注意:这里的粘度值为介质的动力粘度与密度的比值,量纲也要相应的转化。

2、turbulenceProperties文件

turbulenceProperties文件内容为:

FoamFile
{
   version     2.0;
   format      ascii;
   class       dictionary;
   location    "constant";
   object      turbulenceProperties;
}

simulationType RAS;

RAS
{

   // Tested with kEpsilon, realizableKE, 

   // kOmega, kOmegaSST, v2f,

   // ShihQuadraticKE, LienCubicKE.
   RASModel        kEpsilon;
   turbulence      on;
   printCoeffs     on;
}

该文件指定采用RAS方法处理湍流,这实际上是雷诺应力平均的缩写。(很奇怪为何不用RANS,而采用了一个RAS这样一个容易引起误解的关键字)

文件同时指定了RAS模型为kEpsilon,该方法为RAS方法其中的一种。此处可以采用的RAS方法包括kEpsilon, realizableKE, kOmega, kOmegaSST, v2f, ShihQuadraticKE, LienCubicKE等。

3.2 0文件夹

constant文件夹中包含有众多的文件,需要用到哪些文件与选用的湍流模型有关。

注:该案例为测试案例,因此在0文件夹中将所有湍流模型所需的文件均包含进去了。若只是计算kEpsilon模型,则只需要k文件与epsilon文件即可。

测试案例中的相关文件:

  • epsilon文件:所有ke系湍流模型均需要

  • k文件:所有ke系湍流模型均需要。

  • nut:所有的epsilon及omega系模型均需要

  • nuTilda:常用于SA模型

  • omega文件:所有omega系湍流模型需要

  • v2文件:用于v2f模型

  • f文件:用于v2f模型

其他模型的文件需求还包括:

  • laminar:不需要文件

  • LRR(RAS):需要k,epsilon及R文件

  • Smagorinsky(LES):需要nuSgs

  • oneEqEddy(LES):需要k,nuSgs

  • kEpsilon(RAS):需要k,epsilon

  • kOmega(RAS):需要k,omega

本案例如果使用kEpsilon模型进行计算的话,则只需要文件k、epsilon、nut、p与U这5个文件。该文件夹中所有文件用于指定初始时刻边界值。

1、U文件

指定各边界速度值。该文件内容包括:

FoamFile
{
   version     2.0;
   format      ascii;
   class       volVectorField;
   object      U;
}

dimensions     [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
   inlet
  {
       type    fixedValue;
       value    uniform (10 0 0);
  }

   outlet
  {
       type    zeroGradient;
  }

   upperWall
  {
       type    noSlip;
  }

   lowerWall
  {
       type    noSlip;
  }

   frontAndBack
  {
       type    empty;
  }
}
文件中指定边界inlet的x方向速度为10 m/s。

2、p文件

该文件指定压力分布。

FoamFile
{
   version    2.0;
   format    ascii;
   class    volScalarField;
   object    p;
}


dimensions    [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
   inlet
  {
       type    zeroGradient;
  }

   outlet
  {
       type    fixedValue;
       value    uniform 0;
  }

   upperWall
  {
       type    zeroGradient;
  }

   lowerWall
  {
       type    zeroGradient;
  }

   frontAndBack
  {
       type    empty;
  }
}
文件指定了边界outlet的压力值为0,其他边界压力为zeroGradient。

3、k文件

k文件指定边界的湍动能。

FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    location    "0";
    object      k;
}
 
dimensions      [0 2 -2 0 0 0 0];
internalField   uniform 0.375;
 
boundaryField
{
    inlet
    {
        type    fixedValue;
        value    uniform 0.375;
    }
    outlet
    {
        type    zeroGradient;
    }
    upperWall
    {
        type    kqRWallFunction;
        value    uniform 0.375;
    }
    lowerWall
    {
        type    kqRWallFunction;
        value    uniform 0.375;
    }
    frontAndBack
    {
        type    empty;
    }
}

文件中指定进口及壁面边界的湍动能为0.375 m2/s2,同时指定了壁面边界采用kqRWallFunciton壁面函数。

4、epsilon文件

epsilon文件指定湍流耗散率。

FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    location    "0";
    object      epsilon;
}
 
dimensions      [0 2 -3 0 0 0 0];
internalField   uniform 14.855;
 
boundaryField
{
    inlet
    {
        type    fixedValue;
        value    uniform 14.855;
    }
    outlet
    {
        type    zeroGradient;
    }
    upperWall
    {
        type    epsilonWallFunction;
        value    uniform 14.855;
    }
    lowerWall
    {
        type    epsilonWallFunction;
        value    uniform 14.855;
    }
    frontAndBack
    {
        type    empty;
    }
}

文件中指定进口及壁面边界的湍流耗散率为14.855 m2/s3,同时指定了壁面边界采用epsilonWallFunciton壁面函数。

5、mut文件

mut文件用于指定湍流粘度比。

FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    location    "0";
    object      nut;
}
 
dimensions      [0 2 -1 0 0 0 0];
internalField   uniform 0;
 
boundaryField
{
    inlet
    {
        type    calculated;
        value    uniform 0;
    }
    outlet
    {
        type    calculated;
        value    uniform 0;
    }
    upperWall
    {
        type    nutkWallFunction;
        value    uniform 0;
    }
    lowerWall
    {
        type    nutkWallFunction;
        value    uniform 0;
    }
    frontAndBack
    {
        type    empty;
    }
}
其他文件与这些文件类似,这里就不赘述了。

3.3 system文件夹

system文件夹中包含一些计算控制文件。

controlDict文件内容为:

FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}

application simpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 2000;
deltaT 1;
writeControl timeStep;
writeInterval 100;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
functions
{
#includeFunc streamlines
}

这里指定endTime为2000,表示迭代2000步;指定writeTnterval为100,表示间隔100步保存一次计算结果。注意这里采用的是稳态计算。

本篇文章来源于微信公众号: CFD之道

赞(1) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《OpenFOAM教程|04 稳态湍流》
文章链接:https://www.topcfd.cn/12515/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册