時系列データの取得2011年11月27日 | |
はじめに時系列データの取得方法について。 使用バージョンOpenFOAM 2.0.1 ある点における時系列データの取得たとえば、ある点における時系列データがほしい場合、system/controlDict に次のように設定する。
functions
{
probes
{
type probes;
functionObjectLibs ("libsampling.so");
enabled true;
outputControl timeStep;
outputInterval 1;
probeLocations
(
( 0.05 0.05 0 )
);
fields
(
U p
);
}
}
計算を実行すると "probes" (この名前は任意) ディレクトリ内に時系列データが作成される。 平均値などの取得system/controlDict に次のように設定すれば、平均値を得ることができる。
functions
(
face
{
type faceSource;
functionObjectLibs ("libfieldFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
log true;
valueOutput false;
source faceZone;
sourceName f0;
operation areaAverage;
fields
(
U p
);
}
cell
{
type cellSource;
functionObjectLibs ("libfieldFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
log true;
valueOutput false;
source cellZone;
sourceName c0;
operation volAverage;
fields
(
U p
);
}
);
sourceName で指定している "f0", "c0" はゾーン名であり、前もって作っておく必要がある。outputControl には "outputTime" (計算結果の出力に合わせる) を指定できる (この場合 outputInterval は必要ない)。operation には、上記以外では faceSource の場合 areaIntegrate, min, max, sum などが、cellSource の場合 volIntegrate, min, max, sum などが指定できる。 faceSource の場合、source に "patch" を指定できる。sourceName でパッチ名を指定する。
functions
(
inletMassFlow
{
type faceSource;
functionObjectLibs ("libfieldFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
log true;
valueOutput false;
source patch;
sourceName inlet;
operation sum;
fields
(
phi
);
}
);
最小値・最大値の取得system/controlDict に次のように設定すれば、最小値・最大値を得ることができる。
functions
{
fieldMinMax
{
type fieldMinMax;
functionObjectLibs ("libfieldFunctionObjects.so");
enabled true;
outputControl outputTime;
mode magnitude;
fields
(
U p
);
}
}
| |
| PENGUINITIS | |