OpenFOAMでメッシュを作成するツールの1つであるSnappyHexMeshについて説明します。
形状データは三角形の表面メッシュ(STL, Nastran, OBJなど)です。constant/triSurfaceで設定します。
blockMeshなどで、オクトツリーの根になる初期メッシュ(6面体)を作成します。
を指定して、初期メッシュを細分します。
表面形状、体積形状の指定はsystem/snappyHexMeshDictのgeometryで行います。
このgeometryで指定した表面メッシュは以下のために使用されます:
下図は、refinementBoxによる細分化の例です。
また、細分化に使用するパラメータは、system/snappyHexMeshDictのcastellatedMeshControlsに記述します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| - - | ! | | | | | | | | | - | ! | - | | ! | | - | ! - | - - ! | - | ! - | | ! ! ! | | | - | ! - | - | | ! ! | - | ! | | ! |
|
refinementSurfacesの
level (5 6);
levelは細分化のレベルを(最小レベル, 最大レベル)で指定します。
keep pointで、残す領域を指定して、計算領域以外のボリュームメッシュを削除します。
スナッピングではpatch面を表面形状上に射影します。
スナッピングの設定は、system/snappyHexMeshDictのsnapControlsで行います。
1
2
3
4
5
6
7
8
9
10
11
12
13
| - | | | | | | | | | ! |
|
nSmoothPatch 3;
面上に射影する前に、パッチ点をスムージングする回数
toleracne 1.0;
面に近づけるための最大辺長の倍率
nSolverIter 300;
スナッピングした変形場に適用するスムージングの回数
nRelaxIter 5;
誤差を減らすための倍率を戻す再の繰り返し数
nFeatureSnapIter 10;
特徴線上にスナッピングするときの繰り返し数
境界層入れる手順は以下の通りです。
境界層の設定は、system/snappyHexMeshDictのaddLayersControlsで行います。
nLayerIter
境界層を追加するための最大繰り返し数