$FOAM_TUTORIALS/multiphase/interDyMFoam/ras/sloshingTank3D
メッシュ移動機能を使用して揺れるタンクの中に入った水の動きの解析を40秒分、行います。水の体積はタンクの2割程度とし、残りは空気であるとします。
水、空気の各相の物性はファイル constant/transportProperties で指定しています。
メッシュの移動はファイル constant/dynamicMeshDict で以下の様に指定します。
dynamicFvMesh solidBodyMotionFvMesh; solidBodyMotionFvMeshCoeffs { solidBodyMotionFunction SDA; SDACoeffs { CofG (0 0 0); lamda 50; rollAmax 0.22654; rollAmin 0.10472; heaveA 3.79; swayA 2.34; Q 2; Tp 13.93; Tpn 11.93; dTi 0.059; dTp -0.001; } }
ここで SDA とは船舶設計解析(Ship Design Analysis)を意味し、3自由度(ロール、ヒーブ、スウェイ)の動きを提供するものです。各パラメーターの意味は次の通りです。
パラメーター | 意味 | 単位 |
---|---|---|
CofG | 重心 | m |
lamda | モデルスケール率 | 無し |
rollAmax | 最大ロール振幅 | rad |
rollAmin | 最小ロール振幅 | rad |
heaveA | ヒーブ振幅 | m |
swayA | スウェイ振幅 | m |
Q | 減衰係数 | 無し |
Tp | 液体の時間周期 | 秒 |
Tpn | 固有周期 | 秒 |
dTi | 参照時間刻み | 秒 |
dTp | 単位 dTi あたりの Tp の増加 |
またファイル system/controlDict で以下の様に設定し、指定点、指定面での圧力 p を出力しています。出力データはフォルダ postProcessing 以下に保存されます。
functions { probes { type probes; libs ("libsampling.so"); writeControl timeStep; writeInterval 1; probeLocations ( (0 9.95 19.77) (0 -9.95 19.77) ); fixedLocations false; fields ( p ); } }
メッシュは以下の通りで、メッシュ数は25840です。
計算結果は以下の通りです。
46分15.88秒 ※シングル、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz