表面メッシュからプリズムメッシュの作成(enGrid)

オープンソースのメッシュ生成ソフトウェアenGrid(ver 1.4.0)を使用して、表面の三角形メッシュからプリズムメッシュを作成し、テトラメッシュで埋めてからOpenFOAM形式に出力します。

表面メッシュの読み込み

ここでは、下図のような小さな管状の表面メッシュ(vessel_surf.vtp(本ページ一番下からダウンロード))を読み込みます。ここで、拡張子のvtpはVTKのVTK Poly Data (vtp)です。

enGridを起動しましたら、メニューバーから

Import >> VTK >> vtkPolyData

と進みます。ファイル指定ダイアログボックスでvessel_surf.vtpを指定しますと、下図のような管状の表面メッシュが表示されます。

以降、境界名は、図のように"inlet"、"outlet"、"wall"とします。

vessel_surface

境界名の指定

enGridでは、境界にboundary codeという番号を割り振り、各境界を区別します。

まず、inlet面にboundary codeを設定します。画面上でカーソルをinletになる面に合わせ、キーボードの"p"を押します。すると、下図のように、カーソルに一番近い三角形の中心に赤い球が表示されます。

boundary_code_inlet

メニューバーの

Mesh >> set boundary code

から、"set boundary code"ダイアログボックスを開きます。下図のように、"Boundary Code"に1を指定して"OK"します。

set_boundary_code_inlet

3Dビューア上で左クリックすると、boundary codeを指定した面が非表示になります。

boundary_code_inlet_after

同様にして、outletとwallにもboundary codeをそれぞれ"2"、"3"で設定します。"set boundary code"のダイアログボックスの設定はそれぞれ下図のようにします。

boundary_code_others

inlet、outlet、wallに全てboundary codeが割り振られますと、画面からすべての面が見えなくなります。

次に、各boundary codeに対応する境界名をつけます。メニューバーから

Simulation >> Edit Boundary conditions

へと進み、"edit boundary conditions"ダイアログボックスを開きます。"Boundary conditions"タブ内のテーブルに下図のように、"inlet"、"outlet"、"wall"を書き込みます。

set_boundary_names

また、流体領域にも名前を付けます。"edit boundary conditions"ダイアログボックスの"new volume"にfluidと記入し、"add"ボタンを押します。

set_boundary_names

最後に、"OK"ボタンを押して、"edit boundary conditions"ダイアログボックスを閉じます。

境界面の表示

境界面にboundary codeを指定しますと、画面から表面メッシュが見えなくなります。これらを再表示するためには、3Dビューア上で左クリックした後、キーボードから"v"を押し、"select boundary codes"ダイアログボックスを開きます。

"select boundary codes"ダイアログボックス上で表示したい境界にチェックを入れ、"OK"します。"outlet"と"wall"にチェックを入れてると下図のようになります。

select_boundary_codes

プリズムメッシュの生成

wallから内側に向かって境界層となるプリズムメッシュを一層だけ作成します。メニューバーから

Mesh >> create prismatic boundary layer

に進み、"create prismatic boundary layer"ダイアログボックスを開きます。下図のように、"wall"にチェックを入れ、volumesリストから"fluid"をクリックします。デフォルトの設定のまま"OK"ボタンをクリックすると、プリズムメッシュの生成が開始されます。

prismatic_boudary_settings

プリズムの生成が終了しましたら、GUIの右の"Display options"の"enable volume elements"にチェックを入れ、"enable surface elements"のチェックを外し、"redraw"ボタンを押すと、画面に作成されたプリズムメッシュが描画されます。

prismatic_boudary

テトラメッシュの生成

押し出されたプリズムメッシュの面と"inlet"、"outlet"で囲まれた流体領域をテトラメッシュで埋めます。メニューバーから

Mesh >> create/improve volume mesh (NETGEN)

と進み、ダイアログボックスを開き、"fluid"を選択し、"OK"ボタンを押すと、テトラメッシュが生成されます。

tetra_prism_mesh

プリズムメッシュの分割

作成されたプリズムメッシュは一層しかないので、内部を分割します。メニューバーから

Mesh >> divide prismatic boundary layer

と進み、"divide boundary layer"ダイアログボックスを開きます。"volumes"リストで"fluid"を選択し、下図の設定になっていることを確認してから、"OK"ボタンを押します。

divide_prism_mesh

プリズム内の分割が終了しますと、下図のようになります。

divided_prism_mesh

OpenFOAM形式への出力

作成されたメッシュをOpenFOAM形式に出力します。メニューバーから

Export >> OpenFOAM >> OpenFOAM (grid only)

へと進み、出力するディレクトリを指定しますと、作成したメッシュが保存されます。

出力されたメッシュはParaViewでも、可視化することができます。そのためには、ダミーの.foamファイルを作成します(例えば、vessel_surf.foam)。

ParaViewからvessel_surf.foamを指定すると、作成されたメッシュを確認できます。

paraview_prism_mesh

ダウンロード

データファイル:


添付ファイル: filevessel_surf.zip 301件 [詳細] fileparaview_prism_mesh.png 436件 [詳細] filedivided_prism_mesh.png 438件 [詳細] filedivide_prism_mesh.png 450件 [詳細] filetetra_prism_mesh.png 411件 [詳細] fileprismatic_boudary.png 430件 [詳細] fileprismatic_boudary_settings.png 416件 [詳細] fileselect_boundary_codes.png 423件 [詳細] fileset_fluid_name.png 403件 [詳細] fileboundary_code_inlet2.png 399件 [詳細] fileset_boundary_names.png 418件 [詳細] fileset_boundary_code_other.png 416件 [詳細] fileset_boundary_code_inlet.png 434件 [詳細] fileboundary_code_inlet1.png 421件 [詳細] filevessel_surf.png 457件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-06-19 (木) 11:08:48 (1272d)