本算例来自《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——高空腔内的湍流自然对流的更多相关文章

  1. OpenFOAM——过渡管中的湍流

    本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL016:Turbulent Flow in a Transition Duct 一 ...

  2. 设计管理员表;webservice用于网络安全的高端内提供服务的

    admin表设计.你应该有角色表,管理员属于一个样的作用,另一个接口选项,以查看表.角色有更多的选择的能力. 角色和选项代表了许多关系,因此,我们必须保持这种关系有一个表 版权声明:本文博客原创文章, ...

  3. python 高阶内置函数

    1.lambda 匿名函数 lambda 参数: 返回值 函数名统一都叫lambda. 2.sorted() 排序函数 排序函数 sorted(iterable,key,reverse) key:排序 ...

  4. 深入理解 OpenFOAM 环境变量与编译

    操作系统选择 由于 OpenFOAM 在 Linux 平台开发和测试,在非 Linux 平台无法直接对软件进行编译和安装,所以在非 Linux 平台上最简便方法是使用 docker 容器运行 Open ...

  5. 块级元素和内联元素的区别(HTML)

    请把下面二行代码放进body标签里:     <div style=”border: 1px solid red;”>div1</div>     <div style= ...

  6. HTML中行内元素与块级元素的区别

    块级元素:独占一行,可设宽高,内外边距:块级元素有form,p,h1到h6,ol ,ul ,dl和dd和dt ,hr,li,pre,caption ,div ,table ,tr ,td ,th等. ...

  7. 块状元素和内联元素 【inline block】

    // 9) { colorRandom += colorArray[randomV - 10]; } else { colorRandom += randomV; } } currentEle.css ...

  8. CSS样式设置语法全解,样式优先级、值和单位、字体、文本、块级元素,行内元素,替换元素、非替换元素、display、float、position、table、li、光标、边距边框、轮廓、颜色背景

    全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css选择器全解 css操作语法全解 CSS样式设置语法全解: 样式优先级 1. !important标记的样式 > 内联样式(sty ...

  9. 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?

    本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...

随机推荐

  1. 协程和Goroutines示例

    一. 协程的定义 Coroutines are computer-program components that generalize subroutines for non-preemptive m ...

  2. react diff

    传统diff 通过循环递归对节点的依次对比,复杂度是O(n3) react diff react对传统diff进行了优化,将复杂度降为O(n) react基于这几个前提对diff进行了优化: 忽略跨层 ...

  3. JMeter学习笔记(十八)——返回的响应数据出现中文乱码_解决方案

    一.问题描述 使用jmeter过程中遇到了请求返回的响应数据出现中文乱码 二.原因分析 当没有对响应数据or响应页面设置支持解析中文的编码时,JMeter则会以默认的ISO-8859-1格式解析,而其 ...

  4. S/4HANA Service Management和SAP Field Service Management的集成

    经常有朋友提出这样的问题:"SAP Business Suite里的CRM的Service模块已经通过Addon的方式迁移到了S/4HANA上,并且SAP之前又收购了一家专门做Service ...

  5. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  6. FreeBSD关机后自动重启的解决办法

    我用的是华硕的笔记本电脑,不知道别的电脑有没有这个情况,按handbook关机指令为shutdown -p now,但是我执行这个指令后电脑却自动重启,用Linux关机指令shutdown -h no ...

  7. docker里运行cron的要点笔记

    1.如果用精简的apline或debian:stretch-slim创建的docker,里面可能没有cron模块,需要独立安装 apt-get install -y cron 2.docker里面cr ...

  8. PHP三种输出的不同类型

    var_dump() 能打印出类型print_r() 只能打出值echo() 是正常输出... 需要精确调试的时候用 var_dump();一般查看的时候用 print_r()另外 , echo不能显 ...

  9. Eureka 中服务下线的几种方式

    原文:https://blog.csdn.net/qq_15071263/article/details/85276486#1_6 Eureka 中服务下线的几种方式1.直接停掉服务根据默认的策略,如 ...

  10. HDU-4544 湫湫系列故事——消灭兔子 (贪心+优先队列)

    题目思路 将兔子的血量从大到小排列,将箭的属性写在类中(结构体也成),排序按照伤害从大到小排列,若有相等的则按价格从小到大排. 代码 #include<bits/stdc++.h> usi ...