首页/文章/ 详情

OpenFOAM|验证04 压力梯度库艾特流动

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
3年前浏览3287

本案例利用OpenFOAM计算并验证压力梯度下两平面间库艾特流动。

重点演示内容:平移周期模型

1 案例描述

本案例模拟两个平行板之间的粘性流动。其中底板保持静止不动,顶板以恒定速度3 m/s移动。沿板平行方向压力梯度为-12 Pa/m。如图所示。

图片

计算采用2D周期模型,长1.5m,宽1 m。其中介质参数:密度1kg/m3,动力粘度1 kg/m-s。

采用边界条件为:

  • 顶板:壁面边界,速度沿X方向3 m/s
  • 底板:固定壁面边界
  • 左右周期边界:压降-12 Pa/m

2 模型验证

image.png


3 OpenFOAM设置

算例为层流流动,可以使用icoFoam算例cavity作为模板进行计算,也可以在simpleFoam中随便找个算例作为模板。

3.1 文件准备

进入工作目录,并利用下面的命令准备文件。

cp -r /opt/openfoam8/tutorials/incompressible/icoFoam/cavity/cavity .
mv cavity/ VM04
cd VM04

这里也可以利用其他算例模板,不一定非要用cavity。

删除多余的文件:

rm system/blockMeshDict

算例文件结构如下图所示。

图片

3.2 网格处理

本算例网格为二维周期网格,这里利用命令导入Fluent case文件,并修改边界类型。

  • 将网格文件VM04.cas放到算例文件夹中
  • 利用下面的命令转换计算网格
fluentMeshToFoam VM04.msh
  • 修改constant/PolyMesh/boundary文件,主要处理平移周期
FoamFile
{
    version     2.0;
    format      ascii;
    class       polyBoundaryMesh;
    location    "constant/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * //
5
(
    //INLET与OUTLET边界互为平移周期
    //fixedJumpAMI继承自jumpCyclicAMI
    //而jumpCyclicAMI继承自cyclicAMI
    INLET
    {
        type            cyclicAMI;
        nFaces          14;
        startFace       526;
        matchTolerance  0.0001;
        neighbourPatch  OUTLET;
        transformType   translational; //指定为平移周期
        separationVector    (-1.5 0 0); //指定分割向量
    }
 
    OUTLET
    {       
        type            cyclicAMI;
        nFaces          14;
        startFace       540;
        matchTolerance  0.0001;
        neighbourPatch  INLET;
        transformType   translational;
        separationVector (1.5 0 0);
    }
 
    TOP
    {
        type            wall;
        inGroups        List<word> 1(wall);
        nFaces          20;
        startFace       554;
    }
 
    BOTTOM
    {
        type            wall;
        inGroups        List<word> 1(wall);
        nFaces          20;
        startFace       574;
    }
 
    frontAndBackPlanes
    {
        type            empty;
        inGroups        List<word> 1(empty);
        nFaces          560;
        startFace       594;
    }
)

文件改造完毕后,利用命令checkMesh检查网格。如下图所示表示网格没有问题。

图片

3.3 介质材料属性

修改constant/transportProperties文件,指定材料介质的运动粘度为1 m^2/s,如下所示。

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      transportProperties;
}
// * * * * * * * * * * * * * * * * * //
 
nu              [0 2 -1 0 0 0 01;

3.4 边界条件与初始条件

1、U文件

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            cyclicAMI;
 
    }
    OUTLET
    {       
        type            cyclicAMI;
    }
    TOP
    {
        type            fixedValue;
        value           uniform (3 0 0);
 
    }
    BOTTOM
    {
        type            noSlip;
    }
 
    frontAndBack
    {
        type            empty;
    }

2、p文件

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            fixedJumpAMI;
        patchType       cyclicAMI;
        // 压力梯度为12 Pa/m,因此总压降为12*1.5=18 Pa
        jump            uniform -18;
        value           $internalField;
    }
    OUTLET
    {       
        type            fixedJumpAMI;
        patchType       cyclicAMI;
        jump            uniform 0;
        value           $internalField;
    }
    TOP
    {
        type            zeroGradient;
    }
    BOTTOM
    {
        type            zeroGradient;
    }
 
    frontAndBack
    {
        type            empty;
    }
}

2.5 计算控制

如下所示设置controlDict文件。

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * //
application     icoFoam;
startFrom       startTime;
startTime       0;
stopAt          endTime;
endTime         10;
deltaT          0.02;
writeControl    timeStep;
writeInterval   20;
purgeWrite      2;
writeFormat     ascii;
writePrecision  6;
writeCompression off;
timeFormat      general;
timePrecision   6;
runTimeModifiable true;

其他文件保持默认设置。

文件准备完毕后,利用命令icoFoam进行计算。

icoFoam

3 计算结果

计算完毕后验证结果。

  • 速度分布

图片

  • 压力分布

图片

  • 在x=0.75 m位置取直线绘制速度在y方向上的分布

图片

  • 与解析解比较
cd "/mnt/i/OpenFOAM/Verification/VM04/VM04"
set xrange [0.0:1.0]
plot -6*x*x 9*x lw 2 w line t "analysis","analysis.txt" u 1:2 w point pt 7 t "numeric"
unset key
set xlabel "x(m)"
set ylabel "velocity(m/s)"
replot

比较结果如下图所示。

图片

计算结果看着还不错。

声明:原创文章,欢迎留言与我讨论,如需转载留言

理论科普代码&命令求解技术OpenFOAM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-04-13
最近编辑:3年前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2578粉丝 11434文章 746课程 27
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈