ユーザーガイド 1.5系 - 5.2 境界
出典: OFWikiJa
[編集] 5.2 境界
本節では境界について述べます。境界はやや複雑です。なぜなら、形状の構成によって規定される単純なものではなく、境界条件や境界間の接続を通して解法を規定する不可欠の部分であるためです。境界はメッシュ、物理量、離散化、計算法といった多くの要素に関連しており、便宜上この章で扱います。
まず考えるべきことは、境界条件の適用のために、境界はバラバラにされてパッチの組み合わせになるということです。1つのパッチは1つ以上の境界面に閉じられた領域をもち、それらが物理的に接続している必要はありません。
下に階層を示すように、パッチに関する性質は4種類あり、図5.2では各レベルにおけるさまざまなパッチの名前を挙げています。下で示す階層はOpenFOAMライブラリの階層構造と類似しています。
- Base type(基底型)
- 形状や情報の伝達を規定
- Primitive type (基本型)
- 物理量の境界条件を規定
- Derived type(派生型)
- Primitive typeから派生した、複雑な境界条件を規定
図5.2 境界の型の階層
[編集] 5.2.1 パッチの形式の類型化
パッチの種類はメッシュと物理量のファイルに規定されます。
- 基底型はconstant/polyMeshディレクトリ内のboundaryファイルにおいて各パッチのtypeをtypeキーワードに従って記述する
- 基本型、派生型は物理量のファイルのtypeをtypeキーワードに従って記述する
例としてsonicFoamのケースにおけるboundaryファイルとpファイル(圧力物理量ファイル)を示します。
17 6
18 (
19 inlet
20 {
21 type patch;
22 nFaces 50;
23 startFace 10325;
24 }
25
26 outlet
27 {
28 type patch;
29 nFaces 40;
30 startFace 10375;
31 }
32
33 bottom
34 {
35 type symmetryPlane;
36 nFaces 25;
37 startFace 10415;
38 }
39
40 top
41 {
42 type symmetryPlane;
43 nFaces 125;
44 startFace 10440;
45 }
46
47 obstacle
48 {
49 type patch;
50 nFaces 110;
51 startFace 10565;
52 }
53
54 defaultFaces
55 {
56 type empty;
57 nFaces 10500;
58 startFace 10675;
59 }
60 )
61
62 // ************************************************************************* //
17 dimensions [1 -1 -2 0 0 0 0];
18
19 internalField uniform 1;
20
21 boundaryField
22 {
23 inlet
24 {
25 type fixedValue;
26 value uniform 1;
27 }
28
29 outlet
30 {
31 type waveTransmissive;
32 field p;
33 phi phi;
34 rho rho;
35 psi psi;
36 gamma 1.4;
37 fieldInf 1;
38 lInf 3;
39 value uniform 1;
40 }
41
42 bottom
43 {
44 type symmetryPlane;
45 }
46
47 top
48 {
49 type symmetryPlane;
50 }
51
52 obstacle
53 {
54 type zeroGradient;
55 }
56
57 defaultFaces
58 {
59 type empty;
60 }
61 }
62
63 // ************************************************************************* //
boundaryファイルにおけるtypeにはsymmetryPlaneやemptyなど、形態的制約を受けるものを除いたパッチはpatchと記述されています。pファイルにはinletやbottomに適用される基本型とoutletに適用される複雑な派生型が記述されています。2つのファイルを比較すると、基底型は一貫しており、単純なpatch、つまりsymmetryPlaneやemptyではありません。
[編集] 5.2.2 基底型
以下に基底型の種類を挙げます。これらを規定するキーワードは表5.2にまとめてあります。
図5.3 wedgeパッチを利用した軸対象形状
| 種類 | 意味 |
| patch | 一般的なパッチ |
| symmetryPlane | 対称面 |
| empty | 2次元形状の前後の面 |
| wedge | くさび型の前後 |
| cyclic | 周期境界面 |
| wall | 壁面 (乱流の壁関数に使用) |
| processor | 並列計算時のプロセッサ間の境界 |
表5.2 基底型の境界の種類
図5.4 cyclicパッチを利用した周期境界の連続形状
patch メッシュに対する形状的、位相的情報をなにも持たないパッチ条件のための基礎的なパッチ(wallの場合を除く)。流入口や流出口など。
wall 特に専門家が壁の境界を規定するときに、壁に適合するパッチが以下のように特定可能である必要がある場合があります。良い例としては、壁がwallパッチの型で特定されなければならない壁乱流モデルがあり、壁に隣接する格子の中心からの距離がパッチの一部として格納されます。
symmetryPlane 対称面
empty OpenFOAMが常に3次元で形状を生成する一方で、2次元(1次元)を解くことも可能です。そのためには、解が必要とされない3番目(2番目)の次元に法線が向いている各パッチに特別なempty条件を当てはめます。
wedge シリンダのような2次元の軸対称ケースでは、図5.3で示すように、座標面の一つにまたがり、角度5度で左右対称面を走っている1つの格子の密集したくさびとして形状は特定されます。軸対称くさび面はくさび型の別のパッチである必要があります。blockMeshを使ったくさびの形状の生成に関する詳細は5.3.3節に述べられています。
cyclic 熱交換管のような繰り返しの多い形状では、2つのパッチをあたかも1つのように扱うことができるようにする場合があります。単一のcyclicパッチは、faceListにおいて界面を2つに分割します。そして図5.4に示すように、2つの界面のセットを結び付けます。界面の各組は同じ領域のものである必要がありますが、同じ方向のものである必要はありません。
processor 数多くの処理の中で、計算が平行して行われている場合は、だいたい同じ数の格子を各処理が計算するために、メッシュは分けられる必要があります。メッシュの中の異なる部分間の境界はprocessor境界と呼ばれます。
[編集] 5.2.3 基本型
表5.3に基本型の種類を挙げます。
| 種類 | 物理量φに対して与える条件 | Data to specify |
| fixedValue | φの値が一定 | value |
| fixedGradient | φの勾配が一定 | gradient |
| zeroGradient | φの勾配が0 | -- |
| calculated | φの境界条件が他の物理量から決まる | -- |
| mixed | fixedValueとfixedGradientの組み合わせ、valueFractionに依存する条件 | refValue, refGradient, valueFraction, value |
| directionMixed | パッチの法線方向に対してmixed、接線方向に対してfixedGradient | refValue, refGradient, valueFraction, value |
[編集] 5.2.4 派生型
表5.4に派生型の種類を挙げます。
| fixedValueから派生 | 意味 | 指定するデータ |
| movingWallVelocity | ノーマルパッチの値を置き換えるのでパッチのフラックスは0 | value |
| pressureInletVelocity | 流入口のpが分かっている時、Uは、フラックスから評価され、パッチはノーマル。 | value |
| pressureDirectedInletVelocity | 流入口のpが分かっている時、Uは、inletDirectionのフラックスから計算される。 | value, inletDirection |
| surfaceNormalFixedValue | 大きさによって、ベクトル境界条件をノーマルパッチに指定します。 ベクトルの+veはドメインを指す。 | value |
| totalPressure | 全圧 構文解析失敗 (texvcプログラムが見つかりません。math/READMEを読んで正しく設定してください。): p_0=p+\frac{1}{2}\rho|U|^2 は固定;Uが変わるとそれに従い P も調整される。 | 構文解析失敗 (texvcプログラムが見つかりません。math/READMEを読んで正しく設定してください。): p_0
|
| turbulentInlet | 平均値のスケールに基づく変動変数について計算する | referenceField, fluctuationScale |
| fixedGradient/zeroGradientから派生 | ||
| fluxCorrectedVelocity | フラックスから流入口のUの法線成分を計算する | value |
| wallBuoyantPressure | 気圧勾配に基づくfixedGradient圧を設定する | -- |
| mixedから派生 | ||
| inletOutlet | Uの向きによってfixedValueとzeroGradientの間でUとpを切り替える | inletValue, value |
| outletInlet | Uの向きによってfixedValueとzeroGradientの間でUとpを切り替える | outletValue, value |
| pressureInletOutletVelocity | pressureInletVelocityとinletOutletの組み合わせ | value |
| pressureDirectedInletOutletVelocity | pressureDirectedInletVelocityとinletOutletの組み合わせ | value, inletDirection |
| pressureTransmissive | 周囲の圧力P∞に超音速圧縮波を伝える | pInf |
| supersonicFreeStream | 斜めの衝撃をP∞、T∞、U∞の環境に伝える | pInf, TInf, UInf |
| その他 | ||
| slip | 構文解析失敗 (texvcプログラムが見つかりません。math/READMEを読んで正しく設定してください。): \phi
がスカラーならzeroGradient、構文解析失敗 (texvcプログラムが見つかりません。math/READMEを読んで正しく設定してください。): \phi がベクトルなら法線成分はfixedValue 0で接線成分はzeroGradient | -- |
| partialSlip | 混合zeroGradient/slip条件はvalueFractionに依る; = 1(slipの場合) | valueFraction |
Note: pは圧力, Uは速度
表5.4 派生型の種類



