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 ...
随机推荐
- 纯css更改图片颜色的技巧
tips: JPG.PNG.GIF 都可以,但是有一个前提要求,就是黑色纯色,背景白色 .pic1 { background-image: url($img), linear-gradient ...
- Linux DHCP 中继
具体到一个公司的网络环境中,不可能只有一个VLAN,更不可能对每个VLAN都架设一个DHCP服务器,这时就要做一个DHCP的中继,使得DHCP的广播可以通过VLAN. 实验拓扑 三层交换机下面连接一台 ...
- linux文件常用操作
建立目录:mkdir mkdir -p [目录名] -p 递归创建 命令英文原意: make directories 切换所在目录:cd cd [目录] cd ~ 进入当前用户的家目录 cd c ...
- BS开发扫盲篇-前端技术风云录
BS开发扫盲篇-前端技术风云录 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HTML诞生 HTML(HyperText Markup Language)超文本标记语言 ...
- 使用Cloudera Manager部署Kafka消息队列
使用Cloudera Manager部署Kafka消息队列 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载需要安装的Kafka版本 1>.查看Cloudera Dis ...
- 使用Arduino和LED光柱显示器件轻松制作电池电压指示器
电池有一定的电压限制,如果电压在充电或放电时超出规定的限制,电池的使用寿命就会受到影响或降低.每当我们使用电池供电的项目,有时我们需要检查电池电压电量,确定是否需要充电或更换.本电路将帮助您监测电池电 ...
- python学习之多窗口切换
多窗口切换: from selenium import webdriver d = webdriver.Firefox() d.window_handles #显示所有的窗口 d.current_wi ...
- 图森未来一道笔试题-迷宫难题【BFS找S->E的最短步数】
时间限制:3秒 空间限制:262144K 图森未来的自动驾驶小卡车今天被派到了一个陌生的迷宫内部运输一些货物. 工程师小图已经提前拿到了这个迷宫的地图,地图是一个n*m的字符矩阵,上面包含四种不同的字 ...
- 编程小白入门分享五:Vue的自定义组件
前言 上篇博客简单介绍了vue,本篇博客要在对vue有一定了解后,才可以比较容易理解自定义组件.想要封装好一个组件,一定要熟练掌握这三个技能,父组件 -> 子组件传值(props).子组件 -& ...
- Principal Component Analysis: 用公式来描述我们想要PCA做什么
PCA要做什么? 我们想将数据从二维降到一维,那么怎么找到这条好的直线对数据进行投影呢? 上图中红色的那条直线是个不错的选择,因为点到投影到这条直线上的点之间的距离(蓝色的线)非常小;反之 ...