
3.2 Gambit的应用
随着CFD技术应用的不断深入,CFD能够模拟的工程问题也越来越复杂,因此对CFD的前处理器软件提出了严峻的挑战,要求前处理器能够处理真实的几何外形(如导弹、飞行器的复杂几何外形),同时能够高效率地生成满足CFD计算精度的网格。Gambit就是FLUENT公司根据CFD计算的特殊要求而开发的专业CFD前处理软件。
3.2.1 Gambit的基本功能
Gambit软件作为专业的CFD前处理软件,具有非常完备的几何建模能力,同时可以和主流的CFD软件协同工作,实现从CAD到CFD的流水线作业。Gambit同时具备功能非常强大的几何修复能力,为Gambit生成高质量的计算网格打下坚实的基础。
功能强大的几何建模能力:Gambit可以生成的曲面包括放样曲面、拉伸曲面、回转曲面、雕刻曲面,可以很方便地生成回转体、拉伸体、放样体、利用现有曲面缝合实体等。
支持几何之间的布尔运算:通过布尔运算可以非常方便地利用简单的几何,通过搭积木的方法形成复杂的几何体。
FLUENT公司在其强大的财力与研发投入下,软件的非结构化网格能力远远领先其竞争对手。Gambit能够针对极其复杂的几何外形生成三维四面体、六面体的非结构化网格。Gambit提供了对复杂的几何形体生成附面层内网格的重要功能,而且附面层内的贴体网格能很好地与主流区域的网格自动衔接,大大提高了网格的质量。另外,Gambit能自动将四面体、六面体、三角柱和金字塔形网格混合起来,这对复杂几何外形来说尤为重要。FLUENT软件的网格技术具有以下优势。
(1)分区结构化网格生成能力。
Gambit具有分区结构化网格生成功能,通过布尔运算或者几何分裂,可以把复杂的工程结构分解为多个六面体块,在每一个六面体块中通过网格影射生成质量受到精确控制的结构化网格。
(2)子影射网格生成技术。
尽管分区结构化网格生成方法可以生成高质量的结构化网格,但复杂结构的分区过程费时费力,并且不同的网格分区策略对网格质量有着重要的影响,工程师的分区经验决定了网格质量。为了解决这一问题,Gambit软件采用了子影射网格生成技术,当用户对某一个区域划分网格时,网格生成器在生成网格之前,自动从现有的边界线出发,将几何区域自动分割成多个六面体块,从而部分地减少了复杂的分区过程。例如,对于如图3-1所示的左侧几何图形无须分区就可以划分高质量的结构化网格。

图3-1 子影射网格技术划分的结构化网格
(3)四面体基元网格生成技术。
对于任意形状的逻辑四面体几何结构,Gambit的网格生成器能够自动将逻辑四面体分割成4个六面体,然后在每一个六面体里划分结构化网格,这种分割完全是由网格生成器自动完成的,避免了人工分区过程。四面体基元网格生成技术的原理如图3-2所示。

图3-2 四面体基元网格生成技术的原理
(4)COOPER网格生成技术。
COOPER网格生成技术能够将一个较为复杂的工程机构自动分割成多个逻辑圆柱体,对于每一个逻辑圆柱体采用单向影射的方法生成结构化网格,分割圆柱的过程完全由网格生成器自动完成。图3-3是采用COOPER技术生成的网格,划分网格过程是完全自动的,不需要人工分区。

图3-3 采用COOPER技术划分的结构化网格
(5)非结构化网格和混合网格技术。
对于特别复杂的工程结构,采用结构化网格方法分区工作量巨大,采用非结构化的四面体网格,能够在短时间之内生成复杂工程结构的计算网格,在四面体和六面体网格之间能够自动形成金字塔网格过渡,如图3-4所示。

图3-4 完全非结构化网格和混合网格
(6)六面体核心网格技术。
六面体核心网格技术使Gambit能自动在形状复杂的几何表面采用非结构化的四面体网格,在流体的中间采用结构化的六面体网格,二者之间采用金字塔网格过渡。六面体核心网格技术集成了非结构化网格几何适应能力强以及结构化网格数量少的优点。
(7)多面体网格技术。
ANSYS FLUENT软件的求解器支持六面体网格,ANSYS FLUENT包含一个网格自动转换开关,可以方便地把四面体网格转换为多面体网格。
有限体积法的计算量主要由网格数量决定,在节点总数(几何分辨率)不变的情况下,多面体网格量只有四面体网格的1/5~1/3,因而将极大地降低解算时间。
(8)网格自适应技术。
ANSYS FLUENT软件采用网格自适应技术,可根据计算中得到的流场结果反过来调整和优化网格,从而使得计算结果更加准确。这是目前在CFD技术中提高计算精度的最重要的技术之一。尤其对于有波系干扰、分离等复杂物理现象的流动问题,采用自适应技术能够有效地捕捉到流场中细微的物理现象,大大提高计算精度。
(9)边界层网格技术。
在靠近固体壁面的区域,由于壁面的作用,流体存在较大的速度梯度,为了准确地模拟壁面附近,要求壁面网格正交性好,同时具有足够高的网格分辨率,以满足壁面的黏性效应。
3.2.2 Gambit的基本用法
1.Gambit操作界面
(1)主界面。
如图3-5所示,Gambit的用户界面可分为7个部分,分别为菜单栏、视图窗口、操作工具面板、命令显示窗口、命令解释窗口、命令输入栏和视图控制面板。Gambit中可显示4个视图,以便于建立三维模型,同时也可以只显示一个视图。视图的坐标轴由视图控制面板决定。

图3-5 Gambit操作界面
(2)视图控制面板。
Gambit的视图控制面板如图3-6所示。

图3-6 视图控制面板
视图控制面板中常用的按钮如下。
全图显示:缩放图形显示范围,使图形整体显示于当前窗口。
选择显示视图:使用上一次的菜单及窗口配置更新当前显示。
选择视图坐标:为模型显示确定方位坐标。
选择显示项目:指定模型是否可见等属性。
线框方式:用于指定模型显示的外观,包括线框方式、渲染方式和消隐方式等。
(3)操作工具面板。
操作工具面板位于Gambit操作界面的右上角,其中各部分对应的按钮说明如图3-7所示。

图3-7 操作工具面板
(4)命令显示窗口和命令输入栏。
命令显示窗口和命令输入栏位于Gambit操作界面的左下方,如图3-8所示。命令显示窗口中记录了每一步操作的命令和结果,可以在命令输入栏中直接输入命令,其效果和单击命令按钮一样。

图3-8 命令显示窗口和命令输入栏
(5)命令解释窗口。
当鼠标移到操作工具面板中的任意一个按钮上时,Description窗口(命令解释窗口)中会出现对该命令的解释,如图3-9所示。

图3-9 命令解释窗口
2.Gambit键盘、鼠标操作
Gambit的GUI是为三键鼠标而设计的。每个鼠标按键的功能根据鼠标是在菜单表格上还是在图形窗口上操作而不同。一些在图形窗口上的鼠标操作是和键盘操作同时进行的。
与CAD等工程制图软件不同,Gambit菜单和表格的鼠标操作只要求左右键而且不涉及任何键盘操作,其中大部分只需用左键操作。右键用来打开涉及工具面板上命令按钮的菜单,如果一些表格包含文本窗口,右键还可以打开选项的隐藏菜单。
Gambit的视图控制既用了鼠标的3个键,也用了键盘上的Ctrl键,Gambit鼠标、键盘的基本用法见表3-1。
表3-1 Gambit鼠标、键盘的基本用法

Gambit图形窗口任务操作允许用户在Gambit表格中选中实体并应用3个鼠标键和键盘上的Shift键。Gambit任务操作类型包括选中实体和执行动作。Gambit实体选中操作的两种类型以及执行动作的操作都用到Shift键。任务选择操作说明如表3-2所示。
表3-2 Gambit任务选择操作

3.Gambit的几何生成及编辑工具
Gambit软件包含了一整套易于使用的工具,可以快速地建立几何模型。另外,Gambit软件在读入其他CAD/CAE网格数据时,可以自动完成几何清理(即清除重合的点、线、面)和进行几何修正。
(1)Gambit的通用几何编辑工具。
① 移动/复制和排列。
当要复制或移动一个对象(点、线、面或体)时,首先要选择需要复制或移动的对象,在操作工具面板中单击输入栏,输入栏以高亮黄色显示,表明可以选择需要的对象。相关操作说明如表3-3所示。
表3-3 移动/复制和排列操作

② 布尔运算。
典型的布尔运算包括并、交、减。布尔操作在绘制三维体时最为常用,其基本操作方法与复制一样,先选择对象再执行操作,这里不再重复。相关操作说明如表3-4所示。
表3-4 布尔运算操作

③ 分裂与合并。
线、面和体的分裂与合并的操作方法类似,这里只介绍体的分裂与合并,相关操作说明如表3-5所示。
表3-5 分裂与合并操作

④ 连接与解除连接。
连接与解除连接体操作对应的按钮说明如表3-6所示。
表3-6 连接与解除操作

⑤ 撤销、重复和删除。
撤销、重复和删除操作对应按钮的说明如表3-7所示。
表3-7 撤销、重复和删除操作

(2)Gambit的几何生成工具。
一般按照点、线、面的顺序来建立计算模型。
① 点的生成。
通过直接输入坐标值来建立几何点时,既可以使用笛卡儿坐标系,也可以使用柱坐标系,或者在一条曲线上生成点,将来可以用该点断开曲线。
在Gambit中点的创建方式有多种:根据坐标创建、在线上创建、在面上创建、在体上创建、在两条直线交叉处创建、在体的质心位置创建和通过投影的方式创建。可以根据不同的需要来选择不同的创建方式。各种创建点方式对应按钮的功能说明如表3-8所示。
表3-8 点的生成

② 线的生成。
Gambit线生成按钮除了创建直线外,还可以在生成点按钮上单击鼠标右键,从快捷菜单中选择创建其他的线段,如圆弧、圆、倒角、椭圆等。各种线生成按钮的功能说明如表3-9所示。
表3-9 线的生成

③ 面的生成。
要创建一个二维的网格模型,就必须创建一个面,只有线是不行的。面的创建十分简单,只需选择组成该面的相应线,然后单击Apply按钮即可。需要注意的是,构成面的这些线必须是封闭的。
用鼠标右键单击按钮,在快捷菜单中选择相应的按钮生成面。为方便读者查阅,表3-10列出了生成面的各按钮的功能。
表3-10 面的生成

④ 几何实体的生成。
在Gambit软件中创建三维网格模型时,必须创建体。可以直接生成块体、柱体、锥体、圆环体、金字塔体等。生成体的各种按钮的功能如表3-11所示。
表3-11 生成几何实体

4.Gambit网格生成工具
在操作工具面板中单击(Mesh)按钮,可以进入网格划分操作工具面板。在Gambit中,可以分别针对边界层、边、面、体和组划分网格。表3-12中给出了5个按钮的含义。
表3-12 网格生成

Gambit软件提供了功能强大、灵活方便的网格划分工具,可以划分出满足CFD特殊需要的网格。
(1)生成线网格。
在线上生成网格,作为将在面上划分网格的网格种子,允许用户详细地控制线上节点的分布规律,Gambit提供了满足CFD计算特殊需要的5种预定义的节点分布规律。
(2)生成面网格。
对于平面及轴对称流动问题,只需要生成面网格。对于三维问题,也可以先划分面网格,再拓展到体。
Gambit根据几何形状及CFD计算的需要提供了3种网格划分方法。
映射网格划分技术是一种传统的网格划分技术。它仅适合于逻辑形状为四边形或三角形的面,允许用户详细控制网格的生成。在几何形状不太复杂的情况下,可以生成高质量的结构化网格。
为了提高结构化网格生成效率,Gambit软件使用子映射网格划分技术。也就是说,当用户提供的几何外形过于复杂时,子映射网格划分方法可以自动对几何对象进行再分割,能在原本不能生成结构化网格的几何实体上划分出结构化网格。
子映射网格技术是FLUENT公司独创的一种新方法,它对几何体的分割只是在网格划分算法里进行,并不真正对用户提供的几何外形进行实际操作。
对于拓扑形状较为复杂的面,可以生成自由网格,用户可以选择合适的网格类型(三角形或四边形)。
在Gambit软件的网格操作面板中,需要选择要划分网格的面单元,定义网格单元类型(Elements)、网格划分类别(Type)、光滑度(Smoother)以及网格步长(Spacing)等。这里主要说明网格单元类别和网格划分的适应类型,详见表3-13和表3-14。
表3-13 网格划分类别

表3-14 网格划分适用类型

(3)边界层网格。
CFD对计算网格有特殊的要求,一是考虑到近壁黏性效应采用较密的贴体网格,二是网格的疏密程度与流场参数的变化梯度大体一致。
对于面网格,可以设置平行于给定边的边界层网格,可以指定第二层与第一层的间距比及总层数。
对于体网格,也可以设置垂直于壁面方向的边界层,从而可以划分出高质量的贴体网格。其他通用的CAE前处理器则主要根据结构强度分析的需要而设计,在结构分析中不存在边界层问题,因此采用这种工具生成的网格难以满足CFD计算要求,而Gambit软件解决了这个特殊要求。
边界层网格的创建需要输入4组参数中的任意3组,分别是第一个网格点距边界的距离(First Row)、网格的比例因子(Growth Factor)、边界层网格点数(Rows,垂直边界方向)以及边界层厚度(Depth)。这4个参数中只要任意输入3组参数值即可创建边界层网格。
5.Gambit的可视化网格检查技术和网格输出功能
该功能可以直观地显示网格质量,用户可以浏览单元畸变、扭曲、网格过渡、光滑性等质量参数,可以根据需要细化和优化网格,从而保证CFD的计算网格。用颜色代表网格的质量。
Gambit支持所有的FLUENT求解器,如FLUENT 4.5、FLUENT 5、NEKTON、POLYFLOW、FIDAP等求解器。Gambit支持面向图形的边界条件,也就是说,用户可以直接在几何图形上施加流动的边界条件,不需要在网格上进行操作。
6.CAD/CAE接口
Gambit软件可以直接存取主流的CAD/CAE系统的网格数据并支持标准的数据交换格式。
(1)Gambit软件支持的CAD软件几何接口。
ACIS:Gambit软件的图形就是基于ACIS核心,因而可以支持ACIS各种版本的几何数据。
Pro/Engineer VRML:Gambit可以直接输入PTC公司Pro/Engineer软件输出的VRML格式的数据。
Optegra Visulizer:Gambit可以直接输入PTC公司Optegra Visulizer数据格式。
IDEAS FTL:Gambit可以直接输入SDRC公司IDEAS FTL格式的数据。
IGES:Gambit软件可以读取IGES几何数据,并在读入时自动清理重复的几何元素。
STL:Gambit软件支持STL格式的数据。
Gambit软件还支持STEP、SET、VDAFS、PARASOLID、CATIA格式的几何数据。
(2)Gambit软件支持的CAE接口。
Gambit可以直接输入主流CAE软件的网格,而且在输入网格后可以自动反拓出相应的曲面或几何实体。Gambit可以输入ANSYS、Nastran、Patran、FIDAP等软件的网格数据。
3.2.3 Gambit生成网格文件的操作步骤
Gambit生成网格文件的基本步骤如下。
(1)创建几何模型。Gambit通常按照点、线、面的顺序来进行建模,或者直接利用Gambit体生成命令创建体,对于复杂外形,还可以在其他CAD软件生成几何模型后,导入Gambit中。
(2)划分网格。几何区域定义确定以后,就需要把这些区域离散化,也就是对其进行网格划分。这一步骤需要定义网格单元类型、网格划分类别、网格步长等有关选项。
一般根据模型特点进行线、面、体网格的划分。对于实体网格划分,还需要利用Gambit提供的网格显示方式功能按钮来观察网格内部情况。

图3-10 指定边界条件及类型
(3)指定边界条件类型。在这一步骤中,Gambit首先需要指定所使用的求解器名称(具体包括FLUENT 5/6、FIDAP、ANSYS、RAMPANT等),然后指定网格模型中各边界的类型,如图3-10所示。这里提供了22种流动进、出口条件,下面介绍常用的几种条件。
壁面(WALL):用于限制流体和固体区域。在黏性流动中,壁面处默认为非滑移边界条件,也可以指定切向速度分量,或者通过指定剪切来模拟滑移壁面,从而分析流体和壁面之间的剪应力。如果要求解能量方程,则需要在壁面边界处定义热边界条件。
轴(AXIS):轴边界类型必须使用在对称几何外形的中线处。在轴边界处不必定义任何边界条件。
排气扇(EXHAUST_FAN):排气扇边界条件用于模拟外部排气扇,它具有指定的压力跳跃以及周围环境(排放处)的静压。
进风口(INLET_VENT):进风口边界条件用于模拟具有指定的损失系数、流动方向以及周围(入口)环境总压和总温的进风口。
进气扇(INTAKE_FAN):进气扇边界条件用于模拟外部进气扇,需要给定压降、流动方向以及周围(进口)总压和总温。
质量流动入口(MASS_FLOW_INLET):质量流动入口边界条件用于可压流规定入口的质量流速。在不可压流中不必指定入口的质量流,因为当密度是常数时,速度入口边界条件就确定了质量流条件。
出口流动(OUTFLOW):出口流动边界条件用于模拟之前未知的出口速度或者压力的情况。OUTFLOW边界条件假定除压力之外的所有流动变量正法向梯度为零。该边界条件不适用于可压缩流动。
通风口(OUTLET_VENT):通风口边界条件用于模拟通风口,它具有指定的损失系数以及周围环境(排放处)的静压和静温。
压力远场(PRESSURE_FAR_FIELD):压力远场边界条件可用于模拟无穷远处的自由可压流动,该流动的自由流马赫数以及静态条件已经指定。注意:压力远场边界条件只适用于可压缩流动。
压力入口(PRESSURE_INLET):压力入口边界条件用来定义流动入口边界的总压和其他标量。
压力出口(PRESSURE_OUTLET):压力出口边界条件用于定义流动出口的静压(在回流中还包括其他的标量)。当出现回流时,使用压力出口边界条件来代替质量出口条件往往更容易收敛。
对称(SYMMETRY):对称边界条件用于所计算的物理外形以及所期望的流动/热解具有镜像对称特征的情况。
速度入口(VELOCITY_INLET):速度入口边界条件用于定义流动入口边界的速度和标量。
在第5章中,将详细阐述FLUENT中常用的边界条件。
(4)指定区域类型。CFD求解器一般会提供fluid和solid两种区域类型,因此需要在区域类型指定的面板中给多区域网格模型指定区域类型,如图3-11所示。

图3-11 指定区域类型
区域类型的名称是用户为区域指定的标志,有效区域的命名规则如下。
第一个字符必须是小写字母或者特定的初始字符。
每一个字符后面的字符必须是小写字母、特定的初始字符、数字或者特定的跟随字符,其中特定的初始字符包括“! 、%、&、*、/、:、<、=、>、? 、_、^”,特定的跟随字符包括“.、+、-”。例如,inlet-port/cold! 、eggs/easy和e=m*c^2都是有效的区域名称。
(5)导出网格文件。执行File→Export→Mesh命令,打开输出网格文件(Export Mesh File)对话框,如图3-12所示,指定文件名,便可生成指定名称的网格文件。该文件可以直接由ANSYS FLUENT读入。

图3-12 从Gambit输出网格
3.2.4 Gambit应用实例
1.问题的描述
图3-13是一个二维轴对称单孔喷嘴射流问题的计算区域。由于FLUENT的边界提法比较粗糙,多为一类边界条件,因此建议在确定计算域时,可以适当加大计算范围。从图3-13中可以看出,计算区域为4D×12D,其中在喷嘴的左边取2D的计算区域,就是为了减小边界条件对计算的影响。

图3-13 计算域简图
2.创建几何模型
对于上述的计算域,在建立计算模型时按照点、线、面的顺序来进行。
(1)创建点(Vertex)。
单击操作工具面板中的Vertex按钮,进入Vertex面板,如图3-14所示。

图3-14 Vertex操作面板
单击Vertex Create按钮,在Create Real Vertex对话框中输入点的坐标,再单击Apply按钮,就可以创建点。计算出计算域的各个顶点的坐标,依次创建这些顶点,如图3-15所示。

图3-15 点的创建
(2)创建线(Edge)。
在操作工具面板中单击Edge按钮,进入Edge面板创建和编辑线,如图3-16所示。在Gambit中,最常用的操作是创建直线。

图3-16 Edge操作面板
在Edge操作面板中单击Create Straight Edge按钮,在视图中选择需要连成线的点,单击Apply按钮即可,如图3-17所示。

图3-17 将点连接成线
(3)创建面(Face)。
面的创建十分简单,只需选择组成该面的线,单击Apply按钮即可(见图3-18)。需要注意的是,这些线必须是封闭的,要创建一个二维的网格模型,就必须创建一个面,只有线是不行的。同样的道理,在创建三维网格模型时,就必须创建体。

图3-18 Face操作面板
3.划分网格
在操作工具面板中单击Mesh按钮,可以进入网格划分操作工具面板划分网格。在Gambit中,可以分别针对边界层、边、面、体和组划分网格。
(1)创建边界层网格。
单击Mesh按钮,选择Boundary Layer选项,进入边界层网格创建操作工具面板,如图3-19所示。输入参数值为:First row为0.1, Growth factor为1.2, Rows为10,选择创建形式为1。按住Shift键,单击图3-17中的线段1。

图3-19 边界层操作面板及设置
单击Apply按钮完成边界层的创建,如图3-20所示。

图3-20 创建的边界层
(2)划分边网格。
当划分的网格需要在局部加密或者划分不均匀网格时,首先要定义边上的网格点的数目和分布情况。
单击操作工具面板中网格划分工具下的按钮,进入Mesh Edges(面网格创建)面板,如图3-21所示。

图3-21 面网格创建面板
选择图3-17中的线段2,在操作工具面板中单击Double sided按钮,设置Ratio1和Ratio2为1.1。
在操作工具面板中单击Interval size按钮,选择Interval Count选项,在Interval Count按钮的左边输入参数值20。单击Apply按钮,观察视图中边上的网格点的生成,如图3-22所示。

图3-22 线段2上网格的创建
选择图3-17中的线段3,取消对Double sided按钮的选择,设置Ratio为1.05, Interval Count为80,观察视图中网格点的分布情况。视图中选中线段上的红色箭头代表Edge上网格点分布的变化趋势。如果Ratio大于1,则沿箭头方向网格点的分布变疏;如果小于1,则沿箭头方向网格点的分布变密,如图3-23所示。

图3-23 线段3上的渐疏网格
依次选择视图中的其他线段,设置合理的网格点分布,如图3-24所示。

图3-24 创建的边界网格
(3)划分面网格。
选择Operation→Mesh
→Face
,进入面网格创建操作工具面板,如图3-25所示。

图3-25 面网格创建操作面板
选择计算域的面,系统中默认的网格类型为结构化网格,单击Apply按钮,观察网格的生成,如图3-26所示。

图3-26 结构化网格
保持网格类型为四边形,在操作工具面板的Type中选择网格生成方式为Pave,单击Apply按钮,观察网格的生成,如图3-27所示。

图3-27 非结构化四边形网格
选择Element类型为Tri,网格生成方式为Pave,单击Apply按钮,观察网格的生成,如图3-28所示。

图3-28 非结构化三角形网格
4.边界的定义
在Gambit中,用户可以先定义好各个边界条件的类型,具体的边界条件取值在FLUENT中确定。选择Operation→Zones
,打开Specify Boundary Types对话框,根据需要设定边界条件类型。
基本操作过程如下。
(1)添加一个边界条件。
按住Shift+左键选择要指定的边,并在Name中输入名称。
(2)指定边界条件的类型。
在Entity中选择对应类型的几何单元,单击Apply按钮添加,重复上述操作可以对每条边定义边界条件。
选择Entity类型为Edge。在视图中选择Edge1,在Name区域中输入Wall,选择Type为Wall,即定义Edge1的边界条件为固壁条件,取名为Wall。
选择Edge2,定义边界条件为压力入流条件(Pressure Inlet),命名为Inflow。
选择Edge4,定义边界条件为压力出流条件(Pressure Outlet),命名为Outflow。
选择Edge5、Edge6,定义边界条件为远场压力条件(Pressure Far-field),命名为Outflow1。
选择Edge3,定义边界条件为轴对称条件(Axis),命名为Axis。
5.保存和输出
执行File→Save as命令,在对话框中输入文件的路径和名称(注意:在Gambit中要向一个文本框中输入文字或数字,必须先在文本框中单击选中文本框)。
执行File→Export/Mesh命令,输入文件的路径和名称。只有选中Export2-D(X-Y)Mesh选项才可以输出二维的.msh文件,默认的文件路径为启动时指定的文件路径。