모니터(Monitor)
모니터링은 system/controlDict 파일의 functions 딕셔너리를 사용한다.
힘(Force)
functions
{
...
<name of forces>
{
type forces;
libs ("/baram/solvers/openfoam/lib/libforces.so");
patches
(
<patch name 1>
...
);
CofR (<x> <x> <x>);
updateHeader false;
log false;
executeControl timeStep;
executeInterval 1;
writeControl timeStep;
writeInterval <value>;
}
<name of force coefficients>
{
type forceCoeffs;
libs ("/baram/solvers/openfoam/lib/libforces.so");
patches
(
<patch name 1>
...
);
coefficients (Cd Cl CmPitch);
rho rho;
Aref <value>;
lRef <value>;
magUInf <value>;
rhoInf <value>;
dragDir (<x-dir> <y-dir> <z-dir>);
liftDir (<x-dir> <y-dir> <z-dir>);
CofR (<x> <y> <z>);
updateHeader false;
log false;
pRef <value>;
executeControl timeStep;
executeInterval 1;
writeControl timeStep;
writeInterval <value>;
}
}
저장 간격(Write Interval)은 writeInterval 에 설정된다. 유동 방향(Flow Direction)의 항력 방향(Drag Direction)은 dragDir 에, 양력 방향(Lift Direction)은 liftDir 에, 회전중심(Center of Rotation)은 CofR 에 설정된다. 경계면(Boundaries)에 선택된 것들은 patches 에 설정된다.
점(Point)
functions
{
...
<name>
{
type probes;
libs ("/baram/solvers/openfoam/lib/libsampling.so");
fields (<field>);
probeLocations ( (<x> <y> <z>) );
updateHeader false;
log false;
executeControl timeStep;
executeInterval 1;
writeControl timeStep;
writeInterval <value>;
}
}
저장 간격(Write Interval)은 writeInterval 에, 유동 변수(Field)는 fields 에, 좌표(Coordidate)는 probeLocations 에 설정된다.
면(Surface)
functions
{
...
<name>
{
type surfaceFieldValue;
libs ("/baram/solvers/openfoam/lib/libfieldFunctionObjects.so");
regionType patch;
name <patch name>;
surfaceFormat none;
fields (<field>);
operation <value>;
writeFields false;
updateHeader false;
log false;
executeControl timeStep;
executeInterval 1;
writeControl timeStep;
writeInterval <value>;
}
}
저장 간격(Write Interval)은 writeInterval 에, 유동 변수(Field Variable)은 fields 에, 함수(Report Type)은 operation 에, 면(Surface)는 name 에 설정된다.
체적(Volume)
functions
{
...
<name>
{
type volFieldValue;
libs ("/baram/solvers/openfoam/lib/libfieldFunctionObjects.so");
regionType cellZone;
name <cel zone name>;
fields (<field>);
operation <value>;
writeFields false;
updateHeader false;
log false;
executeControl timeStep;
executeInterval 1;
writeControl timeStep;
writeInterval <value>;
}
}
저장 간격(Write Interval)은 writeInterval 에, 유동 변수(Field Variable)은 fields 에, 함수(Report Type)은 operation 에, 체적(Volume)은 name 에 설정된다.
잔차(Residual)
잔차 데이터를 생성하고 저장하기 위해서 system/controlDict 파일의 functions 딕셔너리를 사용한다.
fields 는 솔버에 따라 다르게 설정된다.
functions
{
...
<name>
{
type solverInfo;
libs ("/baram/solvers/openfoam/lib/libutilityFunctionObjects.so");
executeControl timeStep;
executeInterval 1;
writeResidualFields no;
fields
(
U
p_rgh
k
epsilon
...
);
}
}