ユーザーガイド 1.5系 - 5.2 境界

出典: OFWikiJa

[next] [prev] [up]

[編集] 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にはsymmetryPlaneemptyなど、形態的制約を受けるものを除いたパッチはpatchと記述されています。pファイルにはinletbottomに適用される基本型とoutletに適用される複雑な派生型が記述されています。2つのファイルを比較すると、基底型は一貫しており、単純なpatch、つまりsymmetryPlaneemptyではありません。

[編集] 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、接線方向に対してfixedGradientrefValue, refGradient, valueFraction, value

表5.3 基本型のパッチの種類

[編集] 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 派生型の種類

[next] [prev] [up]