Gmsh manual
작성자: dolljong@gmail.com
2020.5.3
- 소개 / 설치 / 실행
- 소개 : A three-dimensional finite element mesh generator with built-in pre- and post-processing facilities
- 특징 : Open source, GUI, 자체스크립트(geo), C++/ C / Python or Julia Application Programming Interface (API)를 이용할 수 있다.
- Download site : http://gmsh.info
- License : GNU General Public License (GPL)
- Getting start
- 마우스 기능
- 마우스를 엔티티 위에 가져가면 해당 엔티티의 정보를 보여준다.
- 왼쪽 버튼 드래그 : 3D 회전 (3D-Orbit)
- Ctrl-왼쪽 버튼 : 올가미(lasso) 줌
- 휠 드래그 : 위로 드래그: 축소, 아래로 드래그 : 확대
- 휠 굴리기 : 위로 굴리기 : 축소, 아래로 굴리기: 확대
- 오른쪽 버튼 드래그 : 팬
- Ctrl-오른쪽 버튼 : 리셋 디폴트 뷰
- 단축키
- Alt-A : 축 보여주기, Alt-A를 눌러 다양한 축보여주기 옵션을 선택할 수 있다.
- Alt-M : mesh 보이기 / 안보이기 toggle mesh display , 더블클릭 팝업메뉴
- 왼쪽하단버튼
- X : X축 상에서 보기
- Y : Y축 상에서 보기
- Z : Z축 상에서 보기
- : 회전하기
- 1:1 : zoom fit (AutoCAD zoom extents)
- S : 마우스 선택 on / off
- 모델 보기
- Geometry visibility
마우스 왼쪽 버튼을 더블 클릭하면 geometry visibility를 선택할 수 있다.
Points, Curves, Surfaces, Volumes를 보이거나 안보이게 할 수 있다.
Mesh visibility
마우스 왼쪽 버튼을 더블 클릭하면 Mesh visibility를 선택할 수 있다.
Nodes, 1D elements, 2D element edges, 2D element surface, 3D element edges, 3D element surfaces를 선택할 수 있다.
- 명령진행 순서
명령 -> 선택 순으로 이루어진다.
왼쪽 트리 메뉴에서 명령을 선택하면 마우스 커서 모양이 선택할 수 있도록 바뀐다.(화살표 모양 -> 십자모양)
->
- Geometry 그리기
- Point : x,y,z 좌표 입력
- Line : select start point -> end point -> start point
- Circle : center point x,y and radius, angle 1 시작각, angle 2 끝각. Arc를 그릴 수 있다.
- Circle arc : select start point -> center point -> end point
- Plane surface : 면 만들기, 폐곡선들 선택
- Reload script : script를 reload한다.(mesh를 없애고 geometry만 보임)
- Extrude
Tree menu / Geometry / Elementry entities / Extrude
-DX, DY, DZ : 어느 방향으로 얼만큼 extrude할 것인지 설정.
-Extrude mesh : extrude할 때 mesh를 만들면서 extrude할 것인지? ON인 경우 mesh layers가 적용된다. 즉 extrudge하면서 몇개의 mesh layer를 만들 것인지 설정 가능.
-Selection mode에서 extrude할 geometry 종류를 선택한다.
- Geometry 지우기
Tree menu / Geometry / Elementary entities / Delete
Recursive : 하위
- Mesh 크기 조정하기
두가지 방법이 있다. 결과는 같다 첫번째 방법은 tools메뉴의 options를 이용하는 방법이다.
-tools/options/mesh/general/element size factor :
-tools/options/mesh/general/smoothing step : 가장 작은 사이즈와 가장 큰 사이즈의 비
두번째는 화면을 더블클릭하면 나타나는 팝업메뉴의 Global mesh size factor를 이용하는 방법이다. 첫번째 방법에 비해서 간단한 설정만 가능하다. 테스트 결과 Global mesh size factor는 option의 Element size factor와 동일하다는 것을 알 수 있었다.
물론 extrude시 extrude mesh를 선택했다면 여기서 설정한 mesh size factor는 적용되지 않는다.
- mesh 순서
Gmsh는 1차원 -> 2차원 -> 3차원 순서로 mesh를 진행해야 한다. 1D : 선을 나눈다, 2D : 면을 나눈다, 3D : solid를 만든다.
- Refine by splitting
한번 누를 때마다 2배로 refine된다. 반대 기능은 없는 것으로 보인다. 원래 정의했던 1D의 분할 크기 등이 바뀌는 것은 아니다.
- Clipping [tools/clipping]
Cut with the plane A*X + B*Y + C*Z + D
- Undo
Gmsh는 GUI환경에서 Undo기능을 직접 지원하지 않는다. 사용자가 Undo를 하기 위해서는 Edit script를 실행해서 해당 명령을 삭제한 후 Reload script를 실행하면 된다. Gmsh는 geo파일에 사용자의 명령을 모두 script로 저장한다. 따라서 이 파일을 조작하면 원하는 결과를 얻을 수 있다.
- Test : 여러가지 기능을 테스트해본 결과
- Mesh를 하면 surface가 남아있나?
Mesh를 진행한 후 abaqus inp로 export해본 결과 T2D2(line),CPS3(3각형 plate), CPS4(사각형 plate), C3D6(6-node wedge) element가 생성된 것을 확인할 수 있었다. 또한 gmsh의 geometry이름이 abaqus의 ELSET으로 설정된 것을 확인할 수 있었다. Solide만으로 mesh를 만들기 위해서는 Export하기 전에 surface를 삭제하는 것이 좋다. 물론 surface를 포함해서 inp를 만든 후 surface element를 삭제해도 된다.
- 메뉴
- File
- New (Ctrl+N)
- Open (Ctrl+O)
읽기 지원 포맷
- Geometry - Gmsh GEO (*.geo)
- Geometry - OpenCASCADE BRep (*.brep)
- Geometry - OpenCASCADE IGES (*.igs, *.iges)
- Geometry - OpenCASCADE STEP (*.stp, *.step)
- Mesh - Gmsh MSH (*.msh)
- Mesh - Diffpack 3D (*.diff)
- Mesh - I-deas Universal (*.unv)
- Mesh - MED (*.med, *.mmed)
- Mesh - INRIA Medit (*.mesh)
- Mesh - Nastran Bulk Data File (*.bdf;*.nas)
- Mesh - Plot3D Structured Mesh (*.p3d)
- Mesh - STL Surface (*.stl)
- Mesh - VTK (*.vtk)
- Mesh - VRML Surface (*.wrl; *.vrml)
- Mesh - PLY2 Surface (*.ply2)
- Pos-processing - Gmsh POS (*.pos)
- Pos-processing - MED (*.rmed)
- Image - BMP (*.bmp
- Image - JPEG (*.jpg;*.jpeg)
- Image - PBM (*.pbm)
- Image - PGM (*.pgm)
- Image - PNG (*.png)
- Image - PNM (*.pnm)
- Image - PPM (*.ppm)
- Merge (Ctrl+Shift+O)
- Watch pattern
- Clear
- Rename (Ctrl+R)
- Delete
- Remote
- Start..
- Merge..
- Clear
- Stop
- Save mash (Ctrl+Shift+S)
- Save model Options (Ctrl+J)
- Save Options As Default (Ctrl+Shift+J)
- Export (Ctrl+E)
File / export 내보내기 파일형식
- Geometry - Gmsh Options(*.opt)
- Geometry - Gmsh Unrolled GEO (*.geo_runrolled)
- Geometry - OpenCASCADE STEP (*.step)
- Geometry - OpenCASCADE BRep (*.brep)
- Mesh - Gmsh MSH (*.msh)
- Mesh - Abaqus INP (*.inp)
- Mesh - LSDYNA KEY (*.key)
- Mesh - CELUM (*.celum)
- Mesh - CGNS (Experimental) (*.cgns)
- Mesh - Diffpack 3D (*.diff)
- Mesh - I-deas Universal (*.unv)
- Mesh - Iridum (*.ir3)
- Mesh - MED (*.med)
- Mesh - INRIA Medit (*.mesh)
- Mesh - CEA Triangulation (*.mail)
- Mesh - Matlab (*.m)
- Mesh - Nastran Bulk Data File (*.bdf)
- Mesh - Plot3D Structured Mesh (*.p3d)
- Mesh - STL Surface (*.stl)
- Mesh - VRML Surface (*.wrl)
- Mesh - VTK (*.vtk)
- Mesh - Tochnog (*.dat)
- Mesh - PLY2 Surface (*.ply2)
- Mesh - SU2 (*.su2)
- Mesh - GAMBIT Neutral File (*.neu)
- Post-processing - Gmsh POS (*.pos)
- Post-processing - X3D (X3D) (*.x3d)
- Post-processing - MED (*.rmed)
- Post-processing - Generic TXT (*.txt)
- Post-processing - Mesh Statistics (*.pos)
- Post-processing - Adapted data (*.pvtu)
- Image - Encapsulated PosScript (*.eps)
- Image - GIF (*.gif)
- Image - JPEG (*.jpg)
- Image - LaTeX (*.tex)
- Image - PDF (*.pdf)
- Image - PNG (*.png)
- Image - PGF (*.pgf)
- Image - PostScript (*.ps)
- Image - PPM (*.ppm)
- Image - SVG (*.svg)
- Image - TIKZ (*.tikz)
- Image - YUV (*.yuv)
- Movie - MPEG (*.mpg)
- Quit (Ctrl-Q)
- Tools
- Options (Ctrl+Shift+N)
- Nodes, 1D elements, 2D elements edges, 2D elements faces, 3D elements edges, 3D elements faces 선택가능.
- Node labels, 1D elements labels, 2D elements labels, 3D elements labels 선택가능.
- Label type은 아래 그림과 같이 선택할 수 있다.
| - Node/element tag - Elementary entity tag - Physical group tag(s) - Mesh partition - Coordinates |
-Element shrinking factor : element를 얼마나 줄여서 보여줄 것인지?
-Point display : [Color dot | 3D sphere] point를 점으로 보여줄 것인지 구로 보여줄 것인지?
-Point size : 점의 크기
-Line width : 선굵기
-High-order element subdivisions : ??
- Plugins (Ctrl+Shift+U)
- Visibility (Ctrl+Shift+V)
- Clipping (Ctrl+Shift+C)
- Manipulator (Ctrl+Shift+M)
- Statistics (Ctrl+I)
- Message Console (Ctrl+L)
- Window
- New Window
- Copy to Clipboard (Ctrl-C)
- Split Horizontally
- Split Vertically
- Unsplit
- Minimize (Ctrl+M)
- Zoom
- Enter Full Screen (Ctrl+D)
- Attach/Detach Menu (Ctrl+D)
- Bring All to Front
- Help
- Online Documentation
- Keyboard and Mouse Usage (Ctrl+H)
- Current Options and Workspace (Ctrl+Shift+H)
- Restore all Options to Default Settings
- About Gmsh