Mixing flow by rotating blades

Update: December 17, 2018
OpenFOAM 4.x

Case directory



We calculate a rotor blade mixing the flow for 2 seconds.

The analysis domain is divided into 2 cylinders that have a same center. The inner cylinder has a rotating shaft (region "shaft": the blue part) and a rotor blade attached to it (region "rotorBlades": green part), while the outer cylinder has a stationary blade (region "statorBlades": red part). The inner cylinder rotates at 25 rad/s. The flow enters from the inner cylinder's Z minimum surface at 0.2 m/s and from the outer cylinder's Z minimum surface at 0.1 m/s, and exits from the both cylinders's Z maximum surface.

Model geometry Model geometry

The boundary conditions and the rotation of the inner cylinder are defined in the files "boundaryConditions" and "caseSettings" in the folder "constant", and are referenced by including these files.

For example, the rotation of the inner cylinder is defined in the "file dynamicMeshDict" in the folder "constant" as follows, but the actual amount of rotation, omega, is defined in the file "caseSettings" and is referenced as $:meshMotionProperties.omega.

#include "${FOAM_CASE}/constant/caseSettings"

dynamicFvMesh   solidBodyMotionFvMesh;

	cellZone        rotatingZone;

	solidBodyMotionFunction  rotatingMotion;
		origin      (0 0 0);
		axis        (0 0 1);
		omega       $:meshMotionProperties.omega;

Standard k-ε model is used as turbulence model.

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

Mesh Meshes
Meshes (Rotating axis and blades) Meshes (Rotating axis and blades)
Mesh cross section Mesh cross section

The calculation result is as follows.

Flow velocity (U)

Here is what it looks like in the center section of the domain at the final time.

Flow velocity at final time (U) Flow velocity at final time (U)
Density at final time (rho) Density at final time (rho)
Temperature at final time (T) Temperature at final time (T)


cp -r $FOAM_TUTORIALS/compressible/rhoPimpleDyMFoam/annularThermalMixer annularThermalMixer
cd annularThermalMixer

# Make mesh
snappyHexMesh -overwrite
createBaffles -overwrite
mergeOrSplitBaffles -split -overwrite

# Copy initial conditions
cp -r 0.orig 0



Calculation time

50 minutes 44.93 seconds *Single, Inter(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19GHz