############################################################## 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は :red:`あくまで変換コマンド` の様子. setOrder -> generate だと、 **1次要素のままなので要注意** . + 二回メッシュを切っているようなコンソール表示になる. ( meshing curve xxx order 2 などがでる. ) * 二次要素の確認について. + 2次要素であることを陽に確かめる手段は?(現状、知らない) + gmsh の見た目は変化しない. + command+"i" (Tools->Statistics) で、ノード数を調べると、ノード数は爆増している. + elmergrid で elmer mesh input (#2) に変換したり、 .msh を直接覗くと、たしかに要素種類は510になっており、一要素につき8ノードついてはいる. | ========================================================= 六面体要素の作成 ========================================================= * 六面体要素の生成方法は2つある 1. :red:`Recombine` キーワードを使って、回転 (revolve) や 引出 (extrude) のときに、何層に分割するか、などを指定して、ジオメトリを作成する. 2. :red:`subdivision` を六面体で指定する * 関連したオプションとして、以下がある. .. csv-table:: **六面体の生成コマンド** :header: "コマンド", "値", "効果" :widths: 20, 15, 30 :width: 800px "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 はあまり向いてない気がする.