Flow around the ship hull

Update: July 15, 2017
OpenFOAM 4.x

Case directory

$FOAM_TUTORIALS/multiphase/interDyMFoam/ras/DTCHull

Summary

We calculate the flow around the ship hull (DTC = Duisburg Test Case) for 50 seconds. The mesh deformation function is used to account for change of hull attitude due to forces applied to the hull.

Model geometry Model geometry
Model geometry (around ship hull) Model geometry (around ship hull)

Water flows in at (-1.668, 0, 0) m/s from the minimum X plane and out from the maximum X plane. We assume that the ship hull shape is symmetrical, so the analysis is performed with a half model.

The mesh deformation settings are specified in the file "constant/dynamicMeshDict".

To output the force on the hull (region "hull") at each time step, we make settings in the file "system/controlDict" as follows. The output results will be saved in the folder "postProcessing".

functions
{
    forces
    {
        type forces;
        libs ( "libforces.so" );
        patches (hull);
        rhoInf  998.8;
        log     on;
        writeControl   timeStep;
        writeInterval  1;
        CofR (2.929541 0 0.2);
    }
}

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

Mesh (entire) Mesh (entire)
Meshes around the ship hull Meshes around the ship hull
Meshes on the ship hull surface Meshes on the ship hull surface

The calculation result is as follows.

Ship hull surface pressure (p_rgh) and liquid level at the final time Ship hull surface pressure (p_rgh) and liquid level at the final time
Ship hull surface pressure at the final time (p_rgh) Ship hull surface pressure at the final time (p_rgh)

At the final time, the bow of the ship is sinking slightly downward.

Commands

cp -r $FOAM_TUTORIALS/multiphase/interDyMFoam/ras/DTCHull DTCHull
cd DTCHull

cp $FOAM_TUTORIALS/resources/geometry/DTC-scaled.stl.gz constant/triSurface/
surfaceFeatureExtract
blockMesh

topoSet -dict system/topoSetDict.1
refineMesh -dict system/refineMeshDict -overwrite
topoSet -dict system/topoSetDict.2
refineMesh -dict system/refineMeshDict -overwrite
topoSet -dict system/topoSetDict.3
refineMesh -dict system/refineMeshDict -overwrite
topoSet -dict system/topoSetDict.4
refineMesh -dict system/refineMeshDict -overwrite
topoSet -dict system/topoSetDict.5
refineMesh -dict system/refineMeshDict -overwrite
topoSet -dict system/topoSetDict.6
refineMesh -dict system/refineMeshDict -overwrite

snappyHexMesh -overwrite

rm -rf 0
cp -r 0.orig 0

setFields
decomposePar
mpirun -np 8 renumberMesh -overwrite -parallel
mpirun -np 8 interDyMFoam -parallel
reconstructPar

paraFoam

Calculation time

  • Making meshes: 6 minutes 33.54 seconds, Single
  • Calculating: 36 hours 46 minutes 1 second, 8 parallel

*Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz

Reference