OpenFOAM——梯形腔双边驱流
本算例来自《ANSYS Fluid Dynamics Verification Manual》中的VMFL054: Laminar flow in a Trapezoidal Cavity

顶部和底部壁面均以400m/s的速度运动引起梯形腔内流体流动
梯形腔内流体的物性参数为:


首先进行建模操作,任何建模软件均可,本算例在workbench中直接建模,生成非结构化网格,然后利用OpenFOAM下转化网格,生成的网格如下:

接下来转入OpenFOAM的操作:
首先新建一个文件夹,名字任取,本算例中我将该文件夹命名为:trapezoid

然后进入OpenFOAM的安装目录,将安装目录下的pitzDaily算例(我的目录为/opt/openfoam5/tutorials/incompressible/simpleFoam/pitzDaily)下的0文件夹、constant文件夹和system文件夹拷贝到trapezoid文件夹下,然后删除system目录下的blockMeshDict文件,因为我们利用OpenFOAM的命令转化.msh文件为OpenFOAM能接受的网格文件,删除system目录下的streamlines文件,删除0文件夹下的epsilon,f,k,nut,nuTilda,omega,v2这些文件,因为本算例不会用到这些文件。


然后将刚才导出的网格文件拷贝到trapezoid文件夹下,在trapezoid文件夹下打开终端,输入fluentMeshToFoam命令(由于建模的时候就采用的米为单位,所以这里不用缩放网格):


我们打开constant文件夹下的transportproperties文件,此处我们将运动黏度设置为1㎡/s

接着修改turbulenceProperties文件,此处我们将模拟类型设置为层流(laminar)

文件夹下进行操作:
在0文件夹下我们可以看到U和P两个文件:
然后对初始边界条件进行设置,下面转入0文件夹下进行操作:
修改P文件和U文件
P文件当中的内容如下:

U文件当中的内容如下:

接着我们设置controlDict文件

fvSchemes文件修改如下:

fvSolution文件修改如下:

回到算例文件夹下,打开终端,由于我安装了PyFoam来实时输出残差,所以在终端中输入pyFoamPlotRunner.py --clear simpleFoam开始计算:

等到计算结束:


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

流线图

Tecplot处理结果:

速度等值线:

计算结果与实验数据对比:
我们采用sampleDict的方式来获取中心轴线的分布
我们在system目录下新建一个文本文件,将文本文件的名称改为sampleDict,然后文本文件的内容如下:

说明一下:
interpolationScheme的关键字后面可跟的选项为cell,cellPoint,cellPointFace,其中cell认为单位中心点的值就代表了整个单元的值,cellPoint使用单元中心的值和定点的值进行线性加权插值,cellPointFace使用单元格中心,顶点和面值混合线性加权/单元格插值。
setFormat的关键字后可跟的选项为raw,gnuplot,xmgr,jplot,这些分别是指输出数据的格式,raw表示我们平常看见的格式,gnuplot是指gnuplot作图所能接受的格式,其他类似。
centerline表示输出文件的名称,这个可根据自己需要随意指定
type的关键字后面可跟的选项为uniform,face,midPoint,midPointAndFace,curve,cloud,uniform表示沿指定的路径均匀取点,face表示指定线和单元格面的交点,midPoint表示线面交叉点之间的中点,midPointAndFace表示midPoint和face的组合,curve表示指定点,然后沿曲线追踪。cloud表示指定点。
axis的关键字后面肯跟的选项为x,y,z,xyz, distance,x表示数据文件当中只输出x坐标,y,z表示的含义类似,xyz表示同时输出x,y,z的坐标,distance表示取样点距离起点的距离。
start关键字后面跟上一个向量,表示起点的坐标
end关键字后面跟上一个向量,表示终点的坐标
nPoints表示取点的数目
fields关键字后面跟上的是一系列的物理量,比如压力p,速度U,温度T,一定要将这些物理量用括号括起来,类似(p U T)
更加详细的说明见:https://cfd.direct/openfoam/user-guide/v3-sample/
我们在终端中输入命令:postProcess -func sampleDict -latestTime


我们可以看到在算例目录下多出了一个postProcess的后处理文件夹

我们点击到底会有一个后缀为*.xy的文件

我们打开文件:

其中第一列为y轴坐标,因为我们在sampleDict当中设置的axis为y,而其他三列分别为速度在x方向,速度在y方向,速度在z方向的分量。

沿AA轴线:

沿BB轴线:

注意一下速度在y方向的标准化是除以的壁面速度的负数,本算例是-400,x方向的标准化是除以壁面速度,本算例是400
OpenFOAM——梯形腔双边驱流的更多相关文章
- OpenFOAM——三角腔驱流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL011: Laminar Flow in a Triangular Cavity ...
- OpenFOAM——圆腔顶盖旋转驱流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL008: Flow Inside a Rotating Cavity 腔体顶盖以1 ...
- 【PowerOJ1751&网络流24题】数字梯形问题(费用流)
题意: 思路: [问题分析] 求图的最大权不相交路径及其变种,用费用最大流解决. [建模方法] 规则(1) 把梯形中每个位置抽象为两个点<i.a>,<i.b>,建立附加源S汇T ...
- 【wikioi】1913 数字梯形问题(费用流)
http://wikioi.com/problem/1913/ 如果本题没有询问2和3,那么本题和蚯蚓那题一模一样.http://www.cnblogs.com/iwtwiioi/p/3935039. ...
- 洛谷P4013 数字梯形问题(费用流)
传送门 两个感受:码量感人……大佬nb…… 规则一:$m$条路径都不相交,那么每一个点只能经过一次,那么考虑拆点,把每一个点拆成$A_{i,j}$和$B_{i,j}$,然后两点之间连一条容量$1$,费 ...
- 【CFD之道】2018年原创文章汇总
以下是公众号CFD之道2018年的全部原创文章,共计210篇. 1 Fluent验证案例[60篇] Fluent验证案例02:通过均匀热通量管道层流流动 Fluent验证案例03:管道中湍流流动压降计 ...
- [Ocean Modelling for Begineers] Ch5. 2D Shallow-Water Modelling
本章利用二维浅水模型研究表面重力波的不同物理过程,如湖水中风驱动流体,正压不稳定机制(?the barotropic instability mechanism).本章将为读者介绍使用不同的对流格式模 ...
- COGS738 [网络流24题] 数字梯形(最小费用最大流)
题目这么说: 给定一个由n 行数字组成的数字梯形如下图所示.梯形的第一行有m 个数字.从梯形的顶部的m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径.规则1:从梯形的 ...
- Libre 6010「网络流 24 题」数字梯形 (网络流,最大费用最大流)
Libre 6010「网络流 24 题」数字梯形 (网络流,最大费用最大流) Description 给定一个由n 行数字组成的数字梯形如下图所示.梯形的第一行有m 个数字.从梯形的顶部的m 个数字开 ...
随机推荐
- 手写MVC框架(二)-代码实现和使用示例
--------上一篇:手写MVC框架(一)-再出发----- 背景 书接上文,之前整理了实现MVC框架需要写哪些东西.这周粗看了一下,感觉也没多少工作量,所以就计划一天时间来完成.周末的时间,哪会那 ...
- 关于定义变量名为"name"的坑!!!
昨天下午没有什么工作可做,闲来无事就上博客园看看了,有个问题让我一直很纳闷. 直接上代码吧: 再用表达式创建函数时遇到的问题,这里的代码按照正常逻辑只有那个在变量定义后面的函数执行打印的值才是&quo ...
- Spring AOP 原理的理解
>AOP基本概念 1)通知(Advice):织入到目标类连接点上的一段程序代码.通知分为五种类型: - Before:在方法被调用之前调用 - After:在方法完成后调用通知,无论方法是否执行 ...
- 谷歌hack语法
搜索标题 intitle:"登入" //加引号是精确搜索 搜索正文 intext:"登入" 在URL中搜索 inurl:"/phpmyadmin&qu ...
- Spark之开窗函数
一.简介 开窗函数row_number()是按照某个字段分组,然后取另外一个字段排序的前几个值的函数,相当于分组topN.如果SQL语句里面使用了开窗函数,那么这个SQL语句必须使用HiveConte ...
- day 03 作业 预科
目录 作业 1.简述变量的组成 2.简述变量名的命名规范 3.简述注释的作用 4.使用turtle库构造一幅图,贴在markdown文档中 作业 1.简述变量的组成 变量由变量名.赋值符号.变量值所组 ...
- docker安装mysql5.6(win10家庭版)
闲话不多说,打开之前已经安装好的客户端Docker Quickstart Terminal,安装方法请看上一篇,链接地址:https://www.cnblogs.com/jimmyshan-study ...
- opencv——图像掩码操作
使用opencv通过掩码去扣取图像中感兴趣的区域 步骤: 1.读取一张图片 2.转换颜色格式为hsv 3.设置要扣取区域颜色的上下门限 4.从原始图像中获取感兴趣区域的掩码 5.使用掩码和原始图像做云 ...
- Linux操作系统启动故障排错之/boot目录被删除恢复案例
Linux操作系统启动故障排错之"/boot"目录被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟删除/boot分区 1>.查看/b ...
- 利用Git钩子实现代码发布
目录 1.什么是git钩子 2.安装一个钩子 3.常用的钩子脚本类型 3.1 客户端钩子 3.1.1 pre-commit 3.1.2 prepare-commit-msg 3.1.3 commit- ...