本算例来自《ANSYS Fluid Dynamics Verification Manual》中的VMFL008: Flow Inside a Rotating Cavity
腔体顶盖以1rad/s旋转,驱动腔内流体流动
这个算例我们采用全三维建模,我们采用Ansys Meshing对模型进行网格划分,然后再导入Fluent当中将四面体网格转换为多面体网格以后,最后利用OpenFOAM的命令将Fluent的.cas转换为OpenFOAM可以接受的多面体网格(注:OpenFOAM的转换命令只能转换Ansys16.2及其以下的.cas,Ansys17以及以上的.cas文件转换会报错),下面介绍生成多面体网格的过程:
首先新建一个文件夹,名字任取,用来作为算例文件夹,本算例中我将该文件夹命名为:rotate_drive
Ansys Meshing的划分结果如下:
我们将Ansys Meshing当中导出的网格导入Fluent当中
![OpenFOAM——圆腔顶盖旋转驱流 OpenFOAM——圆腔顶盖旋转驱流](http://img.e-com-net.com/image/info8/924275b9184c4118a403dbf3c2cd0348.gif)
由于本算例的网格在建模阶段采用米作为单位进行网格划分,所以这里不用进行网格的缩放
转换完成后,constant文件夹下会多出一个polyMesh文件夹
我们打开constant文件夹下的transportproperties文件,此处我们将运动黏度设置为0.000556㎡/s
我们接着修改constant文件夹下的turbulenceProperties文件,此处我们将模拟类型设置为层流(laminar)
然后对初始边界条件进行设置,下面转入0文件夹下进行操作:
修改P文件和U文件
P文件当中的内容如下:
U文件当中的内容如下:
接下来我们修改system目录下的相关文件:
controlDict修改为如下:
fvSchemes文件修改如下:
fvSolution文件修改如下:
说明:
residualControl下的各个关键是指定各物理量收敛的残差标准,达到我们指定的残差标准,OpenFOAM即停止计算,可以参看计算完成以后的日志文件以及残差图。
回到算例文件夹下,打开终端,由于我安装了PyFoam来实时输出残差,所以在终端中输入pyFoamPlotRunner.py --clear simpleFoam开始计算:
等待计算结束
将计算结果导入paraview里面进行处理
直角坐标系下的速度和柱坐标系下的速度存在下面的关系:
从而可得:
其中:
那么周向速度(swirl Velocity)在paraview的表达式为:
(U_Y-U_X*(coordsY/coordsX))/((coordsY/sqrt(coordsX*coordsX+coordsY*coordsY))*(coordsY/coordsX)+coordsX/sqrt(coordsX*coordsX+coordsY*coordsY))
然后用Plot Over Line,提取x=0.6处沿高度方向的轴向速度
用相同的方式,径向速度(radial velocity)在paraview的表达式为:
(U_Y+U_X*(coordsX/coordsY))/(coordsY/sqrt(coordsX*coordsX+coordsY*coordsY)+(coordsX/sqrt(coordsX*coordsX+coordsY*coordsY))*(coordsX/coordsY))
然后用Plot Over Line,提取x=0.6处沿高度方向的径向速度
计算结果与实验对比: