水路と流出量の計測

OpenFOAM 4.x

ケース

$FOAM_TUTORIALS/multiphase/interFoam/ras/waterChannel

概要

解析モデル 解析モデル
流入領域(赤)と流出領域(青) 流入領域(赤)と流出領域(青)

勾配のついた水路に水が流入した場合の解析を200秒分だけ行います。領域 inlet(上図の赤色部)から水が体積流量 50 m3/s で流入し、領域 outlet(上図の青色部)から流出します。流路表面(領域 walls)はすべり無し条件として流路天井(領域 atmosphere)は開放されているものとします。

重力加速度はファイル constant/g で以下の様に指定します。

dimensions      [0 1 -2 0 0 0 0];
value           (0 0 -9.81);

ファイル system/controlDict で以下の様にして指定領域(inlet、outlet、atmosphere)での流出質量の合計を各時刻ステップごとに出力します。出力結果はフォルダ postProcessing 以下に保存されます。

functions
{
    inletFlux
    {
        type            surfaceRegion;
        libs ("libfieldFunctionObjects.so");
        writeControl   timeStep;
        log             true;
        writeFields     false;
        regionType      patch;
        name            inlet;
        operation       sum;

        fields
        (
            rhoPhi
        );
    }

    outletFlux
    {
        $inletFlux;
        name            outlet;
    }

    atmosphereFlux
    {
        $inletFlux;
        name            atmosphere;
    }
}

メッシュは以下の通りで、メッシュ数は28000です。

メッシュ メッシュ

計算結果は以下の通りです。

液面(色は流速に対応)
最終時刻での液面(色は流速に対応) 最終時刻での液面(色は流速に対応)
流出領域 outlet からの流出質量の時間変化(横軸が時刻、縦軸が流出質量) 流出領域 outlet からの流出質量の時間変化(横軸が時刻、縦軸が流出質量)

実行コマンド

cp -r $FOAM_TUTORIALS/multiphase/interFoam/ras/waterChannel waterChannel
cd waterChannel

# メッシュ作成
blockMesh
cp system/extrudeMeshDict.1 system/extrudeMeshDict
extrudeMesh
cp system/extrudeMeshDict.2 system/extrudeMeshDict
extrudeMesh

# 計算
cp 0/alpha.water.orig 0/alpha.water
setFields
interFoam

# 3次元描画
paraFoam

# グラフ描画
gnuplot
gnuplot>plot "postProcessing/outletFlux/0/surfaceRegion.dat" using 1:2 title 'Outlet' with lines lc rgb "black"

計算時間

2分36.41秒 ※シングル、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz