Back to all tutorials

Airfoil (NACA 0012) - CFD Simulation SimFlow Tutorial

1. Download SimFlow

SimFlow is a general purpose CFD Software

To follow this tutorial, you will need SimFlow free version, you may download it via the following link:
Download SimFlow

2. Enable Airfoil Feature

We need to enable the Airfoil feature in the SimFlow launcher in the Advanced Settings section.

  1. Go to Advanced Settings panel

  2. Expand features list by clicking Manage Features

  3. Choose Airfoil from the list and close the Advanced Settings panel

nc 01 enable airfoil feature

3. Create Case

Open SimFlow and create a new case named airfoil_naca_0012

  1. Go to New panel

  2. Provide name airfoil_naca_0012

  3. Click Create Case

nc 02 create case

4. Import Geometry

Firstly we need to Download GeometryNaca0012

  1. Go to Airfoil panel

  2. Click Import Geometry

  3. Select geometry file naca0012.dat

  4. Click Open

nc 03 import airfoil geometry

5. Airfoil Meshing

  1. Set Radius [m] to 25 meters

  2. Set the following parameters accordingly
    Surface Cell Thickness \({\sf [m]}\)2e-04
    Min Surface Cell Length \({\sf [m]}\)2e-03
    Max Surface Cell Length \({\sf [m]}\)8e-03

  3. Click Mesh to start the meshing process

nc 04 airfoil meshing

6. Mesh

After creating a mesh, it will appear in the 3D window.

  1. Click XZ View

  2. Click Fit View to zoom the mesh

  3. Change view projection from Perspective to Parallel

  4. Zoom in the middle section of the mesh by using scroll mouse button

  5. If you zoom in enough, airfoil shape should appear

nc 05 mesh

7. Inspect Mesh Boundaries

Now we will check if the boundaries are set properly.

  1. Inspect boundaries

nc 06 mesh boundaries

8. Select Solver - SIMPLE

We want to analyze incompressible turbulent flow around the Airfoil. For this purpose, we will use the SIMPLE (simpleFoam) solver.

  1. Go to Setup panel

  2. Select Steady State filter

  3. Select Incompressible filter

  4. Pick SIMPLE (simpleFoam) solver

  5. Select solver

nc 07 select solver

9. Turbulence

We are going to use the standard \(k-\omega \; SST\) model to handle turbulence. This model gives very good agreement with experimental data and is commonly used for aerodynamics applications.

  1. Go to Turbulence panel

  2. Select RANS modeling

  3. Select \(k-\omega \; SST\) model

nc 08 turbulence

10. Dicretization - Convection

  1. Go to Discretization panel

  2. Go to Convection tab

  3. Select Linear Upwind for U (Velocity) parameter

nc 09 discretization convection

11. Solution - Solvers (Pressure)

The calculations will be run until Residuals will drop down under 10 −6 . This criterion will guarantee high accuracy and will require more iteration. To make sure that the fluid solver will be able to capture very small changes in the flow, we need to make sure that the linear solvers for fluid flow equations will also be able to operate on very slight flow changes. To do this, we will change default solver tolerances.

  1. Go to Solution panel

  2. Expand list of options

  3. Set Tolerance to 1e-07

nc 10 solution solvers p

12. Solution - Solvers (Velocity)

  1. Go to U (Velocity) tab

  2. Expand list of options

  3. Set following parameters accordingly
    Relative Tolerance1e-02

nc 11 solution solvers u

13. Solution - SIMPLE

  1. Go to SIMPLE tab

  2. Set Non-Orthogonal Corrections to 2

nc 12 solution simple

14. Solution - Residuals

  1. Go to Residuals tab

  2. Set following parameters accordingly

nc 13 solution residuals

15. Parameter - U (Velocity)

It is handy to parameterize velocity value to be easily accessible in the further setup. To be able to compare the results with test results we should assume \(Re=6000000\). Based on the air viscosity \(\nu = 1.5 \cdot 10^{-5} \; m^2/s \) and chord \(c\approx 1 \;m\) we calculate the velocity from the equation: \(V=Re \cdot \frac{\nu}{c}\)

  1. Go to Parameters panel

  2. Define the name and formula of the new parameter

  3. Click Create Parameter

  4. The newly created parameter will be shown in the parameters list

nc 14 parameters u velocity

16. Boundary Conditions - Inlet (Flow)

  1. Go to Boundary Conditions panel

  2. Select inlet boudary

  3. Change boundary character to Free Stream

  4. Set to velocity type to Free Stream

  5. Now we can use parameter U defined earlier
    Freestream Value \({\sf [m/s]}\)U00

nc 15 boundary conditions inlet flow

17. Boundary Conditions - Inlet (Turbulence)

  1. Go to Turbulence tab

  2. Set Mixing Length \({\sf [m]}\)0.07

nc 16 boundary conditions inlet turbulence

18. Initial Conditions - Basic

  1. Go to Initial Conditions panel

  2. Set following initial conditions accordingly

nc 17 initial conditions basic

19. Initial Conditions - Potential

We will use the "Potential" initialization feature. This utility solves pseudo potential flow prior to actual calculations. This will give a better initial guess for velocity and pressure fields.

  1. Go to Potential tab

  2. Check Initialize Potential Flow

nc 18 initial conditions potential

20. Monitors - Forces

  1. Go to the Monitors panel

  2. Go to the Forces tab

  3. For Monitor Boundaries select lower tip upper

  4. Check Monitor Coefficients

  5. Define free stram velocity accordingly

\(U_\infty\) \({\sf [m/s]}\)U

nc 19 monitors forces

21. Monitors - Create Slice

Additionally to observing force coefficients, we will display intermediate results on a section plane.

  1. Go to Sampling tab

  2. Add new Slice

  3. Set the follwing parameters accordingly
    Normal \({\sf [-]}\)010
    Point \({\sf [m]}\)000

  4. Expand Fields menu. Choose p U k (pressure, velocity and turbulent kinetic energy) to be sampled on the section plane.

nc 20 monitors sampling

22. Run - Time Control

  1. Go to Run panel

  2. Set Number of Iterations to 5000

nc 21 run time control

23. Run - Output

  1. Go to Output tab

  2. Set Interval [-] to 100

This controls when results are written to the hard drive. When slices are enabled this also applies to them. Each new result will be displayed at a specified interval.

nc 22 run output

24. Run - CPU

To speed up the calculation process increase the number of CPUs basing on your PC capability. The free version allows you to use only 2 processors in parallel mode. To get the full version, you can use the contact form to Request 30-day Trial

Estimated computation time for 2 processors: 15 minutes

  1. Switch to CPU tab

  2. Use parallel mode

  3. Increase the Number of processors

  4. Click Run Simulation button

nc 22 run cpu

25. Slice - View Velocity field

  1. Change tab to Slices

  2. Choose U (Velocity) field

  3. Click Adjust range to data adjust color range to actually displayed data

nc 23 slice view velocity

26. Results - Force Coefficients

  1. Change tab to Force Coefficients

  2. Click Fit Axes

  3. Select Lookup Data

  4. Choose the last point from the chart

  5. Read the Lift coefficient

nc 23 results force coeff

27. Reset Simulation

If you want to change the angle of the attack, you should first reset the simulation in the run panel.

  1. Go to Run Panel

  2. Reset Simulation

nc 24 reset simulation

28. Change Angle of Attack

In the Airfoil panel, we can now remesh the Airfoil change angle of attack. And then rerun the simulation.

  1. Go to Airfoil panel

  2. Change the Angle of attack for the desired value for example
    Angle of Attack \({\sf [deg]}\)5

  3. Click Mesh button

nc 25 angle of attack

29. Mesh - Second Case

After creating a mesh, it will appear in the 3D window.

  1. Click XZ View

nc 26 mesh 5deg

30. Run Second Simulation

  1. Go to Run panel

  2. Click Run Simulation button

nc 27 run2

31. Results Comparison With Experimental Data

You might repeat the above operations for different angles of attack, e.g: 5, 10 and 15 degrees. Next comparing them with the experimental data (NASA Langley, 1988) you should be able to obtain the following results.

nc 28 results comparison