gmsh python-APIの機能について¶
オプションの指定¶
gmsh 上のオプションの設定は次のコマンド.:
gmsh.option.setNumber( "option名", 数値 ) gmsh.option.setString( "option名", string )
例えば、:
gmsh.option.setNumber( "Mesh.Algorithm", 6 )
gmsh の機能を有効化したり、メッシュを調整するのは、ほぼオプションでコントロールするので重要.
2次要素の作成¶
2次要素生成のコマンドは次.( 順序に注意 )
gmsh.model.mesh.generate(3) gmsh.model.mesh.setOrder(2) gmsh.write( "model.msh" )
setOrderは あくまで変換コマンド の様子. setOrder -> generate だと、 1次要素のままなので要注意 .
二回メッシュを切っているようなコンソール表示になる. ( meshing curve xxx order 2 などがでる. )
二次要素の確認について.
2次要素であることを陽に確かめる手段は?(現状、知らない)
gmsh の見た目は変化しない.
command+"i" (Tools->Statistics) で、ノード数を調べると、ノード数は爆増している.
elmergrid で elmer mesh input (#2) に変換したり、 .msh を直接覗くと、たしかに要素種類は510になっており、一要素につき8ノードついてはいる.
六面体要素の作成¶
六面体要素の生成方法は2つある
Recombine キーワードを使って、回転 (revolve) や 引出 (extrude) のときに、何層に分割するか、などを指定して、ジオメトリを作成する.
subdivision を六面体で指定する
関連したオプションとして、以下がある.
¶ コマンド
値
効果
Mesh.SubdivisionAlgorithm
0 (無し), 1 (四面体)、2 (六面体)
各要素に一度切ったメッシュを再分割する.
Mesh.RecombineAll
0(しない)、1(する)
面要素のRecombinationをするか
Mesh.Recombine3DAll
0(しない)、1(する)
体積要素のRecombinationをするか
transfinite について¶
各線をそれぞれN分割する指定みたいなのを延々とやる.
不勉強だが、うまくいかないことも多い.
volume毎にかんたんにやるルーチンを組めるか?
結論、そのままでは使いづらいし、うまく行かないことも多かった.
結論、gmsh はあまり六面体は得意じゃない¶
流体計算に gmsh はあまり向いてない気がする.