欢迎光临散文网 会员登陆 & 注册

gmsh软件的模型脚本文件.geo编写 (2)

2023-03-10 14:31 作者:上岸的小浣熊  | 我要投稿

       上期教程中,初步学习了 “ 点、线、面、体 ” 的生成方式,接下来继续学习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};

gmsh软件的模型脚本文件.geo编写 (2)的评论 (共 条)

分享到微博请遵守国家法律