OpenFOAM——高空腔内的湍流自然对流
本算例来自《ANSYS Fluid Dynamics Verification Manual》中的VMFL052: Turbulent Natural Convection Inside a Tall Cavity

顶部和底部壁面为绝热边界,左侧壁面(COLD_WALL)为288.25K,右侧壁面为(HOT_WALL)为 307.85K
流体的物性参数为:
密度:1.17kg/m3
粘度系数:1.81×10-5N·s/m2
运动粘度:1.54×10-5 m2/s
定压比热容:1005J/(kg·K)
导热系数:0.0261W/(m·K)
普朗特数:0.705
针对自然对流的方法一般有三种:
①布辛尼斯克(Boussinesq)近似
②不可压理想气体
③密度线性差分方法
本算例采用布辛尼斯克(Boussinesq)近似,布辛尼斯克假设中密度作为常数考虑,浮力作为源项添加,但仅适用于小温差,密度变化小于20%的情况,一般壁面与流体的温差超过200K,布辛尼斯克近似就不适用了。
首先进行建模操作,任何建模软件均可,本算例采用ICEM直接建模,生成网格,然后利用OpenFOAM下转化网格,划分完成的网格局部如下:

网格比较密集,高度方向设置了2000个节点,宽度方向上设置了100个节点,在导出网格的同时,我们对网格进行了缩放。建议在导出网格的时候就缩放网格,避免在后面的操作中,由于忘记缩放网格,导致计算出错
接下来转入OpenFOAM的操作:
首先新建一个文件夹,名字任取,用来作为算例文件夹,本算例中我将该文件夹命名为:Tall_Cavity

文件夹、constant文件夹和system文件夹拷贝到Tall_Cavity文件夹下,然后删除system目录下的blockMeshDict文件,因为我们利用OpenFOAM的命令转化.msh文件为OpenFOAM能接受的网格文件。
然后我们将刚才我们生成的.msh网格拷贝到Tall_Cavity文件夹下。在算例文件夹下打开终端,输入fluentMeshToFoam命令:


我们打开constant文件夹下的transportproperties文件,内容修改如下:

说明一下:
nu表示层流粘度,这里根据上面的物性填写1.81e-05即可,注意下量纲,这里是运动粘度,需要用动力粘度除以密度
beta表示热膨胀系数,一般取为三百分之一(0.003)
Tref表示参考温度,这里我们取为两壁面温度的算术平均值,这里填写298.05
Pr表示普朗特数,这里我们根据上面的物性参数填写0.705
最后的湍流普朗特数根据实验得到,一般不用改动
接下来,修改turbulenceProperties文件的内容如下:

本算例我们采用k-ωSST湍流模型来进行计算(后面需要在0文件夹下添加omega文件)
g文件无需修改,默认设置超Y轴方向重力,重力加速度为9.81m/s2
然后对初始边界条件进行设置,下面转入0文件夹下进行操作:
删除不需要的文件

alpha文件当中的内容如下:

p文件当中的内容如下:

p_rgh文件当中内容如下:

U文件当中的内容如下:

将T.org的文件名修改为T,当中的内容如下:


k文件当中的内容如下:


说明一下:
在壁面处,k应该为0。这里我们使用了壁面函数。
k表示湍动能,计算公式为:


其中:uavg为平均速度
I为湍流强度
湍流强度的计算公式为:


式中:Re表示雷诺数
为何一般初始湍流强度设置为5%,可参考Launder B E, Spalding D B. The numerical computation of turbulent flow Computer methods in applied mechanics and engineering[J]. Надійшла до редакції 04.12. 2009 р, 1974.
MLA(文章链接:http://www.sciencedirect.com/science/article/pii/0045782574900292)
omega文件当中的内容如下:


说明一下:
omega表示比耗散率,计算公式如下:


式中:Cμ为0.09
k为湍动能
l为特征长度
nut文件内容如下:


说明一下:
nut表示湍流粘度,其计算公式为:


接着我们设置controlDict文件


fvSchemes文件修改如下:


fvSolution文件修改如下:


为了加快计算速度,我们进行并行计算,回到算例文件夹下的system目录,新建一个decomposeParDict字典,其中的内容:


打开终端,输入decomposePar进行分块


由于我安装了PyFoam来实时输出残差,所以在终端中输入pyFoamPlotRunner.py --clear mpirun -np 4 buoyantBoussinesqSimpleFoam -parallel开始计算:


等到计算结束


将计算结果导入paraview里面进行处理


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




OpenFOAM——高空腔内的湍流自然对流的更多相关文章
- OpenFOAM——过渡管中的湍流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL016:Turbulent Flow in a Transition Duct 一 ...
- 设计管理员表;webservice用于网络安全的高端内提供服务的
admin表设计.你应该有角色表,管理员属于一个样的作用,另一个接口选项,以查看表.角色有更多的选择的能力. 角色和选项代表了许多关系,因此,我们必须保持这种关系有一个表 版权声明:本文博客原创文章, ...
- python 高阶内置函数
1.lambda 匿名函数 lambda 参数: 返回值 函数名统一都叫lambda. 2.sorted() 排序函数 排序函数 sorted(iterable,key,reverse) key:排序 ...
- 深入理解 OpenFOAM 环境变量与编译
操作系统选择 由于 OpenFOAM 在 Linux 平台开发和测试,在非 Linux 平台无法直接对软件进行编译和安装,所以在非 Linux 平台上最简便方法是使用 docker 容器运行 Open ...
- 块级元素和内联元素的区别(HTML)
请把下面二行代码放进body标签里: <div style=”border: 1px solid red;”>div1</div> <div style= ...
- HTML中行内元素与块级元素的区别
块级元素:独占一行,可设宽高,内外边距:块级元素有form,p,h1到h6,ol ,ul ,dl和dd和dt ,hr,li,pre,caption ,div ,table ,tr ,td ,th等. ...
- 块状元素和内联元素 【inline block】
// 9) { colorRandom += colorArray[randomV - 10]; } else { colorRandom += randomV; } } currentEle.css ...
- CSS样式设置语法全解,样式优先级、值和单位、字体、文本、块级元素,行内元素,替换元素、非替换元素、display、float、position、table、li、光标、边距边框、轮廓、颜色背景
全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css选择器全解 css操作语法全解 CSS样式设置语法全解: 样式优先级 1. !important标记的样式 > 内联样式(sty ...
- 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...
随机推荐
- Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列)
Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列) 一丶带参数的装饰器 def wrapper_out(pt): def wrapper(func): ...
- Flutter — IDE Shortcuts for Faster Development
https://medium.com/flutter-community/flutter-ide-shortcuts-for-faster-development-2ef45c51085b If yo ...
- python创建简单网站
前言 本方法基于web2py框架,使用web2py的完整网站数据包创建简单网站. web2py 是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速.安全以及可移 ...
- Vue.js详解
vuejs介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能 ...
- Java 之 Maven 常用命令
一.Maven 常用命令 在 cmd 中可以通过一系列的 maven 命令对我们的 maven 工程进行编译.测试.运行.打包.安装和部署. 1.compile 命令 compile 是 maven ...
- xml和json的判断格式是否相等
手动撸了个 xml 和 json 格式匹配的代码. /** * 判断数据的结构.遍历节点然后去对应的json那边查找是否存在这样的节点 * * @param root 配置的xml所对应的对Eleme ...
- docker复制文件到宿主机
从主机复制到容器 sudo docker cp host_path containerID:container_path 从容器复制到主机 sudo docker cp containerID:con ...
- java中的偏序关系
从半个多月前接到阿里的面试电话,被多线程问题难住,到今天终于读完了<Java Concurrency In Practice>.想总结一下,又发现自己没有能力将一本书的内容都概括下来.还是 ...
- kubernetes里面的GC--转发
什么是GC GC 是 Garbage Collector 的简称.从功能层面上来说,它和编程语言当中的「GC」 基本上是一样的.它清理 Kubernetes 中「符合特定条件」的 Resource O ...
- HTML&CSS基础-html常用的标签
HTML&CSS基础-html常用的标签 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html的源代码 <!DOCTYPE html> <html& ...