混相流解析

2009年9月1日

使用バージョン

OpenFOAM 1.4.1

はじめに

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

  • interFoam
  • multiphaseInterFoam

interFoam

参考

OpenFOAM-1.4.1/tutorials/interFoam/damBreak

物性値の設定

物性値はケースの constant/transportProperties の phase1, phase2 でそれぞれ設定する。チュートリアルのケース (damBreak) では phase1 が water, phase2 が air となっている。

sigma で表面張力を設定する。

重力の設定

重力はケースの constant/environmentalProperties の g で設定する。

初期の体積分率の設定

ケースの system/setFieldsDict で、領域を指定して phase1 の体積分率 gamma を設定する。実際の設定は setFields コマンドで行う。

境界条件の設定

流速の設定はケースの 0/U、体積分率の設定は 0/gamma、圧力の設定は 0/pd でそれぞれ行う。

接触角の設定は 0/gamma でつぎのように行う。

side-wall
{
    type constantGammaContactAngle;
    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;
}
※ちなみに OpenFOAM 1.6 だと、gamma が alpha になっていたり、いろいろ変わっている。

実行

$ setFields . case
$ interFoam . case

multiphaseInterFoam

参考

OpenFOAM-1.4.1/tutorials/multiphaseInterFoam/damBreak4phase

物性値の設定

物性値はケースの constant/transportProperties で行う。interFoam と違って、3 相以上の設定ができる。チュートリアルのケース (damBreak4phase) では、air が refPhase (参照相?) に指定されている。

sigma で相の組み合わせ分の表面張力を設定する。

重力の設定

重力はケースの constant/environmentalProperties の g で設定する。

初期の体積分率の設定

ケースの system/setFieldsDict で、領域を指定して各相の体積分率を設定する。実際の設定は setFields コマンドで行う。

境界条件の設定

流速の設定はケースの 0/U、圧力の設定は 0/pd、相の設定は 0/alphas および 0/alpha... (alphawater, alphaair など、相に指定した名前による) で行う。

接触角の設定は 0/alpha... でつぎのように行う。

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 ではないかなぁと思う (ソースではその順番で書かれているので)。

実行

$ setFields . case
$ multiphaseInterFoam . case

解析上のヒント

たぶん、時間刻み幅は自動調整にしたほうがよい。ケースの system/controlDict の adjustTimeStep を yes に設定すれば、時間刻み幅の自動調整が有効になる。