Update: June 1, 2017

$FOAM_TUTORIALS/incompressible/pimpleDyMFoam/mixerVesselAMI2D

We will calculate the flow around a rotating rotor in a cylinder with the moving mesh function.

Model

The cell zone "rotor" in the cylinder (the inner area of red color) rotates at a speed of 6.2832 rad/s (=360 degrees/second) around the Z axis. The rotation area, rotation axis, and rotation speed are specified in the file constant/dynamicMeshDict as follows.

dynamicFvMesh solidBodyMotionFvMesh; motionSolverLibs ( "libfvMotionSolvers.so" ); solidBodyMotionFvMeshCoeffs { cellZone rotor; solidBodyMotionFunction rotatingMotion; rotatingMotionCoeffs { origin (0 0 0); axis (0 0 1); omega 6.2832; } }

The Z-axis direction is a single mesh, and the problem is solved as a 2-dimensional problem.

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

Mesh (Entire)

The calculation result is as follows.

Mesh movement (rotated counterclockwise about the Z axis)

Flow velocity (U)

Flow velocity (U)

Pressure (p)

We can see that the calculated values are exchanged at the boundaries of the stationary meshes and rotating meshes, and the values are continuously changing.

cp -r $FOAM_TUTORIALS/incompressible/pimpleDyMFoam/mixerVesselAMI2D mixerVesselAMI2D

cd mixerVesselAMI2D

m4 < system/blockMeshDict.m4 > system/blockMeshDict

blockMesh

topoSet

decomposePar

mpirun -np 4 pimpleDyMFoam -parallel

reconstructPar

paraFoam

cd mixerVesselAMI2D

m4 < system/blockMeshDict.m4 > system/blockMeshDict

blockMesh

topoSet

decomposePar

mpirun -np 4 pimpleDyMFoam -parallel

reconstructPar

paraFoam

- 28.24 seconds *4 parallel, Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz