本算例来自《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. json.dumps()包装中文字符串

    开发环境 系统: ubuntu18.04 系统编码: $LANG = en_US.UTF-8 python解释器版本: Python 3.6.7 乱码现场 使用 json.dumps() 将 dict ...

  2. Celery:First Steps

    参考文档:http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html#first-step ...

  3. k8s资源清单基础

    资源清单介绍 创建资源的方法  apiserver仅接收JSON格式的资源定义  yaml格式提供配置清单 apiserver可自动把yaml转换成json格式数据 资源清单五个一级字段   1.ap ...

  4. Hive架构分析

    一.Hive三种设计模式 1.默认配置[使用Netty存储元数据] 2.mysql[使用mysql存储元数据] 3.配置Thrift[使用mysql存储元数据] 二.执行步骤 三.scala访问Hiv ...

  5. [JavaScript] js中全局标识正则表达式的lastIndex属性

    在JavaScript中使用正则表达式时,遇到一个坑:第一次匹配是true,第二次匹配是false. 因为在带全局标识"g"的正则表达式对象中,才有“lastIndex” 属性,该 ...

  6. css display block 和 inline

    根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...

  7. zookeeper的安装使用

    转载从:https://blog.csdn.net/shenlan211314/article/details/6170717 一.zookeeper 介绍 ZooKeeper 是一个为分布式应用所设 ...

  8. springboot + 自定义配置文件读取

    新建一个配置文件 src\main\resources\resources\config.properties #自定义配置文件 #System Encoding #File Upload Temp ...

  9. MyBatis日记(四):MyBatis——insert、update、delete、select

    MyBatis简单增删改查操作,此处所做操作,皆是在之前创建的MyBatis的Hello world的工程基础上所做操作. 首先在接口文件(personMapper.java)中,添加操作方法: pa ...

  10. 将mysql从MyISAM更改为INNODB

    今天更新django中的表字段,由于mysql从5.1升级到5.7.以前的外键关联必须从MYISAM改新为INNODB才可以继续. 过程有点刺激,但还好,只要想清楚了过程,提前作好备份,就没啥大问题. ...