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 个数字开 ...
随机推荐
- 给用过SAP CRM中间件的老哥老姐们讲讲SAP CPI
最近Jerry由于项目需要,又得学习一个新工具:SAP Cloud Platform Integration,简称CPI,以前又叫做HCI - HANA Cloud Platform Integrat ...
- go调度: 第一部分-OS调度(操作系统调度)
开场白 这个是三篇博客中的第一篇, 用来提供go调度背后的机制和语法. 这篇博客主要关注操作系统调度. 三篇博客的顺序是: 1) go调度: 第一部分 - 操作系统调度 2) go调度: 第二部分 - ...
- Yii2通过curl调用json-rpc接口
Yii2可以通过json-rpc为前端提供接口数据,通常情况睛会使用异步的形式调用接口,有时也会使用curl调用接口数据. 一.异步调用json-rpc接口 $.ajax({ type: 'POST' ...
- etcd数据备份和恢复--转发
对于etcd api v3数据备份与恢复方法 # export ETCDCTL_API=3 # etcdctl --endpoints localhost:2379 snapshot save sna ...
- 使用python的jira库操作jira的版本单和问题单链接
操作JIRA的API来实现的. 但感觉比单纯操作API要简单一些. from jira import JIRA from django.conf import settings JIRA_URL = ...
- 微信小程序~扫码
为了让用户减少输入,我们可以把复杂的信息编码成一个二维码,利用宿主环境wx.scanCode这个API调起微信扫一扫,用户扫码之后,wx.scanCode的success回调会收到这个二维码所对应的字 ...
- P1941 飞扬的小鸟[dp]
题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉在地上的话,便宣 ...
- Hibernate的悲观锁和乐观锁
前一篇博客我们从数据库角度分析,锁可以分为三种,分别为共享锁,独占锁和更新锁.我们从程序的角度来看锁可以分为两种类型,悲观锁和乐观锁,Hibernate提供对这两种锁 的支持,我们来了解一下Hiber ...
- MSSQL 删除索引
使用SSMS数据库管理工具删除索引 使用表设计器删除索引 表设计器可以删除任何类型的索引,本示例演示删除XML辅助索引,删除其他索引步骤相同. 1.连接数据库,选择数据库,展开数据库->选择数据 ...
- Mybatis框架-update节点元素的使用
今天我们学习一下mybatis框架中的update节点元素的使用 需求:修改用户表中的一条数据记录,修改编号为21的用户的密码 UserMapper.xml UserMapper.java 编写测试方 ...