SnappyHexMesh

OpenFOAMでメッシュを作成するツールの1つであるSnappyHexMeshについて説明します。

表面メッシュ

形状データは三角形の表面メッシュ(STL, Nastran, OBJなど)です。 constant/triSurfaceで設定します。

triSurface

初期メッシュ

blockMeshなどで、オクトツリーの根になる初期メッシュ(6面体)を作成します。

initial_mesh

オクトツリーによる細分

を指定して、初期メッシュを細分します。

refinement

使用しない領域のメッシュを削除

keep pointで、残す領域を指定して、計算領域以外のボリュームメッシュを削除します。

removeUnusedCells
castellatedMesh

スナッピング

スナッピングではpatch面を表面形状上に射影します。

snappying
snnapedMesh

スナッピングの設定は、snapControls sub-dictionaryで行います。

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 
-
|
|
|
|
|
|
|
|
|
!
 
snapControls
{
    nSmoothPatch 3;
 
    tolerance 1.0;
 
    nSolveIter 300;
 
    nRelaxIter 5;
 
    nFeatureSnapIter 10;
}
 nSmoothPatch 3;

面上に射影する前に、パッチ点をスムージングする回数

 toleracne 1.0;

面に近づけるための最大辺長の倍率

 nSolverIter 300;

スナッピングした変形場に適用するスムージングの回数

 nRelaxIter 5;

誤差を減らすための倍率を戻す再の繰り返し数

 nFeatureSnapIter 10;

特徴線上にスナッピングするときの繰り返し数

境界層

境界層入れる手順は以下の通りです。

  1. 面に垂直な方向に、指定した厚さだけメッシュを縮めます。
  2. 内部メッシュにスムージングをかけます。
  3. メッシュが正当性基準を満たしているかチェックします。満たしていない場合は、縮める距離を減らし、2番に戻ります。どのように縮めても、基準を満たさない場合は、境界層を入れるのを断念します。
  4. メッシュが基準を満たす場合は、境界層を入れます。
  5. 最後にメッシュをチェックします。チェックに失敗した場合は、境界層を取り除き、2番に戻ります。

snappyHexMeshDictのaddLayersControls サブ・ディクショナリーで境界層の設定を行います。

 nLayerIter

境界層を追加するための最大繰り返し数


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS