OpenFOAM——同心环中的自然对流
本算例来自《ANSYS Fluid Dynamics Verification Manual》中的VMFL009: Natural Convection in a Concentric Annulus

外环温度为327K,内环温度为373K
圆环内流体的物性参数为:

对于一般的流动来说,可以通过临界雷诺数的大小来判断流态。而对于自然对流来说,流动的驱动力为浮力,为了反映由于温差引起密度的变化,从而产生浮力驱动流体流动,在自然对流中我们经常使用瑞利数(Ra)来判断流态。

首先进行建模操作,任何建模软件均可,本算例在ICEM建模和进行网格划分,生成的网格如下:

接下来转入OpenFOAM的操作:
首先新建一个文件夹,名字任取,本算例中我将该文件夹命名为:Annulus

然后进入OpenFOAM的安装目录,将安装目录下的buoyantCavity算例(我的目录为/opt/openfoam5/tutorials/ heatTransfer/ buoyantSimpleFoam/ buoyantCavity)下的0文件夹、constant文件夹和system文件夹拷贝到Annulus文件夹下,然后删除system目录下的blockMeshDict文件,因为我们利用OpenFOAM的命令转化.msh文件为OpenFOAM能接受的网格文件,删除system目录下的sample文件,删除0文件夹下的alphat,epsilon, k,nut, omega这些文件,因为本算例不会用到这些文件。


然后将刚才导出的网格文件拷贝到Annulus文件夹下,在Annulus文件夹下打开终端,输入fluentMeshToFoam命令(由于从ICEM当中导出模型的时候就已经进行了缩放,所以这里不用缩放网格):


我们打开constant文件夹下的thermophysicalProperties文件,修改如下:

说明一下:
我们设置equationOfState关键字为incompressiblePerfectGas,因为本算例温度变化较大,而密度变化很小,可以将密度视为温度的函数,所以采用不可压理想气体可保证准确性的前提下,有更好的收敛性。然后我们通过在mixture下面增加
equationOfState
{
pRef 101325;
}
来指定参考压力为101325,因为针对不可压理想气体,其密度为:

更进一步详细的内容,请见《OpenFOAM User Guide》第七章第1节《Thermophysical models》
接着修改turbulenceProperties文件,此处我们将模拟类型设置为层流(laminar)

g文件可保持不变,因为这里我们也需要施加沿y负向的重力

然后对初始边界条件进行设置,下面转入0文件夹下进行操作:
修改0文件夹下U、p、p_rgh和T文件:
p文件当中的内容如下:

p_rgh文件当中的内容如下:

T文件当中的内容如下:

U文件当中的内容如下:

接着我们设置controlDict文件

fvSchemes文件修改如下:

说明一下:
这里修改div(phi,U)和div(phi,h)为线性迎风格式(linearUpwind)
fvSolution文件修改如下:

说明一下:
我们需要修改p_rgh的求解器,solver使用PCG,preconditioner使用DIC,如果使用仍然使用buoyantCavity算例下的GAMG求解器,计算将非常缓慢。
为了加快计算,我们采用分块并行计算
首先我们在system目录下添加一个decomposeParDict文件,文件的内容为(该文件可从溃坝算例下直接拷贝过来,我的位置为/opt/openfoam5/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/decomposeParDict):

然后我们在终端中输入decomposePar进行分块:


回到算例文件夹下,打开终端,由于我安装了PyFoam来实时输出残差,所以在终端中输入pyFoamPlotRunner.py --clear mpirun -np 4 buoyantSimpleFoam -parallel开始计算:

等到计算结


将计算结果导入paraview里面进行处理
速度云图:

温度云图:

流线图

Tecplot处理结果:
速度云图:

温度云图:

计算结果与实验数据对比:


AA线上温度分布:

BB线上温度分布:

OpenFOAM——同心环中的自然对流的更多相关文章
- fluent在运行时改变重力方向方法总结
Fluent版本:19.0(其他版本应该也适用) 这里我们用一个简单的算例(同心环中的自然对流)来说明 算例来自<ANSYS Fluid Dynamics Verification Manual ...
- OpenFOAM——高空腔内的湍流自然对流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL052: Turbulent Natural Convection Inside ...
- OpenFOAM——运动和静止的同心圆柱之间的流动(库埃特流)
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL001: Flow Between Rotating and Stationary ...
- 【一起学OpenFOAM】03 OpenFOAM基本使用流程
OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...
- 【一起学OpenFOAM】系列由来
1 为什么要学习OpenFOAM 掐指算起来,接触CFD也差不多有十个年头了,其间一直使用的商用CFD软件,有Fluent.CFX.StarCCM+等,这些商用软件各有其优缺点,都能较好的解决常规的工 ...
- 【一起学OpenFoam】02 软件准备
"工欲善其事必先利其器",在利用OpenFoam解决我们的工程问题之前,首先要做的事情是搭建一个OpenFoam运行环境.很遗憾的是,OpenFoam的原生开发系统是Linux,因 ...
- OpenSUSE下编译安装OpenFoam
在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...
- 【一起学OpenFoam】01 OpenFoam的优势
CFD技术发展到今天,已经超过了大半个世纪了,已经涌现出非常多的CFD软件可供人们使用.通用商业CFD软件譬如Fluent.CFX.Star CCM+等在工业上得到了广泛的应用,另外一些专用的软件(如 ...
- OpenFOAM&Gmsh&CFD圆柱绕流(两个圆柱)
问题: 圆柱绕流问题,模拟仿真有两个圆柱.一个源的流体变化情况. 解决步骤: 1.使用Gmsh画出网格,并保存cylindertwo.msh 2.以Cavity为基础创建新的Case:Cylinder ...
随机推荐
- springCloud学习笔记2(服务发现)
本篇代码存放于:https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E6%9C%8D%E5%8A%A1 ...
- printf打印字节
int i = 0; printf("buf:"); for(i = 0; i < sizeof(buf); i++) { printf("0x%x", ...
- State Design Pattern
注: 转载自 https://www.geeksforgeeks.org/state-design-pattern/ [以便查阅,非原创] State Design Pattern State pa ...
- java程序员常用的cmd命令
1.查看端口号或者进程号使用情况 1.1.查看所有端口占用情况 C:\Users\Administrator>netstat -ano 活动连接 协议 本地地址 (ip:端口) 外部地址 状态 ...
- Python学习日记(三十四) Mysql数据库篇 二
外键(Foreign Key) 如果今天有一张表上面有很多职务的信息 我们可以通过使用外键的方式去将两张表产生关联 这样的好处能够节省空间,比方说你今天的职务名称很长,在一张表中就要重复的去写这个职务 ...
- 关于jupyter notebook密码设置
对于一个jupyter编辑器使用的新手,更换浏览器或者Logout后,需要输入密码进行登陆时 按照网上的教程怎么设置都不行,那么自己整理了一个适用于初学者的操作. 1.windows下,打开命令行,重 ...
- golang之网络开发
TCP Server/Client开发 net包提供network I/O开发接口,包括TCP/IP.UDP.DNS和Unix domain sockets. 常用开发一般仅需要最基础接口或函数: 服 ...
- Kotlin字节码生成机制详尽分析
通过注解修改Kotlin的class文件名: 对于Kotlin文件在编译之后生成的class文件名默认是有一定规则的,比如: 而其实这个生成字节码的文件名称是可以被改的,之前https://www.c ...
- JVM垃圾回收算法分析与演示【纯理论】
继续接着上一次[https://www.cnblogs.com/webor2006/p/10729649.html]的来学习,上次在结尾处提到了JVM常见的GC算法,如下: 接下来则逐一的对其进行学习 ...
- Python 爬虫js加密破解(四) 360云盘登录password加密
登录链接:https://yunpan.360.cn/mindex/login 这是一个md5 加密算法,直接使用 md5加密即可实现 本文讲解的是如何抠出js,运行代码 第一部:抓包 如图 第二步: ...