Flow around an oscillating airfoil

Update: June 1, 2017
OpenFOAM 4.x

Case directory



We will calculate the flow around an oscillating airfoil.

The process proceeds as follows.

  1. Create 3-D meshes.
  2. Create 2-D meshes by extruding one surface of the 3-D meshes
  3. Calculate the 2-D steady state with stationary the airfoil.
  4. Calculate the unsteady state by moving the airfoil with the steady state as the initial condition.
Model Model
The fluid flows in from the region "inlet" at (100, 0, 0) m/s and out from the region "outlet". The upper and lower channel walls (region "topAndBottom") are set to slip wall conditions. The mesh motion (6DOF rigid body motion) is specified in the file constant/dynamicMeshDict. At the staticDoFRigidBodyMotionCoefficients condition, the "patches" specifies the motion area, "constraints" specify the constraints, and "restraints" specify the spring conditions.

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

Mesh (entire) Mesh (entire)
Mesh (around airfoil) Mesh (around airfoil)
Mesh (zoomed) Mesh (zoomed)

The calculation result is as follows.

Mesh motion
Flow velocity (U)
Flow velocity at final time (U) Flow velocity at final time (U)
Pressure at final time (p) Pressure at final time (p)


cp -r $FOAM_TUTORIALS/incompressible/pimpleDyMFoam/wingMotion wingMotion
cd wingMotion

# Creating 3-D meshes
cd wingMotion_snappyHexMesh
snappyHexMesh -overwrite

# Creating 2-D meshes and calculating steady state
cd ../wingMotion2D_simpleFoam
createPatch -overwrite
cp -r 0.orig 0

# Calculating unsteady state
cd ../wingMotion2D_pimpleDyMFoam
cp -r ../wingMotion2D_simpleFoam/constant/polyMesh constant
cp -r 0.orig 0
mapFields ../wingMotion2D_simpleFoam -sourceTime latestTime -consistent
mv 0/pointDisplacement.unmapped 0/pointDisplacement
mpirun -np 4 pimpleDyMFoam -parallel


Calculation time

  • Meshing (single): 24.92 seconds
  • Steady calculation (single): 68.68 seconds
  • Unsteady calculation (4 parallel): 3 hours 35 minutes 27.33 seconds

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