gmsh學習 基礎

2021-06-18 12:54:39 字數 3984 閱讀 1884

滑鼠操作

左鍵       旋轉、選擇。

ctrl+左鍵 套索縮放或開始套索選擇/取消選擇

中鍵       縮放、取消選擇、接受套索縮放或套索取消選擇

ctrl+中鍵 正交顯示

右鍵       平移,取消套索縮放或套索選擇/取消選擇,彈出後處理選單

ctrl+右鍵 重新設定預設檢視(誤操作後恢復檢視用)

指令碼

指令碼使用c和c++風格注釋。

兩種常數型別,real和string,沒有整數型別。

使用者定義函式沒有引數,call語句等價於在呼叫位置插入語句,函式中可以包含任意gmsh命令,用return命令結束定義。gmsh指令碼的缺點是所有變數全域性可見。

網格劃分

目前2d無結構網格有3種演算法,3d無結構網格有2種演算法。所有的2d無結構演算法先用所有1d網格的點構造delaunay網格,丟失的邊用edge swaps演算法恢復,經過這步初始步驟後可以選擇3種演算法生成網格,這3種演算法評價如下

穩定性 效能 單元質量

meshadapt    1         3         2

delaunay           2         1         2

frontal               3         2         1

複雜曲面生成網格最好選擇meshadapt,而生成網格質量重要時可以用frontal演算法,生成大規模平面網格時delaunay演算法最快。

3d網格演算法有「tetgen+delaunay」和「netgen」,前一種演算法穩定且最快,但是這個演算法有時修改表面網格,因此不適合生成混合網格和無結構網格,此時需要用netgen演算法,兩種演算法網格質量差不多,如果單元質量比較重要應該用優化演算法進行優化。

檔案格式

msh格式儲存網格和相關的後處理資料,可以是文字格式或二進位制格式。

$meshformat中為附加資訊,後面有節點$nodes、單元$elements、region名稱$physicalname、後處理資料($nodedata,$elementdata,$elementnodedata)。

非關鍵字開頭的部分被忽略,因此可以在類似$comments/$endcomments部分加入注釋。

各部分可以重複,後處理部分可以放入單獨的乙個或多個檔案。 例子

$meshformat

2.0 0 8               版本2.0,檔案型別(0ascii格式),浮點數位元組數8

$endmeshformat

$nodes

6                     6個節點

1 0.0 0.0 0.0         節點1座標(0.0, 0.0, 0.0)

2 1.0 0.0 0.0         節點2座標(1.0, 0.0, 0.0)

3 1.0 1.0 0.0         。。。

4 0.0 1.0 0.0

5 2.0 0.0 0.0

6 2.0 1.0 0.0

$endnodes

$elements

2                     2個單元

1 3 2 99 2 1 2 3 4    單元1:型別3,physical 99, elementary 2, 節點 1 2 3 4

2 3 2 99 2 2 5 6 3    單元2:型別3,physical 99, elementary 2, 節點 2 5 6 3

$endelements

$nodedata

1                     乙個字串tag

"a scalar view"       view名稱("a scalar view")

1                     乙個實數tag

0.0                   the time value (0.0)

3                     3個整數tag

0                     the time step (0; time steps always start at 0)

1                     1-component (scalar) field

6                     six associated nodal values

1 0.0                 value associated with node #1 (0.0)

2 0.1                 value associated with node #2 (0.1)

3 0.2                 etc.

4 0.0

5 0.2

6 0.4

$endnodedata

支援的單元型別

1 2節點線

2 3節點三角形

3 4節點四邊形quadrangle

4 4節點四面體tetrahedron

5 8節點六面體hexahedron

6 6節點稜柱prism

7 5節點金字塔pyramid

8 3節點二階線(2節點在兩端,1節點在邊上)

9 6節點二階三角形(3個在頂點,3個在邊上)

10 9節點四邊形

11 10節點四面體

12 27節點六面體

13 18節點稜柱(6個頂點,9個在邊上,3個在四邊形面上)

14 14節點金字塔(5個頂點,8個在邊上,1個在四邊形面上)

15 1節點的點

16 8節點四邊形

17 20節點六面體

18 15節點稜柱(6個頂點,9個在邊上)

19 13節點金字塔(5個頂點,8個在邊上)

20 9節點三階不完全(?)三角形(3節點在頂點,6個在邊上)

21 10節點三階三角形(3節點在頂點,6個在邊上,1個在面上)

22 12節點四階不完全三角形(3節點在頂點,9個在邊上)

23 15節點四階三角形(3節點在頂點,9個在邊上,3個在面上)

24 15-node fifth order incomplete ******** (3 nodes associated with the vertices, 12 with the edges)

25 21-node fifth order complete ******** (3 nodes associated with the vertices, 12 with the edges, 6 with the face)

26 4-node third order edge (2 nodes associated with the vertices, 2 internal to the edge)

27 5-node fourth order edge (2 nodes associated with the vertices, 3 internal to the edge)

28 6-node fifth order edge (2 nodes associated with the vertices, 4 internal to the edge)

29 20節點三階四面體(4 nodes associated with the vertices, 12 with the edges, 4 with the faces)

30 35節點四階四面體(4 nodes associated with the vertices, 18 with the edges, 12 with the faces, 1 in the volume)

31 56節點五階四面體(4 nodes associated with the vertices, 24 with the edges, 24 with the faces, 4 in the volume)

20090712 add

包括建立3d模型 gmsh_3d.mov

後處理操作 gmsh_postpro.mov

Gmsh的網格剖分模組

第6章 網格剖分模組 gmsh的網格剖分模組集中了幾種1維,2維,3維的網格剖分演算法,他們都能產生適合於有限元的網格 2維的非結構化演算法產生三角單元或者三角單元與四方形 當使用拼接曲面時 3維的非結構化演算法產生四面體單元。3維的結構化演算法 超限或拉伸 預設產生三角單元,但是通過recombi...

機器學習基礎 機器學習基礎引入

機器學習 是人工智慧的核心研究領域之一,其最初的研究動機是為了讓計算機系統具有人的學習能力以便實現人工智慧。事實上,由於 經驗 在計算機系統中主要是以資料的形式存在的,因此機器學習需要設法對資料進行分析,這就使得它逐漸成為智慧型資料分析技術的創新源之一。機器學習是構建複雜系統的一種方法,也許依靠我們...

機器學習基礎學習筆記 機器學習基礎介紹

概念 多領域交叉學科,設計概率論 統計學 逼近論 凸分析 演算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。學科定位 人工智慧 artificial intelligence,ai 的核心,是是計算機具有智慧型...