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地址),但他们的区别是什么?又有什么关系呢 ...
随机推荐
- MySQL-By孙胜利-sifangku.com
一.数据库基本概念 数据库:信息存储的仓库,包括一系列的关系措施! 表:一个数据库中可以有若干张表(形式上你可以看出我们日常生活中建立的表) 字段:表里面的信息会分若干个栏目来存,这些栏目呢,我们在数 ...
- mvc和mvvm模式
一. Mvvm定义 MVVM是Model-View-ViewModel的简写.即模型-视图-视图模型.[模型]指的是后端传递的数据.[视图]指的是所看到的页面.[视图模型]mvvm模式的核心,它是连接 ...
- INTERVAL 用法 mysql
原文:https://blog.csdn.net/sqlquan/article/details/82699237 做个例子描述吧,也许更易于理解. 准备: 1.建表 create table INT ...
- mouseover和mouseenter两个事件的区别
mouseover(鼠标覆盖) mouseenter(鼠标进入) 二者的本质区别在于,mouseenter不会冒泡,简单的说,它不会被它本身的子元素的状态影响到.但是mouseover就会被它的子元素 ...
- React-Native中使用到的一些JS特性
React Native - 调试技巧及调试菜单说明(模拟器调试.真机调试) https://www.hangge.com/blog/cache/detail_1480.html 1,解构赋值——de ...
- postman 在pre-request中发送application/x-www-form-urlencoded 格式表单
postman中在pre-request 发送请求 知识点: json数据解析和遍历 application/x-www-form-urlencoded表单 Array基本使用 js函数 http请求 ...
- unity shader入门(一):基本结构话痨版
unity shader 有三种形式:表面着色器(Surface Shader),顶点/片元着色器(Vertex/Fragment Shader),固定函数着色器(Fixed Function Sha ...
- nodejs puppeteer linux(centos)环境部署以及用puppeteer简单截图
1.安装Node环境 如果有安装Node请忽略第1点 #下载cd /usr/local/srcwget https://nodejs.org/dist/v10.15.3/node-v10.15.3-l ...
- Jenkins使用过程中注意事项
jenkins自动部署注意事项: 安装jenkins https://blog.csdn.net/qq_37372007/article/details/81586751 1.当提示错误ERROR: ...
- 利用ViewStub实现布局懒惰加载
这个问题也是头条面试官问的,本身没什么难度,但以前确实没仔细研究过. 1.使用介绍 ViewStub是一种不可见的尺寸为0的View,用来实现布局资源的懒加载.当ViewStub被设置为用户可见或其 ...