ダム・ブレイク(3次元、解適合)

OpenFOAM 4.x

ケース

$FOAM_TUTORIALS/multiphase/interDyMFoam/ras/damBreakWithObstacle

概要

解析モデル 解析モデル

底部に立方体状の障害物のある空間でのダム・ブレイク(水柱の崩壊)問題を2秒間分だけ計算します。解析領域は Y 軸方向最大面のみ開放されているとし、それ以外の面は壁であるとします。計算中にメッシュを動的に再分割して気液界面の計算精度を向上させます(解適合)。

メッシュ再分割の設定はファイル constant/dynamicMeshDict で以下の様に指定します。

dynamicFvMesh   dynamicRefineFvMesh;

dynamicRefineFvMeshCoeffs
{
    // 再分割の頻度
    refineInterval  1;

    // 再分割対象の変数
    field           alpha.water;

    // 再分割変数の上下限
    lowerRefineLevel 0.001;
    upperRefineLevel 0.999;

    // 値が unrefineLevel を下回る場合は再分割しない
    unrefineLevel   10;

    // 2:1の再分割より緩やかにする
    nBufferLayers   1;

    // maxRefinement レベルを上限にセルを再分割
    maxRefinement   2;

    // セル数が maxCells に到達したら再分割を停止
    maxCells        200000;

    // 流束変数とそれに対応する流速変数。変更される面上の流束は流速を補間することで再計算される。
    // 再補間の必要がない場合は surfaceScalarFields に「none」を設定すること。
    correctFluxes
    (
        (phi none)
        (nHatf none)
        (rhoPhi none)
        (alphaPhi none)
        (ghf none)
    );

    // 再分割レベルを volScalarField として出力
    dumpLevel       true;
}

初期は均一メッシュで、メッシュ数は32256です。計算中は液面付近が細かくなるようにメッシュが動的に再分割されます。

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

液相 water の体積率0.5の位置
初期時刻での気液界面とメッシュ断面 初期時刻での液相 water の体積率0.5の位置とメッシュ断面
時刻0.4秒での気液界面とメッシュ断面 時刻0.4秒での液相 water の体積率0.5の位置とメッシュ断面

液面付近が細かくなるようにメッシュが動的に再分割されていることがわかります。

実行コマンド

cp -r $FOAM_TUTORIALS/multiphase/interDyMFoam/ras/damBreakWithObstacle damBreakWithObstacle
cd damBreakWithObstacle

cp -r 0.orig 0
blockMesh
topoSet
subsetMesh -overwrite c0 -patch walls
setFields

interDyMFoam

paraFoam

計算時間

5時間54分6.1秒 ※シングル、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz