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 ...
随机推荐
- json.dumps()包装中文字符串
开发环境 系统: ubuntu18.04 系统编码: $LANG = en_US.UTF-8 python解释器版本: Python 3.6.7 乱码现场 使用 json.dumps() 将 dict ...
- Celery:First Steps
参考文档:http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html#first-step ...
- k8s资源清单基础
资源清单介绍 创建资源的方法 apiserver仅接收JSON格式的资源定义 yaml格式提供配置清单 apiserver可自动把yaml转换成json格式数据 资源清单五个一级字段 1.ap ...
- Hive架构分析
一.Hive三种设计模式 1.默认配置[使用Netty存储元数据] 2.mysql[使用mysql存储元数据] 3.配置Thrift[使用mysql存储元数据] 二.执行步骤 三.scala访问Hiv ...
- [JavaScript] js中全局标识正则表达式的lastIndex属性
在JavaScript中使用正则表达式时,遇到一个坑:第一次匹配是true,第二次匹配是false. 因为在带全局标识"g"的正则表达式对象中,才有“lastIndex” 属性,该 ...
- css display block 和 inline
根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...
- zookeeper的安装使用
转载从:https://blog.csdn.net/shenlan211314/article/details/6170717 一.zookeeper 介绍 ZooKeeper 是一个为分布式应用所设 ...
- springboot + 自定义配置文件读取
新建一个配置文件 src\main\resources\resources\config.properties #自定义配置文件 #System Encoding #File Upload Temp ...
- MyBatis日记(四):MyBatis——insert、update、delete、select
MyBatis简单增删改查操作,此处所做操作,皆是在之前创建的MyBatis的Hello world的工程基础上所做操作. 首先在接口文件(personMapper.java)中,添加操作方法: pa ...
- 将mysql从MyISAM更改为INNODB
今天更新django中的表字段,由于mysql从5.1升级到5.7.以前的外键关联必须从MYISAM改新为INNODB才可以继续. 过程有点刺激,但还好,只要想清楚了过程,提前作好备份,就没啥大问题. ...