- 追加された行はこの色です。
- 削除された行はこの色です。
*[[SnappyHexMesh]] [#d5674751]
[[OpenFOAM:http://www.openfoam.org]]でメッシュを作成するツールの1つであるSnappyHexMeshについて説明します。
SnappyHexMeshで生成されるメッシュは、ポリヘドラルメッシュ(多面体要素からなるメッシュ)になります。
SnappyHexMeshは並列化されており、高速にメッシュを作成することが可能です。
** 表面メッシュ [#lae95520]
形状データは三角形の表面メッシュ(STL, Nastran, OBJなど)です。
constant/triSurfaceで設定します。
#ref(triSurface.png,center,nowrap,60%,triSurface);
** 初期メッシュ [#x7be5e08]
blockMeshなどで、オクトツリーの根になる初期メッシュ(6面体)を作成します。
#ref(initial_mesh.png,center,nowrap,60%,initial_mesh);
** オクトツリーによる細分 [#e6ca1dce]
-表面形状による細分(特徴性、曲率)
-体積形状による細分(閉じた空間、幾何形状)
を指定して、初期メッシュを細分します。
#ref(refinement.png,center,nowrap,60%,refinement);
** 使用しない領域のメッシュを削除 [#w187030d]
keep pointで、残す領域を指定して、計算領域以外のボリュームメッシュを削除します。
#ref(removeUnusedCells.png,center,nowrap,60%,removeUnusedCells);
#ref(castellatedMesh.png,center,nowrap,60%,castellatedMesh);
** スナッピング [#ud3f77ac]
スナッピングではpatch面を表面形状上に射影します。
#ref(snappying.png,center,nowrap,60%,snappying);
#ref(snnapedMesh.png,center,nowrap,60%,snnapedMesh);
スナッピングの設定は、snapControls sub-dictionaryで行います。
#code(c){{
snapControls
{
nSmoothPatch 3;
tolerance 1.0;
nSolveIter 300;
nRelaxIter 5;
nFeatureSnapIter 10;
}
}}
nSmoothPatch 3;
面上に射影する前に、パッチ点をスムージングする回数
toleracne 1.0;
面に近づけるための最大辺長の倍率
nSolverIter 300;
スナッピングした変形場に適用するスムージングの回数
nRelaxIter 5;
誤差を減らすための倍率を戻す再の繰り返し数
nFeatureSnapIter 10;
特徴線上へのスナッピングするときの繰り返し数
** 境界層 [#p546c358]
境界層は、ボリュームメッシュがある状態から入れますので、後入れの境界層となります。