OpenFOAM——圆腔顶盖旋转驱流
本算例来自《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这些文件,因为本算例不会用到这些文件。


由于本算例的网格在建模阶段采用米作为单位进行网格划分,所以这里不用进行网格的缩放
转换完成后,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处沿高度方向的径向速度
计算结果与实验对比:


OpenFOAM——圆腔顶盖旋转驱流的更多相关文章
- OpenFOAM——三角腔驱流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL011: Laminar Flow in a Triangular Cavity ...
- OpenFOAM——梯形腔双边驱流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL054: Laminar flow in a Trapezoidal Cavity ...
- OpenFOAM——圆筒壁稳态导热
对于圆筒壁的稳态导热,温度分布的解析解为: IN为恒温边界,设置为300K,OUT也为恒温边界,设置为500K 固体导热系数为:0.0887W/(m·K) 首先进行建模操作,任何建模软件均可,本算例采 ...
- 【一起学OpenFoam】01 OpenFoam的优势
CFD技术发展到今天,已经超过了大半个世纪了,已经涌现出非常多的CFD软件可供人们使用.通用商业CFD软件譬如Fluent.CFX.Star CCM+等在工业上得到了广泛的应用,另外一些专用的软件(如 ...
- Unity3D中动态创建编辑轴(点,线,圆,圆锥)
问题分析: 最近在搞软件底层开发,将一些工具或者底层脚本打成dll导入unity使用,有这样一需求,就是编辑功能,需要像Scene场景一样,实现那种编辑轴 实现方式: 创建Mesh,构建编辑轴,这个地 ...
- [Ocean Modelling for Begineers] Ch5. 2D Shallow-Water Modelling
本章利用二维浅水模型研究表面重力波的不同物理过程,如湖水中风驱动流体,正压不稳定机制(?the barotropic instability mechanism).本章将为读者介绍使用不同的对流格式模 ...
- 微信小程序开发心得
微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...
- Qt编写自定义控件大全
最新版可执行文件 http://pan.baidu.com/s/1i491FQP 不定期增加控件及修正BUG和改进算法. 总图: 1:动画按钮 * 1:可设置显示的图像和底部的文字 * 2:可设置普通 ...
- OWC11生成统计图案例
(1)饼状图:----通过修改参数生成不同的走势图, string strCategory = "优良率" + '\t' + "合格率" + '\t' + &q ...
随机推荐
- Java之路---Day03
2019-10-17-21:18:33 方法 定义格式: public static void 方法名称() { 方法体 } 完整格式: 修饰符 返回值类型 方法名称(参数类型 参数名称,... ...
- 必须掌握的Linux用户组知识
在 Linux 系统中用户组起着重要作用.用户组提供了一种简单方法供一组用户互相共享文件.用户组也允许系统管理员更加有效地管理用户权限,因为管理员可以将权限分配给用户组而不是逐一分配给单个用户. 尽管 ...
- Celery:Optimizing
参考文档:http://docs.celeryproject.org/en/latest/userguide/optimizing.html#guide-optimizing
- Spring 实战 第4版 读书笔记
第一部分:Spring的核心 1.第一章:Spring之旅 1.1.简化Java开发 创建Spring的主要目的是用来替代更加重量级的企业级Java技术,尤其是EJB.相对EJB来说,Spring提供 ...
- Linux指令(时间日期类)
date指令-显示当前日期 基本语法: 1)date (功能描述:显示当前时间) 2)date +%Y (功能描述:显示当前年份) 3)date +%m (功能描述:显示当前月份) 4)date +% ...
- 三、Linux_环境变量
环境变量配置: # 每次进入命令都要重新source /etc/profile 才能生效? # 解决办法:将环境变量放置到~/.bashrc文件中 $ vim ~/.bashrc # 在里面添加相关的 ...
- Pthon魔术方法(Magic Methods)-可调用对象
Pthon魔术方法(Magic Methods)-可调用对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.可调用对象方法 __call__: 类中定义一个该方法,实例就可以像 ...
- ansible中的常用循环模块with_items
ansible中的循环模块有很多,不过with_items最为常用,且较为简单,循环模块最多的功能就是将重复性的任务简单化,如下例子所示: - hosts: all remote_user: root ...
- 百度语音合成api/sdk及demo
1.流程 1)换取token 用Api Key 和 SecretKey.访问https://openapi.baidu.com/oauth/2.0/token 换取 token // appKey = ...
- C++(四十六) — 异常处理机制、标准IO输入输出
1.异常处理机制 一般来说,异常处理就是在程序运行时对异常进行检测和控制.而在C++ 中,使用 try-throw-catch模式进行异常处理的机制. #include<iostream> ...