gmsh软件的模型脚本文件.geo编写 (2)
上期教程中,初步学习了 “ 点、线、面、体 ” 的生成方式,接下来继续学习Gmsh中 .geo 脚本文件的编写。
1 曲线
比较常用的是圆弧和样条曲线两种。
1.1 圆弧
3点画弧,使用方式为 Circle(1) = {14,15,16}; 表示1号圆弧,起点为14号点,圆心为15号点,终点为16号点。
1.2 样条曲线
使用方式为:Spline(1) = {7, 5, 9}; 表示由7号、5号、9号三个点所拟合的样条曲线,要注意输入点的先后顺序。
2 输出
Extrude 函数的输出,out[ ] = Extrude { }; ,平移、旋转等结束时的平面存放在 out[0] 中,形成的 " 体 " 存放在 out[1] 中,其余侧面存放在 out[2]、out[3] ......中
3 删除
使用 Delete 删除已创建的 “点” “线” “面” “体”。例如:Delete{ Surface{1}; Curve{2}; }
4 宏
4.1 创建宏
通过定义 “点” “线” “面” “体” 的宏,可以快捷的按照宏模式进行创建,在模型数据较多、规律相同时比较实用。定义方式:Macro CheeseHole........Return,给出变量名:newp (点)、newl (线)、news (面) 等。示例如下:
Macro CheeseHole
p1 = newp; Point(p1) = {x, y, z, lcar3};
p2 = newp; Point(p2) = {x+r,y, z, lcar3};
p3 = newp; Point(p3) = {x, y+r,z, lcar3};
l1 = newl; Line(l1) = {p1,p2};
l2 = newl; Line(l2) = {p2,p3};
l3 = newl; Line(l3) = {p3,p1};
l1 = newcl; Curve Loop(l1) = { l1, l2, l3 };
s1 = news; Surface(s1) = {l1};
Return
4.2 使用宏
对于上面的宏,我们可以通过循环结构改变 x、y、z、r 的值创建不同的平面。调用时使用:Call CheeseHole; 并用 Surface( “ 循环变量 ” ) = thehole;储存输出结果。
for 循环的使用方法: For t In {1:5} ........ EndFor
5 平滑
可以通过 Mesh.Smoothing 指令对网格进行平滑,例如:Mesh.Smoothing = 100; 。
6 网格类型
Gmsh 默认生成的是三角形网格,如果想生成四边形网格,可以在平面或闭合曲面上使用Recombine 函数,例如:Recombine Surface{1};

