Sloshing of water in the tank

Update: July 10, 2017
OpenFOAM 4.x

Case directory

$FOAM_TUTORIALS/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D

Summary

Model geometry Model geometry

We will analyze the water's movement in a shaking tank using the mesh movement function for 40 seconds. The volume of water is assumed to be about 20% of the tank and the rest is air.

The physical properties of the water and air are specified in the files "constant/transportProperties" and "constant/thermophysicalProperties.*".

Mesh movement is specified in the file "constant/dynamicMeshDict" as follows.

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;
    }
}

In addition, the following settings are made in the file "system/controlDict" to output the pressure "p" at the specified point and surface. The output data will be saved in the folder "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;
            }
        );
    }
}

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

Mesh Meshes

The calculation result is as follows.

Volume ratio of water (alpha.water)
Volume ratio of water at initial time (alpha.water) Volume ratio of water at initial time (alpha.water)
Volume ratio of water at final time (alpha.water) Volume ratio of water at final time (alpha.water)
Time series of pressure p at the specified coordinates Time series of pressure "p" at the specified coordinates. Solid line: at (0 9.95 19.77), dashed line: at (0 -9.95 19.77).

Commands

cp -r $FOAM_TUTORIALS/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D sloshingTank2D
cd sloshingTank2D

m4 system/blockMeshDict.m4 > system/blockMeshDict
blockMesh
cp 0/alpha.water.orig 0/alpha.water
setFields
compressibleInterDyMFoam

# 3D display
paraFoam

# Draw the time series of pressure at the specified coordinates as a graph
gnuplot
gnuplot>plot "postProcessing/probes/0/p" using 1:2 title 'point 1' with lines lc rgb "black", "postProcessing/probes/0/p" using 1:3 title 'point 2' with lines dt (5,5) rgb "black"

Calculation time

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