Incompressible turbulent airflow: Frontwing


The content of this tutorial is not up to date with the current live version of SimScale. The tutorial setup and the results are still valid! Please do not get confused if styles like buttons and entity names have changed in the meantime.

In this tutorial, a aerodynamic analysis of a F1 frontwing is presented. The flow around the wing is modeled as an incompressible, turbulent flow using a k-epsilon turbulence model. This tutorial is based on the first part of the SimScale F1 Simulation workshop series about aerodynamics.

Tutorial Link:

Import tutorial case into workspace


1) Import tutorial project

  • To start this tutorial, you have to import the tutorial project into your ‘Dashboard’ via the link above.
  • Once the ‘Work bench’ is open you will be in the ‘Mesh creator’ tab.
  • The Mesh Creator tab is the place where you can upload CAD models and create meshes for them.
  • The geometry is already available under the ‘geometry’ tree item.
  • Click on the CAD model named “FrontWing” to load the CAD model in the viewer.
  • After a few moments, the CAD model is displayed in the viewer like shown in the figure below
  • You can interact with the CAD model as in a normal desktop application

The CAD model displayed in the viewer

2) Create a mesh

  • To mesh the geometry, click on geometry in the Navigator tree and click on the blue Mesh geometry button in the settings panel.
  • A new mesh is created with a default mesh operation already assigned called “Operation 1”
  • We select the mesh operation type to “Hex-dominant parametric (CFD only)”.

Adding a mesh operation (Hex-dominant parametric) within the Mesh Creator

  • Adjust the Bounding Box Discretization to define the base size of the mesh.
  • We use the following values:
Bounding Box Discretization Value
Number of cells in x direction 25
Number of cells in y direction 5
Number of cells in z direction 5
  • You can also increase the number of processors used for the meshing process from 1 to 32 to reduce the time for meshing
  • Save the mesh operation by clicking on save button at bottom- it will automatically expanded the tree with items _BaseMeshBox and MaterialPoint
  • Now we specify the BaseMeshBox by the values shown in figure below

Define the base mesh box for the Hex-dominant parametric operation

  • Now change the “MaterialPoint” to (0, 1, 1)
  • Next, we define additional primitives of type ‘Cartesian Box’ that will be used for mesh refinement later on
  • We add a total of 3 cartesian boxes that will be used to further refine the mesh. This will increase the result quality of the simulation and allow enable you to resolve the wake of the wing.
  • The first one is called Region_1 and has the following values:
  • The second one is called Region_2 and has the following values:
  • The third one is called Region_3 and has the following values:
  • Now we move on to the “Mesh Refinements”.
  • Add a refinement of type “surface refinement” to control the cell size on top of the wing surfaces
  • Setup the values and properties as shown in figure below.

Adding a global surface refinement

  • Next we add “region refinements” as follows.
  • The region refinements have levels 5, 6 and 7 to be very fine near the wing and coarse in the far field
  • Define region refinements with the refinement boxes you created one step before. The following values are used:
Refinement Region Level
Region_Ref_1 5
Region_Ref_2 6
Region_Ref_3 7

Level 5 region refinement for region_1


Level 6 region refinement for region_2

  • Similarly add the last Region_Ref_3 of level-7 and save.
  • Next we add a set of finer layer cells on the wing surface as shown below.

To capture the viscous flow boundary layer, we refine the cells close to the wing using a “Layer addition” refinement

  • Then click the ‘Select All’ button under the ‘Selection’ option on top of the 3D viewer to select all faces of the wing only. (excluding the bounding box faces)
  • Then click on ‘Add selection from viewer’ to assign the layer addition refinement to these faces
  • Next, we add layer of cells at the bottom of the box, which will be the floor in the final simulation

Add a refinement of the boundary layer on the floor

  • Lastly, to resolve all edges we add a Feature refinement that will refine the cells close to an edge of the wing

Add a refinement to all edgess of the frontwing

  • Now our meshing operation is ready to go - let’s start it

Start the mesh operation (on 32 cores in our case)

  • After some time, the mesh will be finished and we can review it via the 3D viewer

Reviewing the resulting mesh

3) Specify the simulation properties

Having created the mesh, we can move on to the Simulation Designer tab in which we can create the actual numerical simulation setup. The images below show you the setup step by step.

  • First, we choose the analysis type and the properties as shown.

Simulation type choice

  • As soon as we save the analysis type choice, the tree is automaticall expanded with all the parameters and settings that are necessary to completely specify such an analysis.
  • Therefore you can simply go through the tree to complete the setup
  • All parts that are completed are highlighted with a green check. Parts that do need specification have a red circle
  • Next item is Domain. Choose here the mesh that we just created (via its name)

Assign the mesh to this simulation

  • Now we will group the surfaces of the mesh into “Topological Entity Sets” which will help us to define the boundary conditions in the next step. Therefore just pick the surfaces you want to group with your mouse and click on the Create set button.

The table shows the set summary

Topological Entitiy Description
symmetry boundingBox2
inlet boundingBox3
outlet boundingBox4
floor boundingBox5
walls boundingBox1, boundingBox6
frontwing All other surfaces

Create topological entities

  • Instead of picking all the surfaces of the wing you use the invert selection option
  • Figure shows list of all created sets and the number of faces/entities.
  • Next item is Material under “Model”. Here we select the fluid material from the material library.

Select material from material library


Assign material to the volume domain.

  • Next item is Initial conditions. Here you can specify the state of the fluid at the beginning of the simulation. We are using the following:
Variable Value Unit
pressure 0 m^2/s^2
velocity (x, y, z) (60, 0, 0) m/s
k 0.25 m^2/s^2
omega 1.8 1/s

Define the initial conditions of this simulation

  • The next item is the Boundary conditions.
  • So Add a new boundary condition and specify the type and values as shown in figures below:
  • For ‘Inlet’, enter the values as shown and select the ‘face set’ from the window and save.
  • For ‘Outlet’, enter the values as shown and select the ‘face set’ from the window and save.
  • For ‘Symmetry’, enter the type as shown and select the ‘face set’ from the window and save.
  • For ‘Side-walls’, enter the type as shown and select the ‘face set’ from the window and save.
  • For ‘Floor’, enter the values as shown and select the ‘face set’ from the window and save.
  • Lastly, for ‘Frontwing’, enter the values as shown and select the ‘face set’ from the window and save.
  • The next item is Numerics. Here one can specify the numerical setup of the simulation.
  • For this tutorial case, it is necessary to change some of the default settings.
  • Change Properties and ‘Relaxation factors’ according to the figure.
  • Additionally we will tweak some settings of the linear solvers according to the figure below:
  • Lastly change the following Divergence schemes.
Parameter Scheme  
Divergence scheme for div(phi,U) bounded Gauss upwind  
Divergence scheme for div(phi,k) bounded Gauss upwind  
Divergence scheme for div(phi,omega) bounded Gauss upwind  
  • Under Simulation control we can specify the global parameters of the simulation run
  • Since we are running a steady-state analysis, the time steps are only “quasi time steps”
  • Specify the values as shown in figure below.

Set up the simulation control parameters such as run time and time step length

4) Start a simulation run

  • The last thing to do for running this simulation is to create a run.
  • The new run is created and you can review all setting by expanding it
  • Then, hit the Start button and confirm

Create a new simulation run and start it

5) Post-Processing

Once the simulation is finished, move to the Post-Processor tab.

  • The results can now either be post-processed in the integrated post-processing environment
  • Or they can be downloaded and post-processed locally (e.g. with ParaView)

Use the integrated post-processing system for result analysis


Or download the results and post-process locally in Paraview