Back to all tutorials

Car - 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. Create Case

Open SimFlow and create a new case named car

  1. Go to New panel

  2. Provide name car

  3. Click Create Case

car 1 create case

3. Import Geometry

Firstly we need to Download GeometryCar_body

  1. Click Import Geometry

  2. Select geometry file car_body.stl

  3. Click Open

car 2 import geometry

4. Imported Geometry Units

The STL geometry format does not store the unit in which the geometry was created. Geometry size shows the overall size of the model in each direction, what should help to choose the correct unit. In ours case, the default unit meter is correct.

  1. To confirm default unit meter, press OK

car 2 unit

5. Geometry - Car Body

After importing geometry, it will appear in the 3D window

  1. Click Fit View to zoom in on the geometry

car 3 geometry car body

6. Meshing Properties - Car Body

After geometry is loaded, we can proceed to define meshing properties. To better resolve the flow around the car body, we want to refine mesh near the car geometry by specifying minimum and maximum refinement levels.

  1. Go to Hex Meshing panel

  2. Select car_body geometry

  3. Enable Meshing Geometry

  4. Refine mesh near the surface of the car_body
    Refinement Min 3 Max 5

car 4 hex meshing geometry

7. Base Mesh

Base Mesh is a domain mesh of our simulation from which the final mesh will be created by carving out the geometry of the car.

  1. Go to Base tab

  2. Define base mesh parameters accordingly
    Min \({\sf [m]}\)-600
    Max \({\sf [m]}\)1468

  3. Set the division of the base mesh

car 5 hex meshing base

8. Base Mesh Boundaries

We need to assign individual names to each side of the base mesh in order to be later able to define different conditions on each side.

  1. Define boundary names accordingly
    X- inlet
    X+ outlet
    Y- bottom
    Y+ top
    Z- symmetry
    Z+ right

  2. 3 Define boundary types accordingly
    Y- wall
    Z- symmetry

car 6 initial boundary conditions

9. Material Point

Material Point tells the meshing algorithm on which side of the geometry the mesh is to be retained. We are modeling car aerodynamics so our material point needs to be located inside the Base Mesh but outside the car body.

  1. Go to Point tab

  2. Specify location inside base mesh but outside car geometry
    Material Point032

car 7 material point

10. Start Meshing

Everything is now set up for meshing

  1. Go to Mesh tab

  2. Press Mesh button to start meshing process

car 8 meshing

11. Mesh

After meshing is finished, the new mesh will be displayed in the graphics window. To show the mesh of the car body we can use the Graphics Object List.

  1. Click Graphics Object List icon

  2. Select Mesh to show meshes list

car 9 mesh

12. Mesh - Toggle Visibility

You can hide domain boundaries to inspect the mesh on the car body.

  1. 2 Hide the following objects

car 10 toggle visibility

13. Select Solver - SIMPLE

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

  1. Go to Setup panel

  2. Enable Steady State filter

  3. Enable Incompressible filter

  4. Select SIMPLE (simpleFoam) solver

  5. Select solver

car 11 select solver

14. 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 turbulence model
    Turbulence Modelling RANS

  3. Change default turbulence model
    Model \(k{-}\omega \; SST\)

car 12 turbulence

15. Boundary Conditions - Bottom (Flow)

We are simulating a car moving on a road. In this reference frame, the road has to move with respect to the car. We can achieve this by applying fixed velocity boundary condition on the bottom of the domain.

  1. Go to Boundary Conditions panel

  2. Select bottom boundary

  3. 4 Set velocity
    UTypeFixed Value
    UValue \({\sf [m/s]}\)2000

car 13 boundary conditions bottom flow

16. Boundary Conditions - Inlet (Flow)

On the inlet, we are going to apply constant velocity, similarly to the bottom .

  1. Select inlet boundary

  2. Change boundary character
    inlet Velocity Inlet

  3. Define inlet velocity
    UReference Value \({\sf [m/s]}\)20

car 14 boundary conditions inlet flow

17. Boundary Conditions - Inlet (Turbulence)

We are simulating a car moving in otherwise stationary air. Therefore, we specify low turbulence intensity on the inlet.

  1. Go to Turbulence boundary conditions tab

  2. 3 Set the following parameters accordingly
    kIntensity \({\sf [-]}\)5e-03
    \(\omega\)Mixing Length \({\sf [m]}\)1e-03

car 15 boundary conditions inlet turbulence

18. Boundary Conditions - Right (Flow)

On the right and top boundary, we are going to force velocity to be tangent to the boundary.

  1. Select right boundary condition

  2. Go to Flow tab

  3. 4 Define slip wall condition
    TypepZero Gradient

car 16 boundary conditions right flow

19. Boundary Conditions - Right (Turbulence)

  1. Go to Turbulence tab

  2. 3 Change turbulent kinetic energy and frequency types to
    TypekZero Gradient
    Type\(\omega\)Zero Gradient

car 17 boundary conditions right turbulence

20. Boundary Conditions - Top (Flow)

We need to repeat the same steps to the top boundary condition

  1. Select top boundary condition

  2. Go to Flow tab

  3. 4 Define slip wall condition
    TypepZero Gradient

car 18 boundary conditions top flow

21. Boundary Conditions - Top (Turbulence)

  1. Go to Turbulence tab

  2. 3 Change turbulent kinetic energy and frequency types
    TypekZero Gradient
    Type\(\omega\)Zero Gradient

car 19 boundary conditions top turbulence

22. Monitors - Forces

We want to monitor the simulation process by observing plots of the aerodynamic forces on the car

  1. Go to Monitors panel

  2. Go to Forces tab

  3. Enable observing forces on the car_body boundary
    Monitored Boundaries car_body

car 20 monitors forces

23. Run Simulation

  1. Go to Run panel

  2. Set maximal number of iteration that solver can perform before stopping
    Number of Iterations200

  3. Click Run Simulation button

Estimated computation time: 2 minutes

car 21 run simulation

24. Monitor Forces

During the simulation, we can observe whether forces on the car body stabilize which will mean that our simulation converges

car 22 monitor solution

25. Postprocessing - ParaView

After the simulation is finished, we can proceed to post-processing

  1. Go to Postprocessing panel

  2. Start ParaView

car 23 paraview postprocessing

26. ParaView - Load Results

  1. Make sure you have your case selected car.foam

  2. Click Apply to load results

car 24 paraview load results

27. ParaView - Set View Direction

After loading results, we have to rotate the domain or change view direction to see the car.

  1. Click Set view direction to +Z

car 25 paraview set view direction

28. ParaView - Display Velocity

We will now display velocity (U) contours.

  1. Load latest results by clicking Last Frame icon

  2. Select U (velocity) from the dropdown menu

  3. Click Rescale to data range

car 26 paraview display velocity

29. ParaView - Coloring (I)

We can change the coloring scheme in ParaView to have nicer colors.

  1. Click Edit Color Map from the menu placed on the left side, if the panel is not already shown.

  2. Select Choose Preset from the Color Map Editor placed by default on the right side of the ParaView

car 27 paraview coloring 1

30. ParaView - Coloring (II)

We can now select a new Color Preset.

  1. Select jet preset

  2. Apply changes

  3. Close the window

car 28 paraview coloring 2

31. ParaView - Coloring (III)

Now we can see the results with the new preset applied. We can also modify the number of displayed colors to see the results better.

  1. Decrease color scale resolution to make velocity regions more distinguishable (non-smooth color transition)
    Number of Table Values 20

car 29 paraview coloring 3

32. ParaView - Import Geometry

To display results on the original geometry, we can import the geometry directly into ParaView.

  1. Click Open and select the original car_body.stl geometry to import it into ParaView.

  2. Click on the Visibility icon to show the geometry.

car 30 paraview import geometry

33. ParaView - Final Results

Now we can see the final results with the original geometry.

car 31 final results