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 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.

Mesh Meshes
Meshes for region floatingObject 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 initial time
Liquid surface, floating object and mesh cross section at 3.4 sec 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

Reference