OpenFOAM——90度T型管

本算例来自《ANSYS Fluid Dynamics Verification Manual》中的VMFL010: Laminar Flow in a 90° Tee-Junction.

 

入口处为充分发展的层流速度分布,中心轴线处的速度为1m/s(即最大速度为umax=1m/s),其余的两个出口静压为0

本算例的入口速度分布满足下面的形式:

 

首先进行建模操作,任何建模软件均可,本算例采用ICEM直接建模,生成网格,然后利用OpenFOAM下转化网格,划分完成的网格如下:

    其实我们也可以在导出网格的时候对网格进行缩放,到了OpenFOAM当中直接转换网格即可
接下来转入OpenFOAM的操作:

首先新建一个文件夹,名字任取,用来作为算例文件夹,本算例中我将该文件夹命名为:90Tee

然后进入OpenFOAM的安装目录,将安装目录下的pitzDaily算例(我的目录为/opt/openfoam5/tutorials/incompressible/simpleFoam/pitzDaily)下的0文件夹、constant文件夹和system文件夹拷贝到90Tee文件夹下,然后删除system目录下的blockMeshDict文件,因为我们利用OpenFOAM的命令转化.msh文件为OpenFOAM能接受的网格文件,删除system目录下的streamlines文件,删除0文件夹下的epsilonfknutnuTildaomegav2这些文件,因为本算例不会用到这些文件。

然后我们将刚才我们生成的.msh网格拷贝到90Tee文件夹下。在算例文件夹下打开终端,输入fluentMeshToFoam命令:

这次我们由于要设置入口处是充分发展的速度,我们就只需要修改新算例下0文件夹的pU文件,constant目录下的transportproperties文件、turbulenceProperties文件和system目录下的controlDict文件,其他如网格转换,设置入口的速度的操作我们通过Python脚本来实现修改。

我们打开constant文件夹下的transportproperties文件,此处我们将运动黏度设置为0.003333/s

 接着修改turbulenceProperties文件,此处我们将模拟类型设置为层流(laminar

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

0文件夹下我们可以看到UP两个文件:

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

修改P文件和U文件

P文件当中的内容如下:

 

U文件当中的内容如下: 

 

说明一下:

INLET

{

}

入口的边界设置为这样的形式,在后面运行Python脚本以后会被修改为正确的边界形式。

我们编写如下的Python脚本:

 说明一下:

使用脚本并不是唯一写选择,上面脚本的操作也可以使用诸如Excel等工具实现。我们主要是通过网格的位置信息,然后计算得到该位置的速度分布,然后再把计算得到的速度分布写入边界当中。

首先我们运行postProcess -time 0 -func writeCellCentres命令,就可以在0文件夹下得到4个文件,分别是CCxCyCz。其中C文件包含了单元的xyz所有坐标,而Cx只对应x坐标,Cy对应y坐标,Cz对应z坐标。这里我们只需要Cx,我们打开Cx文件,可以找到如下图的字典:

 

我们可以将字典里面的x坐标信息提取出来,然后在脚本(当然也可以用Excel等其他工具)根据速度分布的公式,计算出各个单元的速度,然后我们再将计算的结果用nonuniform List形式写回到U文件中对应的边界。修改以后的U文件如下:

 

接着我们设置controlDict文件

 

fvSchemes文件修改如下: 

 

fvSolution文件修改如下: 

 

回到算例文件夹下,打开终端,由于我安装了PyFoam来实时输出残差,所以在终端中输入pyFoamPlotRunner.py --clear simpleFoam开始计算:

等到计算结束

  

 

将计算结果导入paraview里面进行处理  

 

流线图

 

tecplot的处理结果

 

OpenFOAM——90度T型管    我们需要得到出口的体积流量和入口的体积流量之比,这里我们有两种方法进行操作

第一种方法是直接在OpenFOAM当中利用OpenFOAM自带的后处理命令输出入口和出口的体积流量,格式如下:

postProcess -func "flowRatePatch(name=边界名称)"

我们输出收敛后(加上参数-latestTime)入口处的体积流量:

postProcess -latestTime -func "flowRatePatch(name=INLET)" 

我们输出收敛后(加上参数-latestTime)顶部出口处的体积流量: 

 

postProcess -latestTime -func "flowRatePatch(name= OUTLET_TWO)"

 

OpenFOAM——90度T型管     在算例文件夹下会多出一个postProcessing文件夹

 

点击进去以后,里面会有两个我们刚才命令生成的两个边界的流量的文件夹

 

任选其中一个文件夹(我们以“flowRatePatch(name=INLET)”文件夹为例),打开到底,则存在surfaceFieldValue.dat文件

 

    打开surfaceFieldValue.dat文件

说明一下:这里的正负号只代表方向,不代表大小,负号表示流入计算域。

第二种方法是将计算结果导入ParaView里面,通过对指定面的积分,计算通过该面的体积流量 

 

 

 

 

 

 

 

 

 

 

 

 

如果没有出现体积流量的显示,请参考以下步骤

 

OpenFOAM——90度T型管    通过对比以上两种方法得到的体积流量,结果基本一致

流量比为:

 

而实验值为:0.887

计算值与实验值的比为:

 

posted @ 2017-09-06 22:21  硫酸亚铜  阅读(2211)  评论(1编辑  收藏  举报