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

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

本案例利用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 模型验证

解析解来自B.R. Munson, T.H. Okiishi, W.W. Huebsch, Fundamentals of Fluid Mechanics, 7th Edition,P324。

其中,U为顶板移动速度,本案例为3m/s;b为平板间距,本案例中为1 m。

代入本案例中的计算条件,可得到速度表达式:

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 1(wall);
        nFaces          20;
        startFace       554;
    }
 
    BOTTOM
    {
        type            wall;
        inGroups        List 1(wall);
        nFaces          20;
        startFace       574;
    }
 
    frontAndBackPlanes
    {
        type            empty;
        inGroups        List 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

比较结果如下图所示。

计算结果看着还不错。


计算文件:

提取码:3iks

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

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

说两句 抢沙发

评论前必须登录!

 

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

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

支付宝扫一扫

微信扫一扫

登录

找回密码

注册