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つある

    1. Recombine キーワードを使って、回転 (revolve) や 引出 (extrude) のときに、何層に分割するか、などを指定して、ジオメトリを作成する.

    2. subdivision を六面体で指定する

  • 関連したオプションとして、以下がある.

    六面体の生成コマンド

    コマンド

    効果

    Mesh.SubdivisionAlgorithm

    0 (無し), 1 (四面体)、2 (六面体)

    各要素に一度切ったメッシュを再分割する.

    Mesh.RecombineAll

    0(しない)、1(する)

    面要素のRecombinationをするか

    Mesh.Recombine3DAll

    0(しない)、1(する)

    体積要素のRecombinationをするか


Recombineについて

  • 面倒.

  • .stepに関しては、適用されない ( RecombineAllも変化なし )

  • 結論、あまり使えない (使いたいとは思えない)


subdivisionアルゴリズムについて

  • かんたん.

  • クオリティが低い.( とても褒められたメッシュは生成されない )

  • 結論、あまり使えない? (CAEの収束をみないと、判断不可)


transfinite について

  • 各線をそれぞれN分割する指定みたいなのを延々とやる.

  • 不勉強だが、うまくいかないことも多い.

  • volume毎にかんたんにやるルーチンを組めるか?

  • 結論、そのままでは使いづらいし、うまく行かないことも多かった.


結論、gmsh はあまり六面体は得意じゃない

  • 流体計算に gmsh はあまり向いてない気がする.