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 ...
随机推荐
- Java知识回顾 (13)序列化
本资料来自于runoob,略有修改. 整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列化的对象可以在另一个完全不同的平台上反序列化该对象. 类 ObjectInputStre ...
- 【转载】华为荣耀V9手机如何设置WiFi热点共享
有时候我们在电脑的时候发现没有无线网络以及有线网络,如果你的手机有相应网络,并且流量足够(当前很多手机流量套餐都是不限量了),可以开启手机上的Wifi热点进行流量共享使用,开启Wifi流量热点后,电脑 ...
- JavaWeb 之 三层架构:软件设计架构
界面层(表示层):用户看的得界面.用户可以通过界面上的组件和服务器进行交互. 业务逻辑层:处理业务逻辑的. 数据访问层:操作数据存储文件.
- python3中try异常调试 raise 异常抛出
一.什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错误. 当Py ...
- Windows VNC远程连接用法
VNC (Virtual Network Console)是虚拟网络控制台 被控端 被控端需要打开服务,等待主控端连接 服务端已经启动成功,右下角有小图标 主控端 打开主控端,连接被控端 输入被控端i ...
- POSIX 使用互斥量和条件变量实现生产者/消费者问题
boost的mutex,condition_variable非常好用.但是在Linux上,boost实际上做的是对pthread_mutex_t 和pthread_cond_t的一系列的封装.因此通过 ...
- WPF弹出进度条
环境:vs2015 ,.net 4.6 源码地址:https://pan.baidu.com/s/1FoujUMst1luomPf0ZfCLUQ 提取码:trzj 说明: 1.进度条是在winFrom ...
- nginx反向代理前后端分离项目(后端多台)
目前软件架构都比较流行前后端分离,前后端的分离也实现了前后端架构的分离,带来的好处 —— 整个项目的开发权重往前移,实现真正的前后端解耦,动态资源和静态资源分离,提高了性能和扩展性. 通常Spring ...
- SQL Server行转列、不确定列的行转列
本文使用的方法: 1.用Case When 2.PIVOT函数 首先,模拟一张表: -- 创建模拟数据 CREATE TABLE #TempSubjectResult ( StudentName NV ...
- java Excel文件流输出(后台)没有下载提示
/**方案: *1. *问题源头应该是前端用的是ajax方式请求路径,要想出现下载Excel的弹窗,我个人理解应该是等同于重新打开一个窗口,而ajax默认不动页面直接将值返回,所以没有提升下载. *解 ...