enGrid で OpenFOAM 用メッシュを作る

2010年8月3日

はじめに

enGrid を使って OpenFOAM 用メッシュを作ってみる。サーフェイスメッシュの作成には Netgen を使う。

使用バージョン

enGrid 1.0 Windows 版, Netgen 4.9.13 Windows 版

ファイル

サンプル STL ファイル

mixing_elbow.stl.gz

Netgen でサーフェイスメッシュを作る

モデルの読み込み

  1. Netgen を起動。
  2. メニュー [File]-[Load Geometry...] で STL ファイルを読み込む。

メッシュの作成

  1. メニュー [Mesh]-[Analyze Geometry]
  2. メニュー [Mesh]-[Mesh Surface]
  3. メニュー [Mesh]-[Optimize Surface]
  4. メニュー [Mesh]-[Surface Optim. Step]-[Mesh Smoothing]

メッシュの細分化

  1. メニュー [Refinement]-[Refine uniform]
  2. メニュー [Mesh]-[Optimize Surface]
  3. メニュー [Mesh]-[Surface Optim. Step]-[Mesh Smoothing]

STL ファイルの出力

  1. メニュー [Mesh]-[Save Mesh...] でメッシュを保存。
  2. メニュー [File]-[Export Filetype] から "STL" を選択。
  3. メニュー [File]-[Export Mesh...] で STL ファイルを出力。

Netgen 終了。

enGrid でメッシュを作る

モデルの読み込み

  1. enGrid を起動。
  2. メニュー [Import]-[STL] で STL ファイル (もちろん Netgen で書き出したほう) を読み込む。

境界の設定

  1. モデルの境界 (サンプルモデルであれば円形の部分など) にカーソルを合わせてキーボードの "p" を押す。境界上に赤い丸が表示されたら、その部分が選択されたことになる。
  2. メニュー [Mesh]-[set boundary code] で "boundary code" に境界の番号を設定する。設定すると境界が画面から消える。
  3. 以上の要領で境界全部に番号を設定する。
  4. メニュー [Tools]-[edit boundary conditions] でそれぞれの境界に名前を付ける ("BC-name" の列のセルをクリックしてキー入力をする)。

メッシュの作成

  1. メニュー [Mesh]-[create prismatic boundary layer] で境界層メッシュを作成する境界 (サンプルモデルの場合は側面) の番号にチェックを入れて [OK] ボタンを押す。
  2. 左のテキスト画面にメッセージが流れる。終わるまで待つ。
  3. 画面の右側にあるチェックボックスで、"surface elements" の "enable" のチェックをはずし、"volume elements" の全項目にチェックを入れて、一番下の [redraw] ボタンを押す。メッシュが表示される。

できたメッシュ。

境界層部分は 1 層しかないので、これを細分化する。

その前に、データを保存しておく。

データの保存

メニュー [File]-[Save Grid As] でデータを保存する。

境界層メッシュの細分化

  1. メニュー [Mesh]-[devide prismatic boundary layer] を選択。
  2. "initial layer thickness" に第一層の厚みを設定する (サンプルモデルでは 0.1 を設定)。
  3. "initial increase factor" にメッシュの成長率を設定する (サンプルモデルでは 1.5 を設定)。
  4. "number of layes" に層の分割数を設定。(サンプルモデルでは 5 を設定)。
  5. [OK] ボタンを押すと、メッシュが作成される。画面右下の [redraw] ボタンを押す。

できたメッシュ。

メッシュの出力

  1. メニュー [File]-[Save Grid] でデータを保存。
  2. メニュー [Export] から "OpenFOAM" を選択。

constant ディレクトリができる。