さつまろぐ

CAEとかプログラムとか、出来たことの記録など、誰かのお役に立てれば幸い。

Gmshで物理グループを設定する

Gmshで物理グループ(Physical groups)を設定します。

物理グループとは

モデルを構成する任意の要素(点、線、面、体積)に名前を付けることで、メッシュを作成した際にその要素を構成する要素(三角形要素や四角形要素、ノード)を、1つのグループとして扱うことができるようになります。その結果、ソルバーでの境界条件などの設定が非常に行いやすくなります。 物理グループは、設定しなくても解析を行うことは可能ですが、そこに発生する作業量を考えると必須の設定と言えます。

実際に設定してみる

下図のような梁の問題を考えます。ここでは、① 壁側に相当する面の拘束、② 荷重を負荷する辺、の2ヵ所に物理グループを設定します。

f:id:satsuma4801:20200924022132p:plain
梁の問題 ①面の拘束 ②辺への荷重

  • 面の設定

まず面に名前を付けてみます。順番は面、辺のどちらが先でも構いません。

  1. モジュールから[Modules]-[Geometry]-[Physical groups]-[Add]-[Surface]を選択。
  2. 入力画面が出るので、物理グループ名を付ける。(ここでは「Fix」)
  3. 設定したい面を選択し(破線が赤くなる)、キーボード「e」を押す。

これで選択した面に「Fix」という名前が設定されました。

f:id:satsuma4801:20200924023649p:plain
面の設定

  • 辺の設定

次に辺に名前を付けてみます。手順は面と同じです。

  1. モジュールから[Modules]-[Geometry]-[Physical groups]-[Add]-[Curve]を選択。
  2. 入力画面が出るので、物理グループ名を付ける。(ここでは「Load」)
  3. 設定したい線を選択し(線が赤くなる)、キーボード「e」を押す。

これで選択した辺に「Load」という名前が設定されました。

f:id:satsuma4801:20200924023736p:plain
辺の設定

点と体積も、最初に「Point」「Volume」を選べば、同様の手順で設定できます。

設定の確認

設定された物理グループを確認してみます。

  1. メニューバーから[Tools]-[Visibility]を選択。
  2. Visibility画面が出るので、「Tree」タブを選択。
  3. [Gmsh]から現在表示されているモデル(Current Model)の中の[Physial groups]を選択した状態(青)にする。
  4. 「Apply」ボタンを押す。

f:id:satsuma4801:20200927164725p:plain
物理グループに設定した要素のみを表示する

これで画面上には、物理グループを設定した要素のみが表示されます。下図では、上記で設定した面と辺のみが表示された状態となり、物理グループが設定できていることが確認できました。

f:id:satsuma4801:20200927164814p:plain
物理グループに設定した面と線のみが表示された

表示を元に戻すには、先ほどのVisiblityの画面で、Current Modelを選択し、「Apply」を押すことでモデル全体が表示されるようになります。

f:id:satsuma4801:20200927164847p:plain
現在表示されているモデルを選択して全体を表示する

.geoファイル上での扱い

.geoファイルを覗いてみると、今回行った面と線の設定は、下記のコマンドとして記録されています。

Physical Surface("Fix") = {1};    //表面1を物理表面「Fix」に設定する
Physical Curve("Load") = {12};    //線12を物理曲線「Load」に設定する

グループ名や設定する要素の修正は、この行を修正し再読込すれば楽なようです。

以上がGmshでの物理グループの設定方法となります。Gmshで設定するのはあくまでもグループ分けであり、拘束面にどのような拘束をかけるか、荷重はどの方向にどれくらいの力をかけるか、などはソルバーへの入力で設定する内容となります。具体的な手順は別途作成しようと思います。


上記は、私がネットの情報やマニュアルを調べたり試行錯誤した上で、「こうやったらできた」というものであり、スマートな方法ではないかも知れません。内容に誤りや、「もっとこうしたほうがいい」という点がありましたら、コメントにて指摘いただければ幸いです。

広告