SIMPLECを使用した計算実行(OpenFOAM3.0.1)
OpenFOAM3.0.0からsimpleFoamでSIMPLEC(SIMPLE-Consistent)法が選択できるようになった。
使い方は簡単で、fvSolutionのSIMPLEの項目に「consistent yes;」と付け加えるだけで、SIMPLECがONになる。
code:fvSolusion(c++)
SIMPLE
{
nNonOrthogonalCorrectors 0;
consistent yes;
}
また、SIMPLECでは、圧力に緩和係数はいらない。(J.H.ファーチィガーら、「コンピュータによる流体力学」シュプリンガ・フェアラーク、2007、p173より)
チュートリアルケースのmotorBikeもSIMPLECを使用するようにfvSolutionが書き換えられている。
code:fvSolusion(c++)
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 3.0.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
~
SIMPLE
{
nNonOrthogonalCorrectors 0;
consistent yes;
}
~
relaxationFactors
{
equations
{
U 0.9;
k 0.7;
omega 0.7;
}
}
~
UのrelaxationFactorの数値がOF2系のときの0.7から0.9に変化していることにも注目である。この点は公式リリースにおいて下記のような記述がある。
“which relaxes the pressure in a “consistent” manner and additional
relaxation of the pressure is not generally necessary. In addition
convergence of the p-U system is better and reliable with less
aggressive relaxation of the momentum equation, e.g. for the motorbike
tutorial:”
SIMPLECを使う利点は公式のコメントを引用すると以下の点である。
“The cost per iteration is marginally higher but the convergence rate is
better so the number of iterations can be reduced.”
個人的な感想では、3割ぐらい早くなっていたので、効果はありそう。
参考までにPitzDailyケースでOpenFOAM2.4.0、OpenFOAM3.0.1、OpenFOAM3.0.1+SIMPLECの計算時間、イタレーション回数を比較した表を示す。
それ以外はUの緩和係数は0.7とした。
OF3.0.1+SIMPLECのケースはpの緩和係数は削除し、Uの緩和係数を0.9にしている。
table:計算結果
ExecutionTime ClockTime Iteration
OF2.4.0 23.71 24 817
OF3.0.1 28.38 29 915
OF3.0.1+SIMPLEC 11.3 11 298