﻿ Motion of a rigid body floating on a liquid surface - XSim

# Motion of a rigid body floating on a liquid surface

Update: July 10, 2017
OpenFOAM 4.x

## Case directory

\$FOAM_TUTORIALS/multiphase/interDyMFoam/ras/floatingObject

## Summary

Model geometry

We calculate the motion of an object floating on the water surface for 6 seconds using deforming the mesh. Only the ceiling surface of the analysis domain is assumed to be open, while the other surfaces are walls.

The mesh deformation settings are specified in the file "constant/dynamicMeshDict" as follows. The mesh is deformed according to the result of the rigid body movement calculation based on the force acting on the object (region "floatingObject"). The Newmark method is used for the rigid body movement calculation.

```dynamicFvMesh       dynamicMotionSolverFvMesh;
motionSolverLibs   ("librigidBodyMeshMotion.so");
solver             rigidBodyMotion;

rigidBodyMotionCoeffs
{
report          on;

solver
{
type Newmark;
}

accelerationRelaxation 0.7;

bodies
{
floatingObject
{
type            cuboid;
parent          root;

// Cuboid dimensions
Lx              0.3;
Ly              0.2;
Lz              0.5;

// Density of the cuboid
rho             500;

// Cuboid mass
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;
}
}
}
```

The meshes are as follows, and the number of mesh is 11640.

Meshes
Meshes for region "floatingObject"

The calculation result is as follows.

Surface of water volume ratio 0.5
Liquid surface, floating object and mesh cross section at initial time
Liquid surface, floating object and mesh cross section at 3.4 sec

We can see that the objects shaken by the waves are reproduced by deforming the mesh.

## Commands

cp -r \$FOAM_TUTORIALS/multiphase/interDyMFoam/ras/floatingObject floatingObject
cd floatingObject

blockMesh
topoSet
subsetMesh -overwrite c0 -patch floatingObject
cp -r 0.orig 0
setFields

interDyMFoam

paraFoam

## Calculation time

2分33.89 seconds *Single, Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz