本算例来自《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的安装目录,将安装目录下的pitzDaily算例(我的目录为/opt/openfoam5/tutorials/incompressible/simpleFoam/pitzDaily)下的0文件夹、constant文件夹和system文件夹拷贝到rotate_drive文件夹下,然后删除system目录下的blockMeshDict文件,因为我们利用OpenFOAM的命令转化.cas文件为OpenFOAM能接受的网格文件,删除system目录下的streamlines文件,删除0文件夹下的epsilon,f,k,nut,nuTilda,omega,v2这些文件,因为本算例不会用到这些文件。

    在算例文件夹下打开终端,输入fluent3DmeshToFoam(不能使用fluentMeshToFoam)命令: 

由于本算例的网格在建模阶段采用米作为单位进行网格划分,所以这里不用进行网格的缩放

转换完成后,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里面进行处理

     由于paraview里面没有预先定义的周向速度(Swirl Velocity)和径向速度(radial velocity),所以需要我们通过自定义变量的方法,来获取算例的轴向速度和径向速度。

直角坐标系下的速度和柱坐标系下的速度存在下面的关系:

 

从而可得:

其中:

  

那么周向速度(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处沿高度方向的径向速度

计算结果与实验对比:

OpenFOAM——圆腔顶盖旋转驱流的更多相关文章

  1. OpenFOAM——三角腔驱流

    本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL011: Laminar Flow in a Triangular Cavity ...

  2. OpenFOAM——梯形腔双边驱流

    本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL054: Laminar flow in a Trapezoidal Cavity ...

  3. OpenFOAM——圆筒壁稳态导热

    对于圆筒壁的稳态导热,温度分布的解析解为: IN为恒温边界,设置为300K,OUT也为恒温边界,设置为500K 固体导热系数为:0.0887W/(m·K) 首先进行建模操作,任何建模软件均可,本算例采 ...

  4. 【一起学OpenFoam】01 OpenFoam的优势

    CFD技术发展到今天,已经超过了大半个世纪了,已经涌现出非常多的CFD软件可供人们使用.通用商业CFD软件譬如Fluent.CFX.Star CCM+等在工业上得到了广泛的应用,另外一些专用的软件(如 ...

  5. Unity3D中动态创建编辑轴(点,线,圆,圆锥)

    问题分析: 最近在搞软件底层开发,将一些工具或者底层脚本打成dll导入unity使用,有这样一需求,就是编辑功能,需要像Scene场景一样,实现那种编辑轴 实现方式: 创建Mesh,构建编辑轴,这个地 ...

  6. [Ocean Modelling for Begineers] Ch5. 2D Shallow-Water Modelling

    本章利用二维浅水模型研究表面重力波的不同物理过程,如湖水中风驱动流体,正压不稳定机制(?the barotropic instability mechanism).本章将为读者介绍使用不同的对流格式模 ...

  7. 微信小程序开发心得

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...

  8. Qt编写自定义控件大全

    最新版可执行文件 http://pan.baidu.com/s/1i491FQP 不定期增加控件及修正BUG和改进算法. 总图: 1:动画按钮 * 1:可设置显示的图像和底部的文字 * 2:可设置普通 ...

  9. OWC11生成统计图案例

    (1)饼状图:----通过修改参数生成不同的走势图, string strCategory = "优良率" + '\t' + "合格率" + '\t' + &q ...

随机推荐

  1. GoogleMap增加标记和路线轨迹的方法

    声明:本文基于JavaScript环境编写. 前言 按照目前的项目需求,我们需要在谷歌地图上标记出当前仓库的位置.司机补货的行车路径.司机当前班次需要补货的机器的位置,同时根据补货状态的不同标记成不同 ...

  2. celery 定时任务,使用crontab表达式不执行(版本4.3.x)

    celery 定时任务,使用crontab表达式不执行(版本4.3.x) 在使用celery 执行定时任务时,发现任务不会执行,schedule设置如下: 经测试,如果去掉hour,则任务每分钟都会执 ...

  3. Oracle数据库之四大语言

    一.数据定义语言: 1.用于改变数据库结构,包括创建.更改和删除数据库对象: 2.命令: create table :创建 alter table 修改 drop table 删除表 truncate ...

  4. 原生js ajax与jquery ajax的区别

    原生js ajax的调用: ajax({ type : "get", url : "02_ajax_get.txt", data : { "userN ...

  5. 实战FFmpeg + OpenGLES--iOS平台上视频解码和播放

    一个星期的努力终于搞定了视频的播放,利用FFmpeg解码视频,将解码的数据通过OpenGLES渲染播放.搞清楚了自己想知道的和完成了自己的学习计划,有点小兴奋.明天就是“五一”,放假三天,更开心啦. ...

  6. sklearn.model_selection 的train_test_split方法和参数

    train_test_split是sklearn中用于划分数据集,即将原始数据集划分成测试集和训练集两部分的函数. from sklearn.model_selection import train_ ...

  7. Win10 微软远程桌面很模糊是为什么?

    今天又查了一下,解决了问题,是 Intel 集显驱动引起的.在桌面右键 => 图形属性 => 在蓝色的 Intel 核芯显卡控制面板上选择“ 3D ” => 在“保守形态学抗锯齿”中 ...

  8. springmvc接收List型参数长度

    springmvc默认接收list参数长度为256,过长则报越界异常,添加 @InitBinder public void initBinder(WebDataBinder binder) { // ...

  9. 使用批处理打包C#开发程序

    最近项目接近尾声,测试比较频繁,每天需要发布多个版本 @echo off set zip=C:\Program Files\7-Zip\7z.exe set timestamp=%date:~6,4% ...

  10. spring的面试题

    什么是spring? spring是一个开源框架,为简化企业级应用开发而生.Spring可以是使简单的javaBean实现以前只有EJB才能实现的功能.Spring是一个IOC和AOP容器框架. Sp ...