【转载】Gambit使用教程
第一章 Gambit使用
- Gambit介绍
网格的划分使用Gambit软件,首先要启动Gambit,在Dos下输入Gambit <filemane>,文件名如果已经存在,要加上参数-old。
一.Gambit的操作界面
图1 Gambit操作界面
如图1所示,Gambit用户界面可分为7个部分,分别为:菜单栏、视图、命令面板、命令显示窗、命令解释窗、命令输入窗和视图控制面板。
文件栏
文件栏位于操作界面的上方,其最常用的功能就是File命令下的New、Open、Save、Save as和Export等命令。这些命令的使用和一般的软件一样。Gambit可识别的文件后缀为.dbs,而要将Gambit中建立的网格模型调入Fluent使用,则需要将其输出为.msh文件(file/export)。
视图和视图控制面板
Gambit中可显示四个视图,以便于建立三维模型。同时我们也可以只显示一个视图。视图的坐标轴由视图控制面板来决定。图2显示的是视图控制面板。
图2 视图控制面板
视图控制面板中的命令可分为两个部分,上面的一排四个图标表示的是四个视图,当激活视图图标时,视图控制面板中下方十个命令才会作用于该视图。
视图控制面板中常用的命令有:
全图显示、选择显示视图、选择视图坐标、选择显示项目、渲染方式。
同时,我们还可以使用鼠标来控制视图中的模型显示。其中按住左键拖曳鼠标可以旋转视图,按住中键拖动鼠标则可以在视图中移动物体,按住右键上下拖动鼠标可以缩放视图中的物体。
命令面板
命令面板是Gambit的核心部分,通过命令面板上的命令图标,我们可以完成绝大部分网格划分的工作。
图3显示的就是Gambit的命令面板。
图3 Gambit的命令面板
从命令面板中我们就可以看出,网格划分的工作可分为三个步骤:一是建立模型,二是划分网格,三是定义边界。这三个部分分别对应着Operation区域中的前三个命令按钮Geometry(几何体)、mesh(网格)和Zones(区域)。Operation中的第四个命令按钮Tools则是用来定义视图中的坐标系统,一般取默认值。命令面板中的各个按钮的含义和使用方法将在以后的具体例子中介绍。
命令显示窗和命令输入栏
命令显示窗和命令输入栏位于Gambit的左下方(如图4所示)。
图4 命令显示窗和命令输入栏
命令显示窗中记录了每一步操作的命令和结果,而命令输入栏则可以直接输入命令,其效果和单击命令按钮一样。
命令解释窗
图5显示的是位于命令显示窗左方的命令解释窗 ,当我们将鼠标放在命令面板中任意一个按钮的上面,Description窗口中将出现对该命令的解释。
图5 命令解释窗
1.2 二维建模
划分网格的第一步就是要建立模型。在命令面板中单击Geometry按钮,进入几何体面板。
图6显示了几何体面板中的命令按钮。
图6
图6中从左往右依次是创建点、线、面、体和组的命令。
对于二维网格的建立,一般要遵循从点到线,再从线到面的原则。
以二维轴对称单孔喷嘴的网格划分为例介绍二维网格的生成。]
首先要确定问题的计算域。
计算域的确立
图1是一个二维轴对称单孔喷嘴射流问题的计算区域。由于Fulent的边界提法比较粗糙,多为一类边界条件,因此建议在确定计算域时,可以适当加大计算范围。从图中我们可以看出,计算区域为4D*12D,其中在喷嘴的左边取了2D的计算区域,就是为了减小边界条件对计算的影响。
图1 计算域的确定
对于上述的计算域,我们在建立计算模型时按照点、线、面的顺序来进行。
创建点(vertex)
单击命令面板中的Vertex按钮,进入Vertex面板(见图7)
图7 Vertex命令面板
单击Vertex Create按钮,在Create Real Vertex对话框中输入点的坐标,再单击Apply按钮,就可以创建点。计算出计算域的各个顶点的坐标,依次创建这些顶点(见图8)。
图8 点的创建
在Gambit中点的创建方式有四种:根据坐标创建、在线上创建、在面上创建和在体上创建。我们可以根据不同的需要来选择不同的创建方式(见图9)。
图9
Vertex中常用的命令还有:Move/Copy、Undo和Del。
- Move/Copy命令
图9显示的是Move/Copy Vertex对话框。
图10
当我们要复制或移动一个点时,首先要选择需要作用的点。在命令面板中单击Vertices右边的输入栏,输入栏以高亮黄色显示,表明可以选择需要的点。
在Gambit中选择一个对象的方法有两种:
- 按住Shift键,用鼠标左键单击选择的对象,该对象被选中,以红色显示。
- 单击输入栏右方的向上箭头,就会出现一个对话框,从对话框中可以选择需要的点的名称(见图11)。因此为了便于记忆,建议在创建对象的时候要起一个便于记住的名字。
图11
同时,Gambit还为我们提供了三种不同的坐标系,即直角坐标系、柱坐标和球坐标。在命令面板的坐标类型中,可以选择不同的坐标系。
- Undo
Undo命令可以消除上一步操作的内容,但需要注意的是,在Gambit中只有Undo命令而没有Redo命令。
- Del
Del命令用来删除一些误操作或不需要的对象。单击Del按钮,在视图中选择需要删除的对象,再单击Apply按钮即可。
线的创建(Line)
在命令面板中单击Edge按钮,就可以进行线的创建和编辑(见图12)。
在Gambit中,最常用的是直线的创建。
在Edge命令面板中单击Create Straight Edge按钮,在视图中选择需要连成线的点,单击Apply按钮即可(见图13)。这时视图中的线段是以黄色显示。当这些线段组成一个面时,将以蓝色显示。
图12
图13
除了创建直线外,Gambit还可以创建其他的一些线段,如圆弧、圆、倒角、椭圆等(见图14)
图14
Edge命令中常用的还有合并、分离等命令,即可以把两条线段合成一条,也可以将一条线段分成两条,这些可以为面的创建和网格划分提供方便。因为面的创建需要一个封闭的曲面。
面(Face)的创建
面的创建工作十分简单,只须选择组成该面的线,单击Apply按钮即可(见图15)。需要注意的是这些线必须是封闭的,同时我们要创建一个二维的网格模型,就必须创建一个面,只有线是不行的。同样的道理,在创建三维的网格模型的时候,就必须创建体。
图15
在面的创建中,有一个布尔运算的操作,可以使我们创建不规则形状的面(见图16)。布尔运算包括三种方式:加、减、交。
图16
2.网格的划分
在命令面板中单击Mesh按钮,就可以进入网格划分命令面板。在Gambit中,我们可以分别针对边界层、边、面、体和组划分网格。图17所示的五个按钮分别对应着这五个命令。
Boundary Layer (边界层) |
|
Edge (边) |
|
Face (面) |
|
Volume (体) |
|
Group (组) |
图17
2.1边界层网格的创建
在命令面板中单击按钮,即可进入边界层网格创建(见图18)。
图18
边界层网格的创建需要输入四组参数,分别是第一个网格点距边界的距离(First Row),网格的比例因子(Growth Factor),边界层网格点数(Rows,垂直边界方向)以及边界层厚度(Depth)。这四个参数中只要任意输入三组参数值即可创建边界层网格。
同时,我们还可以选择边界层网格创建的形式。在命令面板的Transition Pattern区域,系统给我们提供了四种创建方式(见图19)。
图19
- 创建一个边界层网格
以上述二维轴对称圆孔射流的计算模型为例,介绍边界层网格的生成。
- 单击Mesh按钮,选择Boundary layer选项,进入边界层网格创建命令面板。
- 按住Shift按钮,用鼠标左键单击图形中的线段1,选择其为创建对象。
- 输入参数值为:First Row:0.05,Growth Factor:1.01,Rows:10,选择创建形式为1:1,单击Apply按钮完成创建工作(见图20)。
图
2.2.2创建边上的网格点数
当我们划分的网格需要在局部加密或者划分不均匀网格时,我们首先要定义边上的网格点的数目和分布情况。
边上的网格点的分布可分为两种情况,一种是单调递增或单调递减,一种是中间密(疏)两边疏(密)。下面依然结合实例介绍边上网格点的创建。
- 单击命令面板中的按钮,进入Edge网格创建面板(见图21)。
图21
- 在图13中选择线段2。
- 在命令面板中单击Double Side按钮,设置Radio1和Radio2为1.05。
- 在命令面板中单击Interval Size按钮,选择Interval Count选项。
- 在Interval Count按钮的左边输入参数值为20。
- 单击Apply按钮,观察视图中边上的网格点的生成(见图22)。
tu
7.选择视图中的线段3,取消对Double Side按钮的选择,设置Radio为1.01,Interval Count为80,观察视图中网格点的分布情况。视图中选中线段上的红色箭头代表了Edge上网格点分布的变化趋势。如果Radio大于1,则沿箭头方向网格点的分布变疏,小于1,则沿箭头方向网格点的分布变密。如果发现网格点的分布情况与预计的相反,可以采用两种方法解决:(1)按住Shift 按钮,在所选择的线段上单击鼠标中键改变箭头的方向;(2)在命令面板中单击Invert按钮,将Radio值变为其倒数值。
8.依次选择视图中的线段4、5、6、1,设置合理的网格点分布。
注意:在设置网格点分布的时候,一个封闭面的最后一条线段的网格点的分布可以通过系统自动计算得到。
2.2.3 划分面的网格
Gambit对于二维面的网格的划分提供了三种网格类型:四边形、三角形和四边形/三角形混合,同时还提供了五种网格划分的方法。表1、2分别列举了五种网格划分的方法以及它们的适用类型。
方法 |
描述 |
Map |
创建四边形的结构性网格 |
Submap |
将一个不规则的区域划分为几个规则区域并分别划分结构性网格。 |
Pave |
创建非结构性网格 |
Tri Primitive |
将一个三角形区域划分为三个四边形区域并划分规则网格。 |
Wedge Primitive |
在一个楔形的尖端划分三角形网格,沿着楔形向外辐射,划分四边形网格。 |
表1
适用类型 |
|||
方法 |
Quad |
Tri |
Quad/Tri |
Map |
´ |
´ |
|
Submap |
´ |
||
Pave |
´ |
´ |
´ |
Tri Primitive |
´ |
||
Wedge Primitive |
´ |
表2
下面仍然以二维轴对称自由射流的网格划分为例,来介绍各种网格的生成。
- 单击命令面板中的按钮(Mesh Face),进入面的网格创建命令面板(见图25)。
图25
- 选择视图中的面,系统中默认的网格点的类型为四边形结构网格。单击Apply按钮,观察网格的生成(见图26)。
图26
- 在命令面板的Type中选择网格类型为Pave,单击Apply按钮,观察网格的生成(见图27)。
图27
- 选择Element类型为Tri,单击Apply按钮,观察网格的生成(见图28)。
图28
- 边界的定义
在Gambit中,我们可以先定义好各个边界条件的类型,具体的边界条件取值在Fluent中确定。
- 在菜单栏中选择Fluent/Fluent5。这个步骤是不可缺少的,它相当于给Gambit定义了一个环境变量,设置完之后,定义的边界条件类型和Fluent5中的边界类型相对应。
- 在命令面板中单击按钮,进入区域类型(Zone Type)定义面板。
- 单击按钮,出现Specify Boundary type对话框(见图29)。
图29
- 选择Entity类型为Edge。在视图中选择Edge1,在Name区域中输入Wall,选择Type为Wall,即定义Edge1的边界条件为固壁条件,取名为Wall。
- 选择Edge2,定义边界条件为压力入流条件(Pressure Inlet),取名为Inflow。
- 选择Edge4,定义边界条件为压力出流条件(Pressure Outlet),取名为Outflow。
- 选择Edge5、6,定义边界条件为远场压力条件(Pressure Far-field),取名为Outflow1。
- 选择Edge3,定义边界条件为轴对称条件(Axis),取名为Axis。
- 保存和输出
- 在菜单栏中选择File/Save as,在对话框中输入文件的路径和名称。(注意:在Gambit中要往一个文本框中输入文字或数字,必须先将鼠标在文本框中单击选中文本框)
- 选择File/Export/Mesh,输入文件的路径和名称。
【转载】Gambit使用教程的更多相关文章
- 转载 CSS3 经典教程系列:CSS3 盒阴影(box-shadow)详解
目标大纲 文章转载 CSS3 经典教程系列:CSS3 盒阴影(box-shadow)详解 IE中CSS-filter滤镜小知识大全 CSS实现跨浏览器兼容性的盒阴影效果
- [转载]Ocelot简易教程(六)之重写配置文件存储方式并优化响应数据
作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9807125.html 很多人都说配置文件的配置很繁琐,如果存储在数据库就方便很多,可以通过自定义UI界面 ...
- [转载]Ocelot简易教程(五)之集成IdentityServer认证以及授权
作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9807125.html 最近比较懒,所以隔了N天才来继续更新第五篇Ocelot简易教程,本篇教程会先简单介 ...
- [转载]Ocelot简易教程(三)之主要特性及路由详解
上篇<Ocelot简易教程(二)之快速开始2>教大家如何快速跑起来一个ocelot实例项目,也只是简单的对Ocelot进行了配置,这篇文章会给大家详细的介绍一下Ocelot的配置信息.希望 ...
- [转载]Ocelot简易教程(一)Ocelot是什么
Ocelot简易教程(一)Ocelot是什么 简单的说Ocelot是一个用.NET Core实现并且开源的API网关技术. 可能你又要问了,什么是API网关技术呢?Ocelot又有什么特别呢?我们又该 ...
- [转载]SVN使用教程
SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? ...
- [转载]sed 简明教程
文章转载自酷壳 – CoolShell.cn,作者:陈皓,地址http://coolshell.cn/articles/9104.html awk于1977年出生,今年36岁本命年,sed比awk大2 ...
- [转载]Badboy使用教程
Badboy-系列教程-资料整理: Badboy自动化测试工具1 界面介绍 http://leafwf.blog.51cto.com/872759/1107079 Badboy自动化测试工具2 录制 ...
- 转载:Github 简明教程
如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工. 但是你如果已经在读这篇文章了,我觉的你已经知道G ...
随机推荐
- sql 基础练习题
select * from Student;select * from Courseselect ;select* from Teacherselect ;select * from SC;--创建测 ...
- C#强制清除缓存
#region 强制清除缓存 [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize" ...
- Python基础学习笔记(三)运算符
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...
- php笔记[1]
1:echo '$temp tires<br />'; 该代码将'$temp tires<br />'发送给浏览器,在双引号中,变量名将被变量值所替代.而在单引号中,变量名称, ...
- iOS - Swift 与 Objective-C 互相操作
前言 在 Swift 语言中,我们可以使用 Objective-C.C 语言编写代码,我们可以导入任意用 Objective-C 写的 Cocoa 平台框架.Objective-C 框架或 C 类库. ...
- js模块化编程总结
大家都知道,js中的变量(variable)有其作用范围,比如:函数里用var定义的变量在函数外是看不到的,而定义在函数外面的变量(不能有没有var修饰)均是全局变量,在js程序的任何位置都可以访问. ...
- 用JS打开网页时自动更改css样式,可用于处理浏览器兼容
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- python的最最最最最基本语法(2)
函数的定义: 使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 当用return 返回多个值时,返回的其实是一个tuple, ...
- Mac 实用工具与问题解决
1.在dock上方的一长溜,被我拖成个方块了 删掉里面的字符,然后按esc 即可! 2.FIT输入法(Fun Input Toy),是苹果操作系统OS X上的免费中文输入法,支持全拼/双拼/全双混拼, ...
- Java用WebSocket + tail命令实现Web实时日志
原文:http://blog.csdn.net/xiao__gui/article/details/50041673 在Linux操作系统中,经常需要查看日志文件的实时输出内容,通常会使用tail - ...