OpenFOAM

您所在的位置:网站首页 三维圆柱绕流边界条件 OpenFOAM

OpenFOAM

2024-06-01 21:07| 来源: 网络整理| 查看: 265

640.webp.jpg

首先进行建模操作,任何建模软件均可,本教程采用ICEM直接建模,模型尺寸如下:

640.webp (1).jpg

640.webp (2).jpg

建成的模型如下:

640.webp (3).jpg

对建好的模型进行网格划分,划分完成的网格如下:

640.webp (4).jpg

对圆柱的近壁面进行了加密处理,将划分的网格导出为ASCII的.msh格式(注:二进制的.msh格式OpenFOAM是不支持网格转换的)

接下来转入OpenFOAM的操作:

首先新建一个文件夹,名字任取,本教程中我将该文件夹命名为:train

640.webp (5).jpg

然后进入OpenFOAM的安装目录下查找一个tutorial的文件夹,然后按照:

640.webp (6).jpg

640.webp (8).jpg

640.webp (7).jpg

640.webp (9).jpg

icoFoam求解是用来求解不可压缩牛顿层流,虽然最后为稳态,但是也可以通过计算瞬态来达到稳态。我们只需要拷贝icoFoam文件夹下的任意一个算例的0文件夹、constant文件夹和system文件夹。这里我们选择cavity算例文件夹下的三个文件夹,将他们拷贝到刚才新建的train文件夹下,然后将刚才导出的网格文件拷贝到train文件夹下,在trian文件夹下打开终端,输入fluentMeshToFoam命令:

640.webp (10).jpg

然后开始进行转换

640.webp (11).jpg

转换完成后,constan文件夹下会多出一个polyMesh文件夹

640.webp (12).jpg

我们打开polyMesh文件夹,对其中的boundary文件进行编辑,将UP和DOWN边界的Type改为symmetry,记得后面一定要跟上分号,否则后面计算会报错

640.webp (13).jpg

我们查看constant文件夹下的transportproperties文件,此处我们设置运动黏度为0.01m2/s

文件如下:

/*--------------------------------*- C++-*----------------------------------*\

| =========                 |                                                |

| \\      /  Field         | OpenFOAM: The Open SourceCFD Toolbox            |

|  \\    /   Operation     | Version:  3.0.x                                 |

|   \\  /    And           | Web:      www.OpenFOAM.org                      |

|    \\/     M anipulation  |                                                |

\*---------------------------------------------------------------------------*/

FoamFile

{

    version     2.0;

    format      ascii;

    class       dictionary;

    location    "constant";

    object      transportProperties;

}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** //

 

nu              [0 2 -1 0 0 0 0]0.01;

 

 

//************************************************************************* //

然后对初始边界条件进行设置,下面转入0文件夹下进行操作:

在0文件夹下我们可以看到U和P两个文件:

640.webp (14).jpg

边界条件如图所示:

640.webp (15).jpg

我们设置来流速度为0.1m/s,则接下来修改P文件和U文件

P文件当中的内容如下修改:

/*--------------------------------*- C++-*----------------------------------*\

| =========                 |                                                |

| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox           |

|  \\    /   Operation     | Version:  3.0.x                                 |

|   \\  /    And           | Web:      www.OpenFOAM.org                      |

|    \\/     M anipulation  |                                                |

\*---------------------------------------------------------------------------*/

FoamFile

{

    version     2.0;

    format      ascii;

    class       volScalarField;

    object      p;

}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** //

 

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

 

internalField   uniform 0;

 

boundaryField

{

    INLET

    {

        type            freestreamPressure;

    }

    OUTLET

    {

        type            freestreamPressure;

    }

    UP

    {

        type            symmetry;

    }

    DOWN

    {

        type            symmetry;

    }

    CYLINDER

    {

        type            zeroGradient;

    }

    frontAndBackPlanes

    {

        type            empty;

    }

}

 

//************************************************************************* //

U文件当中的内容如下修改:

/*--------------------------------*- C++-*----------------------------------*\

| =========                 |                                                |

| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox           |

|  \\    /   Operation     | Version:  3.0.x                                 |

|   \\  /    And           | Web:      www.OpenFOAM.org                      |

|    \\/     M anipulation  |                                                |

\*---------------------------------------------------------------------------*/

FoamFile

{

    version     2.0;

    format      ascii;

    class       volVectorField;

    object      U;

}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** //

 

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

 

internalField   uniform (0.1 0 0);

 

boundaryField

{

    INLET

    {

        type                   freestream;

        freestreamValue      uniform(0.10 0);

    }

    OUTLET

    {

        type                   freestream;

        freestreamValue      uniform(0.10 0);

    }

    UP

    {

        type                   symmetry;

    }

    DOWN

    {

        type                   symmetry;

    }

    CYLINDER

    {

        type                   fixedValue;

        value                uniform(0 0 0);

    }

    frontAndBackPlanes

    {

        type                   empty;

    }

}

 

//************************************************************************* //

说明一下:

fixedValue

基本格式为:

边界名称

{

   type               fixedValue;

   value              uniform 向量;

}

说明:

该边界无需多说,在边界上的值为固定值,不可变动,只需要写入类似(0,0,0)这样的向量即可。对于不可压缩求解器来说,该种边界是稳定边界。

 

freestream

基本格式为:

边界名称

{

   type               freestream;

   freestreamValue    uniform 向量值;

}

说明:

该边界是一种fixedValue和zeroGradient的混合边界,该边界比起fixedValue边界更加灵活。出流时为zeroGradient边界,入流时则为fixedValue边界。该边界条件广泛应用于外流场的模拟当中。

 

freestreamPressure

基本格式:

边界名称

{

   type               freestreamPressure;

}

说明:

一般压力边界设置为freestreamPressure,那么对应边界的压力边界就需要设置为freestream。该边界是一种zeroGradient边界,但是在边界需要保证ρ×Sf×freestreamValue(质量流量)的值为常数。(注:Sf是边界单元的面积)

 

symmetry

基本格式:

边界名称

{

type               symmetry;

}

说明:

   对称边界条件主要用于消除边界对流场计算的影响,可以将此边界想象为一面镜子,来什么反弹什么。

 

empty

基本格式:

边界名称

{

type               empty;

}

说明:

   该边界主要二维模拟。

 

我们进入system文件夹下找到controldict文件,我们修改此文件:

640.webp (16).jpg

文件内容如下:

/*--------------------------------*- C++-*----------------------------------*\

| =========                 |                                               |

| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |

|  \\    /   Operation     | Version:  3.0.x                                |

|   \\  /    And           | Web:      www.OpenFOAM.org                     |

|    \\/     M anipulation  |                                               |

\*---------------------------------------------------------------------------*/

FoamFile

{

    version     2.0;

    format      ascii;

    class       dictionary;

    location    "system";

    object      controlDict;

}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** //

 

application     icoFoam;

 

startFrom       startTime;

 

startTime       0;

 

stopAt          endTime;

 

endTime         1000;

 

deltaT          0.01;

 

writeControl    runTime;

 

writeInterval   10;

 

purgeWrite      0;

 

writeFormat     ascii;

 

writePrecision  6;

 

writeCompression off;

 

timeFormat      general;

 

timePrecision   6;

 

runTimeModifiable true;

 

 

//************************************************************************* //

最后回到train文件夹下,打开终端,输入icoFoam开始计算

640.webp (17).jpg

等到计算结束

640.webp (18).jpg

640.webp (19).jpg

然后可将计算结果导入paraview或者tecplot当中进行后处理

640.webp (20).jpg

教程到此结束,更多精彩内容,请关注公众号:EASYCAE云计算平台



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3