Gmsh で OpenFOAM 用メッシュを作る2015年11月22日 | |
はじめにGmsh を使って OpenFOAM 用メッシュを作ってみる。 使用バージョンGmsh 2.11.0 Windows 版 ファイルサンプル STL ファイル mixing_elbow.stl.gz (FreeCAD で作成) Gmsh で STL からメッシュを作る以下のような ".geo" ファイルを用意する。 mixing_elbow.geo Merge "mixing_elbow.stl"; CreateTopology; ll[] = Line "*"; For i In {0: #ll[]-1} Compound Line(newl) = ll[i]; EndFor ss[] = Surface "*"; s = news; For i In {0 : #ss[]-1} Compound Surface(s+i) = ss[i]; EndFor Surface Loop(1) = {s : s + #ss[] - 1}; Volume(1) = {1}; Physical Surface ("in1") = {s}; Physical Surface ("in2") = {s+1}; Physical Surface ("out") = {s+2}; Physical Surface ("side") = {s+3}; Physical Volume ("fluid") = {1}; Mesh.CharacteristicLengthMin = 0.; Mesh.CharacteristicLengthMax = 0.002; Geometry.HideCompounds = 0; "Merge" で STL を取り込んでいる。"Compound Line", "Compound Surface" は、STL のラインやサーフェイスからまとまったラインとサーフェイスを作る。こうしないと、メッシュ分割がもとの STL のパッチに依存してしまう。その後にボリュームを作り、サーフェイスとボリュームに名前を付け、最後にメッシュサイズを指定している。 Gmsh を起動し、メニュー [File]-[Open...] で ".geo" ファイルを読み込む。ツリーの [Mesh]-[Define]-[3D] を押すとメッシュが作成される。メッシュができたら、続けて [Optimize 3D (Netgen)] を押す。 STL の線が邪魔な場合は、メニュー [Tools]-[Visibility] の [List browser] で表面を見えなくすればよい。 メニュー [File]-[Save Mesh] で ".msh" ファイルが保存される。 できたメッシュ。 ![]() 変換gmshToFoam で OpenFOAM 用メッシュに変換する。 $ gmshToFoam mixing_elbow.msh | |
PENGUINITIS |