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 个数字开 ...
随机推荐
- 原生js 定义分页控件,类似于百度搜索
实现一个类似于百度搜索结果的分页样式,样式可以自定义,接近于原生,少部分Jquery . 1.实现效果截图(默认无任何样式) 2.主要程序代码 define(function (require, e ...
- honeydctl命令
# honeydctl Honeyd 1.5c Management Console Copyright (c) 2004 Niels Provos. All rights reserved. See ...
- 魅族手机使用应用沙盒一键修改imsi数据
较早前文章介绍了怎么在安卓手机上安装激活XPosed框架,XPosed框架的牛逼之处功能各位都介绍过,可以不修改apk的前提下,修改系统内核的参数,打比方在某些应用领域,各位需要修改手机的某个系统参数 ...
- OpenResty(Nginx + Lua)常用操作
平滑重启: /usr/servers/nginx/sbin/nginx -s reload 重启前测试配置是否成功 /usr/servers/nginx/sbin/nginx -t 平滑升级如果服 ...
- CyclicBarrier 使用详解
原文:https://www.jianshu.com/p/333fd8faa56e 1. CyclicBarrier 是什么? 从字面上的意思可以知道,这个类的中文意思是“循环栅栏”.大概的意思就是一 ...
- Kotlin字节码生成机制详尽分析
通过注解修改Kotlin的class文件名: 对于Kotlin文件在编译之后生成的class文件名默认是有一定规则的,比如: 而其实这个生成字节码的文件名称是可以被改的,之前https://www.c ...
- WPF 控件库——带有惯性的ScrollViewer*(转)
转:https://blog.csdn.net/ahilll/article/details/82418892 一.先看看效果 二.原理 虽然效果很简单,但是网上的一些资料涉及的代码量非常可观,而且效 ...
- 更改DHCP服务器默认日志存储位置
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种有效的IP 地址分配手段,已经广泛地应用于各种局域网管理.它能动态地向网络中每台计算机分配唯一 ...
- 注解@Transient
@Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性. 如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Bas ...
- Django REST framework —— 认证组件源码分析
我在前面的博客里已经讲过了,我们一般编写API的时候用的方式 class CoursesView(ViewSetMixin,APIView): pass 这种方式的有点是,灵活性比较大,可以根据自己的 ...