cellSource を使用した cellZone におけるセル値の演算処理

OpenFOAM の Function Objects 機能を活用することで,結果処理の効率化が可能です.その1つである cellSource を使用すると,ユーザーが指定した cellZone (セルの集合) に属するセルの変数値に対して,セル体積を重みとした加重平均や体積積分などの処理を計算実行中に行って,値をモニタリングすることが可能です.例えば,porous という名前の cellZone において体積を重みとした温度の加重平均値を計算したい場合には,ケースの system/controlDict ファイルに下記のような設定を行います.

実行する演算処理を operation に指定します.選択可能な 11 個のオプションが,cellSource.C ファイルで確認できます.

それぞれの演算オプションの実装は,cellSourceTemplates.C ファイルで確認できます.

ここで,V はセル体積を表しているので,volIntegrate オプションは,体積積分を計算します.volAverage は,この体積積分値を cellZone の合計体積で割ることで,体積を重みとした加重平均値を計算します.これに対して,average は,単なる算術平均を計算します.また,名前に weighted が付いているオプションでは,加重平均の重みに使用する変数を weightField に指定します.sumMag オプションで使用されている cmptMag 演算子についてはこちらの記事で取り上げています.

選択したオプションが,意図した演算ではなかったなんてことが無いように,1度はしっかり確認しておきたいですね.

References

体積平均値の計算