混相流解析

2010年3月8日

使用バージョン

OpenFOAM 1.6

はじめに

OpenFOAM には混相流解析用のソルバーがいくつか用意されているが、ここではつぎの 2 つを対象とする。

  • interFoam
  • multiphaseInterFoam

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 の値を小さくしたら大丈夫だった。