Mesh deformation

Update: June 1, 2017
OpenFOAM 4.x

Case directory

$FOAM_TUTORIALS/mesh/moveDynamicMesh/SnakeRiverCanyon

Summary

We deform the mesh so that it fit to the specified shape.

The final shape can be set by specifying the polygon shape file constant/triSurface/AcrossRiver.stl.gz as the boundary condition in the file 0/pointDisplacement.

The shape defined in AcrossRiver.stl.gz The shape defined in AcrossRiver.stl.gz

AcrossRiver.stl is set to region minZ in the file 0/pointDisplacement.

minZ
{
    type            surfaceDisplacement;
    value           uniform (0 0 0);
    velocity            (10 10 10);
    geometry
    {
        AcrossRiver.stl
        {
            type triSurfaceMesh;
        }
    };
    projectMode fixedNormal;
    projectDirection (0 0 1);
    wedgePlane      -1;
}		

The deformation method can be specified in the file constant/dynamicMeshDict as follows.

dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libfvMotionSolvers.so");
solver displacementSBRStress;
displacementSBRStressCoeffs
{
    diffusivity  quadratic inverseDistance 1(minZ);
}

The mesh will be deformed as follows.

Mesh deformation
Initial mesh Initial mesh
Final mesh Final mesh

Commands

cp -r $FOAM_TUTORIALS/mesh/moveDynamicMesh/SnakeRiverCanyon SnakeRiverCanyon
cd SnakeRiverCanyon

blockMesh
moveDynamicMesh

paraFoam

Calculation time

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

Reference