OpenFOAM——过渡管中的湍流
本算例来自《ANSYS Fluid Dynamics Verification Manual》中的VMFL016:Turbulent Flow in a Transition Duct
一个出口(INLET),入口速度为1 m/s,一个出口(OUTLET),其余为壁面。
流体的物性参数为:
密度:1 kg/m3
粘度系数:5.13×10-6kg/(m·s)
本算例采用LRR雷诺应力模型进行计算
首先进行建模操作,任何建模软件均可,本算例采用ICEM直接建模,生成网格,缩放网格,然后利用OpenFOAM下转化网格,划分完成的网格如下:
接下来转入OpenFOAM的操作:
首先新建一个文件夹,名字任取,用来作为算例文件夹,本算例中我将该文件夹命名为:transition_duct
然后进入OpenFOAM的安装目录,将安装目录下的motorBike算例(我的目录为/opt/openfoam5/tutorials
/incompressible/simpleFoam/ pipeCyclic)下的0文件夹、constant文件夹和system文件夹拷贝到transition_duct文件夹下,然后将0.org文件夹重命名为0,删除该文件夹下的不需要的文件和文件夹
在system目录下删除下面截图中的文件
然后我们将刚才我们生成的.msh网格拷贝到transition_duct文件夹下。在算例文件夹下打开终端,由于是三维模型,我们输入fluent3DMeshToFoam命令(本算例也可以使用fluentMeshToFoam来实现网格转换):
我们打开constant文件夹下的transportproperties文件,内容修改如下:
接下来,修改turbulenceProperties文件的内容如下:
转入0文件夹
p文件当中的内容如下:
U文件当中的内容如下:
epsilon文件当中的内容如下:
新建一个名称为R的文件
R文件当中的内容如下:
说明一下:
假设为各项均匀湍流,所以对于雷诺应力,对角线上的值取(k为湍流强度),非对角线上的元素设置为0。由于雷诺应力是二阶对称张量,本来应该存在9个元素,但是由于其对称性,其实只有6个独立元素,OpenFOAM就存储这6个独立元素来节省内存。
R文件中
实际上应该表示为:
接着我们设置system文件夹下的controlDict文件:
fvSchemes文件修改如下:
fvSolution文件修改如下:
由于我安装了PyFoam来实时输出残差,所以在终端中输入pyFoamPlotRunner.py --clear simpleFoam开始计算:
等到计算结束
速度云图
我们计算压力系数来与实验数据进行对比
对于压力系数的定义:
根据参考文献《Experimental Investigation of Turbulent Flow Through a Circular-to-Rectangular Transition Duct》,文献中取x=-1处的压力,速度为参考
本算例中x=-1处的平均压力为:0.0722375Pa,平均速度为1m/s
然后我们在ParaView当中自定义压力系数
由于我们是Station 5(根据文献为x=4位置)壁面的压力系数
我们选择出现的这个xy图,然后
即可以csv格式将数据导出
轴线方向的压力系数的数据可用Plot Over Line导出
计算结果是实验结果对比:
OpenFOAM——过渡管中的湍流的更多相关文章
- OpenFOAM——高空腔内的湍流自然对流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL052: Turbulent Natural Convection Inside ...
- OpenFOAM 中边界条件的设定【转载】
转载自:http://blog.sina.com.cn/s/blog_a0b4201d0102v7jt.html 用习惯了FLUENT的操作界面,再使用OpenFOAM就会觉得非常繁琐.遇到的第一个问 ...
- 【一起学OpenFOAM】03 OpenFOAM基本使用流程
OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...
- CSS 3学习——transition 过渡
以下内容根据官方规范翻译以及自己的理解整理. 1.介绍 这篇文档介绍能够实现隐式过渡的CSS新特性.文档中介绍的CSS新特性描述了CSS属性的值如何在给定的时间内平滑地从一个值变为另一个值. 2.过渡 ...
- OpenSUSE下编译安装OpenFoam
在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...
- 【一起学OpenFoam】01 OpenFoam的优势
CFD技术发展到今天,已经超过了大半个世纪了,已经涌现出非常多的CFD软件可供人们使用.通用商业CFD软件譬如Fluent.CFX.Star CCM+等在工业上得到了广泛的应用,另外一些专用的软件(如 ...
- 【Javascript】解决Ajax轮询造成的线程阻塞问题(过渡方案)
一.背景 开发Web平台时,经常会需要定时向服务器轮询获取数据状态,并且通常不仅只开一个轮询,而是根据业务需要会产生数个轮询.这种情况下,性能低下的Ajax长轮询已经不能满足需求,频繁的访问还会造成线 ...
- Windows 10 Build 14997中Edge浏览器已默认阻止Flash运行
在上周末偷跑的 Windows 10 Build 14997 向我们传递了很多信息,新增了蓝光过滤器等功能,并有望装备在即将到来的 Creators Update 中.经过深入发掘,外媒发现新版系统中 ...
- 趋势or过渡,量子点屏幕真的优于OLED?
[导读]谁都知道买电视就是要买看起来很爽的产品,但怎么界定这个“爽”字?大部分人所知的是屏幕要够大,再近一步就是分辨率要够高——在这个4K分辨率逐步进入寻常家庭的时代,这两者已经不是选购屏幕类产品的大 ...
随机推荐
- Android 下载进度对话框 ProgressDialog
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV ...
- dex方法隐藏后的反编译和运行时 效果
隐藏smali方法后 java源码: int b = fun2(); baksmali解释为: invoke-virtual {v1}, <int MainAc ...
- 20190312_浅谈go&java差异(二)
转载请注明出处:https://www.cnblogs.com/funnyzpc/p/10801474.html 第二节内容概览 循环(for.switch) 多值返回 defer & fin ...
- LeetCode刷题191203 --回溯算法
虽然不是每天都刷,但还是不想改标题,(手动狗头 题目及解法来自于力扣(LeetCode),传送门. 算法(78): 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明: ...
- asp开发类型判段
Asp的东西有许多,asp的类型便是其中之一,如同Asp的数据类型只需一个那便是"variant ". 它是一种特别的数据类型可以依据它的运用标明许多不同品种的信息(cnhfjj) ...
- C++继承产生的问题
今天写代码,用到了继承,忘了将父类中的私有成员改为protected,结果一调用父类地函数后,子类中的root指针直接变为了父类中的空的root.私有成员在继承后依然会保留,占一定的内存空间,但却没有 ...
- 5种智能指针指向数组的方法| 5 methods for c++ shared_ptr point to an array
本文首发于个人博客https://kezunlin.me/post/b82753fc/,欢迎阅读最新内容! 5 methods for c++ shared_ptr point to an array ...
- jenkins构建,拉取不到最新版本代码,报clock of the subversion server appears to be out of sync
一.问题描述 今天遇到个问题,我这边提交了代码后,一般会马上去jenkins上点一下,构建到开发环境上. 但是发现修改没生效,后来发现,提交的版本假设是3250,但是jenkins构建使用的版本为32 ...
- 【Hash一致性算法】什么是Hash一致性算法
目录 1. 一致性Hash算法简介 环形Hash空间 把数据通过一定的hash算法处理后映射到环上 将机器通过hash算法映射到环上 机器的删除与添加 平衡性 本文转载自博客 1. 一致性Hash算法 ...
- sql server报【将截断字符串或二进制数据】错误
会出现这个错误的原因是因为表设置的列长度小于要插入的数据的长度. 可以从下列的6个方面去排查: 1.表设置的列名长度太短. 2.插入的数据太长. 3.有默认值. 4.有触发器. 5 从char数据类型 ...