snappyHexMeshの概要
SnappyHexMeshは、オープンソースソフトウェアOpenFOAM®のメッシュ生成ツールです。
このツールは、6面体(hex)要素と分割6面体(split-hex)要素からなる3次元非構造メッシュまたはハイブリッドメッシュを生成します。SimScaleプラットフォームには、テトラヘドラル(tet)要素とヘキサヘドラル(hex)要素のハイブリッドメッシュを生成するスタンダード自動メッシュ生成ツールの他に、snappyHexMeshアルゴリズムも搭載されています。このメソッドは以下に詳述するステップを繰り返し実行し、最終的なメッシュ形状を得ます。
6面体要素や分割6面体要素でsnappyHexMeshアルゴリズムを使用する利点は、メッシュの質をあまり落とすことなく要素を非常に細かいスケールまで細分化できるため、シミュレーション速度と精度が向上する可能性があることです。これは、複雑な形状にフィットさせるためによりロバストに自動化できる四面体要素での作業とは対照的です。
snappyHexMeshの手法
snappyHexMeshアルゴリズムを使用した基本的なヘクスドミナント手法は4つの主要ステップから構成されています:
ベースメッシュの作成
ベースメッシュが境界内に作成されます。
ベースメッシュボックスまたはバックグラウンドメッシュボックスはメッシュ生成プロセスにおけるベースメッシュの領域として機能します。このメッシュは純粋に六面体要素を含み、その数はユーザーによって定義されます。どの方向に対しても、セル数は1より大きくなければならず、結果として3Dメッシュになります。
以下の図では、車体周りの外部メッシュの例を用いて、メッシュ作成プロセスを説明します。下の最初の画像は、オブジェクトを囲むベースメッシュボックスを示しています。
図1: オブジェクトを囲むベースメッシュボックス
下図に示すように、ベースメッシュはベースメッシュボックスで囲まれた空間全体に生成されます。
図2: オブジェクトの周囲と内側のベースメッシュ
セルの分割:
ボディ内部のメッシュセルを削除する前に、このベースメッシュは指定されたエッジとサーフェスのリファインメントに基づいて細分化され、ボディのサーフェス近辺で分割されます。
図3: オブジェクトのサーフェスと交差するリファインされたセルの分割
セルの除去:
ボディの局所におけるメッシュがリファインされ、分割された後、マテリアルポイントの指定に基づいてセルが除去されます。
これには、少なくとも1つの領域が領域内のサーフェスで囲まれている必要があります。マテリアルポイントがあるメッシュ空間は維持され、他の空間ではセルが削除されます。つまり、この場合、マテリアルポイントはベースメッシュボックスの境界とボディ表面の間の空間であればどこにあってもかまいません。
図4: マテリアルポイントに基づくセル除去プロセス
領域の絞り込み:
最後に、メッシュ空間は、指定された領域リファインメントとリファインメントレベルに基づいてさらにリファインメントされます。この処理の後、メッシュは下図のようになります。
図5: オブジェクト周りのボリュームメッシュの領域細分化
スナップステップ
snappyHexMeshアルゴリズムの次のステップは、階段型メッシュをオブジェクトのサーフェスにスナップまたは投影することです。この処理は以下のアルゴリズムで行われます:
- 階段型メッシュのセル頂点をオブジェクトのサーフェス上に配置します。
- 次に、変位した頂点により内部メッシュを緩和します。
- メッシュ品質パラメータに違反する不良セルをチェックします。
- 品質基準が達成されるまでこのプロセスを繰り返します。
スナップ処理後の内部メッシュを下図に示します:
図6: オブジェクト表面へのセルのスナップ
レイヤーの追加
メッシュ設定の仕様に応じて、サーフェスにアライメントされた六面体セルからなるレイヤーメッシュが、選択されたサーフェスまたはすべてのサーフェスに生成されます。
このプロセスも反復的に行われ、必要なメッシュを生成するために多くのステップを伴います。主な手順は以下の通りです:
- 内部のスナップされたメッシュはオブジェクトの表面から法線方向に指定された距離だけ押し戻されます。
- 内部メッシュは緩和され、品質パラメータを満たすかチェックされます。
- 品質基準が満たされれば、レイヤーが挿入されます。そうでない場合は、前のステップを繰り返します。
- 必要な品質基準を達成する可能性がない場合は、レイヤーは挿入されません。
図7: オブジェクトの選択面に沿ったレイヤーの追加
メッシュ品質評価
最終ステップとして、メッシュの品質基準がチェックされ、すべてのチェックに合格するか、全体の反復限界に達するまでメッシュ作成プロセスがループされます。
チェックに失敗したまま反復限界に達した場合、メッシュに不良要素やセルが含まれている可能性があります。
参考
- Snappy Hex Mesh official user guide, http://cfd.direct/openfoam/user-guide/snappyHexMesh
SimScale製品紹介資料ダウンロード
資料請求
資料全体をご希望の方はこちらのフォームからお申し込みください。