gmsh軟件的模型腳本文件.geo編寫 (2)

? ? ? ?上期教程中,初步學(xué)習了 “ 點、線、面、體 ” 的生成方式,接下來繼續(xù)學(xué)習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 函數(shù)的輸出,out[ ] = Extrude { }; ,平移、旋轉(zhuǎn)等結(jié)束時的平面存放在 out[0] 中,形成的 " 體 " 存放在 out[1] 中,其余側(cè)面存放在 out[2]、out[3] ......中
3? 刪除
? ? ? ?使用 Delete 刪除已創(chuàng)建的 “點” “線” “面” “體”。例如:Delete{ Surface{1}; Curve{2}; }
4? 宏
4.1? 創(chuàng)建宏
? ? ? ?通過定義 “點” “線” “面” “體” 的宏,可以快捷的按照宏模式進行創(chuàng)建,在模型數(shù)據(jù)較多、規(guī)律相同時比較實用。定義方式: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? 使用宏
? ? ? ?對于上面的宏,我們可以通過循環(huán)結(jié)構(gòu)改變 x、y、z、r 的值創(chuàng)建不同的平面。調(diào)用時使用:Call?CheeseHole;? 并用 Surface( “ 循環(huán)變量 ” ) =? thehole;儲存輸出結(jié)果。
? ? ? ?for 循環(huán)的使用方法: For?t?In {1:5}? ........? ?EndFor
5? 平滑
? ? ? ?可以通過 Mesh.Smoothing 指令對網(wǎng)格進行平滑,例如:Mesh.Smoothing = 100; 。
6? 網(wǎng)格類型
? ? ? ?Gmsh 默認生成的是三角形網(wǎng)格,如果想生成四邊形網(wǎng)格,可以在平面或閉合曲面上使用Recombine 函數(shù),例如:Recombine Surface{1};