圧力-速度連成手法の設定2020年12月6日 | |
はじめに圧力-速度連成手法の設定の設定について。 使用バージョンOpenFOAM v2006、v8 圧力-速度連成手法の設定圧力-速度連成手法である SIMPLE、PISO、PIMPLE などの設定は system/fvSolution で行う。 SIMPLE 法SIMPLE 法は以下の手順で計算される。 ![]() SIMPLE 法の設定を以下に示す。
SIMPLE
{
nNonOrthogonalCorrectors 0;
consistent yes;
pRefPoint (0 0 0);
pRefValue 0;
residualControl
{
p 1e-3;
U 1e-3;
"(k|epsilon|omega|R)" 1e-3;
}
}
relaxationFactors
{
fields
{
p 0.3;
}
equations
{
U 0.7;
"(k|epsilon|omega|R)" 0.7;
}
}
"SIMPLE" において SIMPLE 法の各種設定を行う。
relaxationFactors において緩和係数の設定を行う。計算が発散する場合、あるいは収束が遅い場合、緩和係数を小さくしてみるとよい。どの緩和係数を小さくすべきかは変数の残差の値を見て判断する。ここで "fields" と "equations" とあるが、ソルバーの中で陽的に緩和されているもの (たとえばソルバーのソースで "p.relax()" などと書かれている) が fields、方程式に組み込まれる形で緩和されているもの (たとえば "UEqn().relax()" などと書かれている) が equations に記述されている。 PISO 法PISO 法は以下の手順で計算される。 ![]() PISO 法の設定を以下に示す。
PISO
{
momentumPredictor yes;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
pRefPoint (0 0 0);
pRefValue 0;
}
PISO 法は時間ステップ内の反復計算を行わないため、収束判定や緩和係数の設定はない。 PIMPLE 法PIMPLE 法は以下の手順で計算される。 ![]() PIMPLE 法の設定を以下に示す。
PIMPLE
{
momentumPredictor yes;
turbOnFinalIterOnly yes;
nOuterCorrectors 10;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
pRefPoint (0 0 0);
pRefValue 0;
residualControl
{
p
{
relTol 0.05;
tolerance 1e-3;
}
U
{
relTol 0.05;
tolerance 1e-3;
}
"(k|epsilon|omega|R)"
{
relTol 0.05;
tolerance 1e-3;
}
}
}
relaxationFactors
{
fields
{
p 0.3;
}
equations
{
U 0.7;
"(k|epsilon|omega|R)" 0.7;
".*Final" 1;
}
}
緩和係数は、".*Final" について、つぎの時間ステップに進む前にきっちり解いておくために 1 を設定したりする。 OpenCFD 版では、以下の設定が使える場合がある。 一般的な注意上では、辞書の各キーワードが何かの機能の設定であるかのように書いているが、厳密に言うと、これらは一般的な辞書の形式にすぎず、ユーザーは好きなキーワードを書けるし、ソルバー側が任意のキーワードを無視するのも自由である。OpenFOAM の共通性の高い部分についての設定はソルバーに使われる可能性が高いといえるが、それすらもソルバーは無視しようと思えば無視できることに注意する。厳密な設定方法はソルバーのソースコードを適宜参照すること。 | |
| PENGUINITIS | |