OpenFOAM——梯形腔双边驱流
本算例来自《ANSYS Fluid Dynamics Verification Manual》中的VMFL054: Laminar flow in a Trapezoidal Cavity
顶部和底部壁面均以400m/s的速度运动引起梯形腔内流体流动
梯形腔内流体的物性参数为:
首先进行建模操作,任何建模软件均可,本算例在workbench中直接建模,生成非结构化网格,然后利用OpenFOAM下转化网格,生成的网格如下:
接下来转入OpenFOAM的操作:
首先新建一个文件夹,名字任取,本算例中我将该文件夹命名为:trapezoid
然后进入OpenFOAM的安装目录,将安装目录下的pitzDaily算例(我的目录为/opt/openfoam5/tutorials/incompressible/simpleFoam/pitzDaily)下的0文件夹、constant文件夹和system文件夹拷贝到trapezoid文件夹下,然后删除system目录下的blockMeshDict文件,因为我们利用OpenFOAM的命令转化.msh文件为OpenFOAM能接受的网格文件,删除system目录下的streamlines文件,删除0文件夹下的epsilon,f,k,nut,nuTilda,omega,v2这些文件,因为本算例不会用到这些文件。
然后将刚才导出的网格文件拷贝到trapezoid文件夹下,在trapezoid文件夹下打开终端,输入fluentMeshToFoam命令(由于建模的时候就采用的米为单位,所以这里不用缩放网格):
我们打开constant文件夹下的transportproperties文件,此处我们将运动黏度设置为1㎡/s
接着修改turbulenceProperties文件,此处我们将模拟类型设置为层流(laminar)
然后对初始边界条件进行设置,下面转入0文件夹下进行操作:
在0文件夹下我们可以看到U和P两个文件:
然后对初始边界条件进行设置,下面转入0文件夹下进行操作:
修改P文件和U文件
P文件当中的内容如下:
U文件当中的内容如下:
接着我们设置controlDict文件
fvSchemes文件修改如下:
fvSolution文件修改如下:
回到算例文件夹下,打开终端,由于我安装了PyFoam来实时输出残差,所以在终端中输入pyFoamPlotRunner.py --clear simpleFoam开始计算:
等到计算结束:
将计算结果导入paraview里面进行处理
流线图
Tecplot处理结果:
速度等值线:
计算结果与实验数据对比:
我们采用sampleDict的方式来获取中心轴线的分布
我们在system目录下新建一个文本文件,将文本文件的名称改为sampleDict,然后文本文件的内容如下:
说明一下:
interpolationScheme的关键字后面可跟的选项为cell,cellPoint,cellPointFace,其中cell认为单位中心点的值就代表了整个单元的值,cellPoint使用单元中心的值和定点的值进行线性加权插值,cellPointFace使用单元格中心,顶点和面值混合线性加权/单元格插值。
setFormat的关键字后可跟的选项为raw,gnuplot,xmgr,jplot,这些分别是指输出数据的格式,raw表示我们平常看见的格式,gnuplot是指gnuplot作图所能接受的格式,其他类似。
centerline表示输出文件的名称,这个可根据自己需要随意指定
type的关键字后面可跟的选项为uniform,face,midPoint,midPointAndFace,curve,cloud,uniform表示沿指定的路径均匀取点,face表示指定线和单元格面的交点,midPoint表示线面交叉点之间的中点,midPointAndFace表示midPoint和face的组合,curve表示指定点,然后沿曲线追踪。cloud表示指定点。
axis的关键字后面肯跟的选项为x,y,z,xyz, distance,x表示数据文件当中只输出x坐标,y,z表示的含义类似,xyz表示同时输出x,y,z的坐标,distance表示取样点距离起点的距离。
start关键字后面跟上一个向量,表示起点的坐标
end关键字后面跟上一个向量,表示终点的坐标
nPoints表示取点的数目
fields关键字后面跟上的是一系列的物理量,比如压力p,速度U,温度T,一定要将这些物理量用括号括起来,类似(p U T)
更加详细的说明见:https://cfd.direct/openfoam/user-guide/v3-sample/
我们在终端中输入命令:postProcess -func sampleDict -latestTime
我们可以看到在算例目录下多出了一个postProcess的后处理文件夹
我们点击到底会有一个后缀为*.xy的文件
我们打开文件:
其中第一列为y轴坐标,因为我们在sampleDict当中设置的axis为y,而其他三列分别为速度在x方向,速度在y方向,速度在z方向的分量。
沿AA轴线:
沿BB轴线:
注意一下速度在y方向的标准化是除以的壁面速度的负数,本算例是-400,x方向的标准化是除以壁面速度,本算例是400