文章目录
  1. 1. 几何绘制
    1. 1.1. Connect / Disconnect的用法
    2. 1.2. 导入几何图形
    3. 1.3. Form Face的用法
    4. 1.4. 杂项问题
  2. 2. 网格划分
    1. 2.1. Link / Dislink的用法
    2. 2.2. Mesh的用法
    3. 2.3. Boundary Layer的设置
    4. 2.4. 杂项问题
  3. 3. 单元/边界类型设定
  4. 4. 脚本用法
    1. 4.1. 基础语法
    2. 4.2. 逻辑控制
    3. 4.3. 命令

学习GAMBIT时的一些问题。

几何绘制

Connect / Disconnect的用法

以二维为例,在通过Split操作用线或面将面分隔开时,产生的两个面默认是保持网格连续性的,也就是说他们共用一条(或几条)边。对他们的共用边使用Disconnect Edges,可以将共用边拆成(部分)重合的两条,不再保持网格连续。放过来可以用Connect Edges连接两个面,这会删除重合边中的一条。相比之下,Merge Faces会完全删除公共边,而此法会留下边,可用于分块划分网格。

导入几何图形

以二维为例,在CAD软件中绘制好曲面(而不仅是线框)之后,导出.igs文件,即可导入GAMBIT。

Form Face的用法

绘制平面十分简单,绘制曲面可使用额外的选项:

  • Initial Face:参照面,绘制的面会尽量与其保持曲率一致
  • Guide Edges:指定必须经过的边
  • Guide Vertices:指定必须经过的点

杂项问题

命令 用法
Smooth/Heal 自动修复有问题的几何特征
Convert(Nonreal to Real) 将虚几何元素转化为实几何元素

网格划分

(不确信的内容)应该是指将拓扑特征相似的两个图形进行关联,之后对其中一个划分网格时会自动给另一个也划分网格,要求两图形边数/面数相同,此外为了确定网格形态还需要指定参照点、参照方向。

Mesh的用法

  • Mesh Edges中,可以通过调节Ratio调节线网格偏置

  • Mesh Faces中,可选的单元形状有四边形/三角形/混搭,网格类型有Map正规形,Submap分块正规形,Pave无规形。前两者只适用于近四边形的简单形状,一般采用Pave

  • Mexh Volumns中,可选的单元形状有Hex六面体/Hex + Wedge六面体+楔形/Tet + Hybrid四面体+六面体+四棱锥+楔形,网格类型众多,主要有Map, SubmapCooper根据指定的“源”面扫掠,TGrid各种单元混搭,Hex Core中心为六面体单元,周围异形部分为混搭。

三维的格子能画出来就不错了

Boundary Layer的设置

设定从边界向内部厚度等比变化的多层网格,以下四个参数需设定三个:

  • First row第一层厚度
  • Growth factor厚度比
  • Rows层数
  • Depth总厚度

而第一层网格长度需要先用对边分网格的方法定好。此外,如果将Algorithm选为Aspect ratio(first),则等比的不是厚度,而是长厚比。

杂项问题

命令 用法
Move Face Nodes 选择面内的网格节点并进行拖动,如果勾选smooth周边网格也会随之变化
Split Quad Meshes 将四边形网格变为三角形网格
Split Meshed Face 将选择的网格面按照若干网格节点连成的折线分成两个虚拟面
Set Face Vertex Type 设置某个面上某点附近的网格形态(影响网格节点的数量、网格边的夹角等),例如End外凸顶点,Corner内凹顶点
Modify (不确信的内容)主要用于Face,很少用于Volume。主要用于曲面上,根据设置的网格边角度范围,将网格边转化为拓扑曲面片

单元/边界类型设定

单元类型包括:FLUID流体,SOLID固体。

常用边界类型包括:

类型 意义 意义及在Fluent中需要指定的参数
WALL 壁面 可指定切向速度分量和热边界条件
AXIS 必须与X轴重合,无条件
MASS_FLOW_INLET 质量入口 指定流入质量流速,不可压流中可用速度入口代替
VELOCITY_INLET 速度入口 指定流入流速
PRESSURE_INLET 压力入口 指定流入口的总压
OUTFLOW 出口 模拟前未知情况的出口,不可用于可压流动
PRESSURE_OUTLET 压力出口 指定流出口的静压
INTERIOR,INTERNAL 内部界面 划分网格等使用的辅助面,一个面,两侧网格匹配
INTERFACE 界面 配对的两个面,在不同的网格间交换信息
SYMMETRY 对称 对称关系,意味着法向速度为0,各物理量梯度为0,也可用于粘性流动中的零剪切壁面/自由表面

脚本用法

GAMBIT在保存文件时会生成同名的.jou文件,也就是脚本文件。可以通过File -> Run Journal运行。另外,可以通过File -> Clean Journal清理脚本,去除无意义的代码。

基础语法

变量类型基本上只有String, Integer, Real,各种对象的label其实都是个字符串。

变量声明:

1
$length = 0.1

列表声明:

1
2
3
4
declare $points[1 : 3]
$points[1] = 1.0
$points[2] = 0.0
$points[3] = 0.0

支持的数学符号:+ - * / ^,以及大量数学函数。

支持的关系、逻辑算符:

1
2
符号   .gt.   .ge.   .lt.   .le.   .eq.   .ne.   .and.   .or.   .not.
含义 > >= < <= == != and or not

/开头的行被认为是注释。

其他详见此页面https://www.sharcnet.ca/Software/Gambit/html/users_guide/ug0b.htm#exp

逻辑控制

if语句,没有else if选项,不过可以手动嵌套:

1
2
3
4
5
if cond (X)       / X: 返回布尔值的表达式
COMMANDS /
[else / 可选
COMMANDS] /
endif /

do循环,其实混合了for循环和do循环:

1
2
3
4
do para "$P" [init I] cond (X) [incr N]  / $P: 循环计数变量,必须预先声明过
COMMANDS / I: $P的起始值,默认为1
enddo / X: 表达式, 为false时即结束循环
/ N: 增量步长

在do循环中也可以使用breaknext

命令

一般来说命令格式为:

1
2
3
Operator [Keyword [Variables]]   / Operator一般为两个单词,表示操作,如vertex reflect
[Keyword [Variables]] / Keyword也就是GUI界面中的各种选项,分必选和可选
[Keyword [Variables]] / Variables参数

具体的很复杂,实际上就看看录制出来的.jou文件学习一下就行,具体参考见https://www.sharcnet.ca/Software/Gambit/html/command_reference/crtoc.htm

文章目录
  1. 1. 几何绘制
    1. 1.1. Connect / Disconnect的用法
    2. 1.2. 导入几何图形
    3. 1.3. Form Face的用法
    4. 1.4. 杂项问题
  2. 2. 网格划分
    1. 2.1. Link / Dislink的用法
    2. 2.2. Mesh的用法
    3. 2.3. Boundary Layer的设置
    4. 2.4. 杂项问题
  3. 3. 单元/边界类型设定
  4. 4. 脚本用法
    1. 4.1. 基础语法
    2. 4.2. 逻辑控制
    3. 4.3. 命令