$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です。計算中は液面付近が細かくなるようにメッシュが動的に再分割されます。
計算結果は以下の通りです。
液面付近が細かくなるようにメッシュが動的に再分割されていることがわかります。
5時間54分6.1秒 ※シングル、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz