簡単な液滴着弾計算をやってみよう.
1 準備
・capilaryRise のチュートリアルを作業領域にコピーする.
"C:\blueCFD-Core-2024\OpenFOAM-12\tutorials\incompressibleVoF\capillaryRise" をまるごと作業領域にコピー&ペーストする
・ケースフォルダの名前をdropletDepo1 と変更する
2 blockMeshDictの修正
・blockMeshDictを開き 以下に修正する。
convertToMeters 1e-06;
vertices (
(0 0 0)
(100 0 -4.3619387)
(100 100 -4.3619387)
(0 100 0)
(100 0 4.3619387)
(100 100 4.3619387)
);
blocks (
hex (0 1 2 3 0 4 5 3) (100 100 1) simpleGrading (1 1 1)
);
boundary (
TopWall { type patch; faces ((3 2 5 3)); }
left { type empty; faces ((0 3 3 0)); }
right { type patch; faces ((4 1 2 5)); }
front { type wedge; faces ((0 3 2 1)); }
back { type wedge; faces ((3 0 4 5)); }
bottom { type wall; faces ((0 1 4 0)); }
);
・形状は以下の通り
後日図追加予定
・blockMeshを実行する
・paraFoamでメッシュを確認する。
3 setFieldsDict を修正
・system\setFieldsDict をエディタで開き,以下のように修正する
regions
(
sphereToCell
{
centre (0e-6 20e-6 0e-6);
radius 15e-6;
fieldValues
(
volScalarFieldValue alpha.water 1
volVectorFieldValue U (0 -1 0)
);
}
);
4 境界条件設定
・0/alpha.water.orig を開き defaultFaces 以外の境界を削除し、以下を追加
TopWall {type zeroGradient;}
right {type zeroGradient;}
bottom {
type contactAngle;
theta0 74;
limit gradient;
value uniform 0;
}
left {type empty;}
front {type wedge;}
back {type wedge;}
注意:他のバージョンは constantAlphaContactAngle; だが このバージョンでは contactAngle; になったようだ.
・0\ U を開き boundaryField内の defaultFaces 以外の境界を削除し、以下を追加
TopWall { type pressureInletOutletVelocity; value uniform (0 0 0); }
right { type pressureInletOutletVelocity; value uniform (0 0 0); }
bottom { type fixedValue; value uniform (0.0 0.0 0); }
left {type empty;} front {type wedge;}
back {type wedge;}
・0\ p_rgh を開き defaultFaces 以外の境界を削除し、以下を追加
TopWall { type fixedValue; value uniform 0; }
right { type fixedValue; value uniform 0; }
bottom { type zeroGradient; }
left {type empty;}
front {type wedge;}
back {type wedge;}
5 alpha.water.origの退避
・alpha.water.origをカット&ペーストして,0フォルダの上に移動する.
・alpha.water.orig を0フォルダにコピーして,alpha.water と名前を変更する.
注:この作業は0フォルダの中に,alpha.water と alpha.water.orig が混在すると,paraviewで0時刻の結果を表示させようとしたら,alpha.waterがうまく表示できないためにやる.
6 setFields実行
・setFields ↵
以下のメッセージならOK
Setting field region values
Adding cells with centre within sphere, with centre = (0 2e-05 0) and radius = 1.5e-05
Setting internal values of volScalarField alpha.water
Setting internal values of volVectorField U
End
・paraFoamで確認する。
Skip Zero Time のチェックをはずし, Refresh ボタンを押す
場合によっては最初に戻るボタンを押す必要があるかも.
( |← のボタン)
alpha.water を表示する.
液滴が設定されていたらOK
★ 液滴が表示されない場合 0\alpha.water.orig が0フォルダ内にあったらダメ. 0フォルダの1個上の階層に移動すること.
7 controlDictを確認
・system\controldictを開き以下に修正する。
application foamRun;
solver incompressibleVoF;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1e-4;
deltaT 1e-6;
writeControl adjustable;
writeInterval 1e-6;
purgeWrite 0;
8 計算実行
・foamRun ↵
・paraFoam で確認
0コメント