$FOAM_TUTORIALS/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D
メッシュ移動機能を使用して揺れるタンクの中に入った水の動きの解析を40秒分、行います。水の体積はタンクの2割程度とし、残りは空気であるとします。Z 方向は1メッシュとして2次元問題として計算を行います。
水、空気の各相の物性はファイル constant/transportProperties、constant/thermophysicalProperties.* で指定しています。
メッシュの移動はファイル 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; } }
またファイル system/controlDict で以下の様に設定し、指定点、指定面での圧力 p を出力しています。出力データはフォルダ postProcessing 以下に保存されます。
functions { probes { type probes; libs ("libsampling.so"); writeControl writeTime; probeLocations ( (0 9.95 19.77) (0 -9.95 19.77) ); fixedLocations false; fields ( p ); } wallPressure { type surfaces; libs ("libsampling.so"); writeControl writeTime; surfaceFormat raw; fields ( p ); interpolationScheme cellPoint; surfaces ( walls { type patch; patches (walls); triangulate false; } ); } }
メッシュは以下の通りで、メッシュ数は1360です。
計算結果は以下の通りです。
2分8.94秒 ※シングル、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz