混相流解析2010年3月8日 | |
使用バージョンOpenFOAM 1.6 はじめにOpenFOAM には混相流解析用のソルバーがいくつか用意されているが、ここではつぎの 2 つを対象とする。
interFoam参考OpenFOAM-1.6/tutorials/multiphase/interFoam/laminar/damBreak 物性値の設定物性値はケースの constant/transportProperties の phase1, phase2 でそれぞれ設定する。sigma で表面張力を設定する。 重力の設定重力はケースの constant/g で設定する。 初期の体積分率の設定ケースの system/setFieldsDict で、領域を指定して phase1 の体積分率 alpha1 を設定する。setFields を実行することでディレクトリ 0 の中のフィールドデータに設定が反映される。 境界条件の設定流速の設定はケースの 0/U、体積分率の設定は 0/alpha1、圧力の設定は 0/p でそれぞれ行う。 接触角の設定は 0/alpha1 でつぎのように行う。
side-wall
{
type constantAlphaContactAngle;
theta0 60; // Equilibrium contact angle
uTheta 0; // Dynamic contact angle velocity scale
thetaA 60; // Limiting advancing contact angle
thetaR 60; // Limiting receding contact angle
value uniform 0;
}
type には "constantAlphaContactAngle" のほかに "dynamicAlphaContactAngle" などがある。
実行(ケースのディレクトリに入り) $ setFields $ interFoam multiphaseInterFoam参考OpenFOAM-1.6/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase 物性値の設定物性値はケースの constant/transportProperties で行う。interFoam と違って、3 相以上の設定ができる。チュートリアルのケース (damBreak4phase) では、air が refPhase (参照相?) に指定されている。sigma で相の組み合わせごとの表面張力を設定する。 重力の設定重力はケースの constant/g で設定する。 初期の体積分率の設定ケースの system/setFieldsDict で、領域を指定して各相の体積分率を設定する。setFields を実行することでディレクトリ 0 の中のフィールドデータに設定が反映される。 境界条件の設定流速の設定はケースの 0/U、圧力の設定は 0/p、相の設定は 0/alphas および 0/alpha... (alphawater, alphaair など、相に指定した名前による) で行う。 接触角の設定は 0/alpha... の refPhase にあたるファイルでつぎのように行う。
side-wall
{
type alphaContactAngle;
thetaProperties ( ( water air ) 90 0 0 0 ( oil air ) 90 0 0 0 ( water oil ) 90 0 0 0 );
value uniform 0;
}
thetaProperties で相の組み合わせ分だけ設定する。各パラメタの意味はおそらく interFoam の theta0, uTheta, thetaA, thetaR (ソースではその順番で書かれているので)。refPhase で指定したもの以外の 0/alpha... の wall は "type zeroGradient" にしておけばよい。
実行$ setFields $ multiphaseInterFoam 解析上のヒント時間刻み幅は自動調整にしたほうがよい。ケースの system/controlDict の adjustTimeStep を yes に設定すれば、時間刻み幅の自動調整が有効になる。 計算が途中で止まってしまったが、system/fvSolution の PISO のパラメタ nAlphaCorr, cAlpha の値を小さくしたら大丈夫だった。 | |
| PENGUINITIS | |