#はじめに
この記事ではOpenFOAMのポスト処理をいろいろまとめています.
OpenFOAMの作業ディレクトリをcaseDirとします.
#各時間の物理量の場を取得する(postProcess)
postProcessはメッシュや物理量について,様々な情報を出力することができるユーティリティです.シミュレーション中も後も使用可能ですが,この記事ではシミュレーション後の使用を想定してまとめます.
###Q(速度勾配テンソルの第2不変量)
実行には速度の計算結果が必要です.
caseDir$ postProcess -func Q
時間ディレクトリ内にQという名前でファイル出力されます.
###y+
wallパッチ上のy+分布を出力します.pimpleFoamで計算したケースなら
caseDir$ pimpleFoam -postProcess -func yPlus
時間ディレクトリ内にyPlusという名前でファイル出力されます.
###流量
指定したパッチを通過する流量の合計値を出力します.実行には計算結果が必要です.inletという名前のパッチなら
caseDir$ postProcess -func 'patchIntegrate(name=inlet, phi)'
caseDir$ postProcess -func 'patchIntegrate(name=inlet, phi)' -latestTime //最新結果のみ出力
非圧縮計算の場合,phiはセルのフェイスを通過する体積流量のことです.実行後,postProcessingというディレクトリが作成され,'patchIntegrate(name=inlet, phi)'が出力されます.全パッチの流量を出してどれぐらい質量保存を満たしているかをチェックするのに使えます.
#特定の点の時系列データを取得する(probe)
probeはユーザーが選んだ座標の物理量の時系列データを取得できるユーティリティです.実行には取得したい物理量の計算結果と,systems内にprobesというディクショナリファイルを用意する必要があります.中身は
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 7
\\/ M anipulation |
-------------------------------------------------------------------------------
Description
Writes out values of fields from cells nearest to specified locations.
\*---------------------------------------------------------------------------*/
#includeEtc "caseDicts/postProcessing/probes/probes.cfg"
fields (U); //括弧内に取得したい物理量を入力.複数の場合は半角スペースで区切る (U p ...)
probeLocations
(
(0.12 0.01 0.05) // 取得したい点の座標(x, y, z)
(0.2 0 -0.5)
);
// ************************************************************************* //
実行
caseDir$ postProcess -func probes
caseDirにpostProcessingというディレクトリが生成され,中に時系列データのファイルが出力されます.
#残差を確認する(foamLog)
foamLogは計算の残差等を時系列データとして出力することができるユーティリティです.計算中の出力内容をファイルに出力しておく必要があります.logという名前のファイルに出力していた場合
caseDir$ foamLog log
と実行するとlogsというディレクトリが作成され,中に残差等の時系列データが出力されます.