$FOAM_TUTORIALS/multiphase/interDyMFoam/ras/floatingObject
解析モデル
メッシュを変形させることで水面に浮かんだ物体の動きを6秒分だけ計算します。解析領域は天井面(Z 軸方向最大面)のみ開放されているとし、それ以外の面は壁であるとします。
メッシュ変形の設定はファイル constant/dynamicMeshDict で以下の様に指定します。水面に浮かんだ物体(領域 floatingObject)に働く力に応じて剛体移動計算が行われ、その結果に応じてメッシュが変形します。剛体計算にはニューマーク法が使用されます。
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("librigidBodyMeshMotion.so");
solver rigidBodyMotion;
rigidBodyMotionCoeffs
{
report on;
solver
{
type Newmark;
}
accelerationRelaxation 0.7;
bodies
{
floatingObject
{
type cuboid;
parent root;
// 直方体の寸法
Lx 0.3;
Ly 0.2;
Lz 0.5;
// 直方体の密度
rho 500;
// 直方体の質量
mass #calc "$rho*$Lx*$Ly*$Lz";
L ($Lx $Ly $Lz);
centreOfMass (0 0 0.25);
transform (1 0 0 0 1 0 0 0 1) (0.5 0.45 0.1);
joint
{
type composite;
joints
(
{
type Py;
}
{
type Ry;
}
);
}
patches (floatingObject);
innerDistance 0.05;
outerDistance 0.35;
}
}
}
メッシュは以下の通りで、メッシュ数は11640です。
メッシュ
領域 floatingObject 周りの分割の様子
計算結果は以下の通りです。
初期時刻での液面、浮遊物体、メッシュ断面
時刻3.4秒での液面、浮遊物体、メッシュ断面
波によって揺れる物体が、メッシュの変形によって再現されていることがわかります。
2分33.89秒 ※シングル、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz