SimScale CAE Forum

Step-by-Step Tutorial: Session 2


Sports Aerodynamics Workshop: Session 2 Homework


Homework Submission

Submitting all three homework assignments will entitle you to a certificate of participation.

Homework 2 - Deadline: 13th March, 12pm

Submission form


Having been familiarized with the SimScale platform, the user can now follow this tutorial which aims at providing hands-on experience with the platform. Essentially, a parametric study generic to Bicycling aerodynamic analysis is the central topic of this homework assignment. The user is enabled to explore the end-to-end (geometry upload to post-processing) approach of the SimScale platform.

Bicycling aerodynamics refers to the the aerodynamics of the bicycle and the rider taken as a system. In order to understand and enhance the bicyclist’s performance, it is important to quantify the aerodynamic forces acting on the system. The two major forces to be analysed would be the drag and the side force. The aerodynamic forces acting on a bicyclist can be split into two parts, viz. pressure forces and viscous forces. Computational Fluid Dynamics is powerful tool which aids in the quantification of the forces acting on the bicyclist.

The session 2 of the Sports Aerodynamics Workshop entailed a detailed aerodynamic study of the system for different parameters such as thickness of the wheel, slide slip angle, and wind speeds.

This demo step-by-step tutorial considers the wheel at a translation velocity of 11.1 m/s and a rotation velocity of 30.6 rad/s at a side-slip angle of 20o.


In this exercise, you are given a bicycle wheel which is to be analysed under two different side-slip angles using the SimScale platform. A geometry has been provided in the Handout Project. The mesh is to be generated followed by the simulation setup and post-processing. The velocity of the wheel is 11.1 m/s at atmospheric pressure. The two side-slip angles in the range from 2o to 30o can be selected from the list below.

(*)Please Note: This range is intended to operate within safe bounds of strong separations, which in turn would lead to the strong vortices and possibly lead to numerical instabilities in the solver. The more curious users are free to explore!


  1. Link to your simulation project for your first side-slip angle.
  2. Link to your simulation project for your second side-slip angle.
  3. Evaluation of Drag and Side Forces from the two simulations.
  4. Post processing images for Pressure(static) Iso-surface, Total Pressure slices and Velocity streamlines (optional: with comments on the physics)

Note: Please include the side-slip angle which you select in the name of your simulation. For example, Simulation-Sideslip20deg

Handout Project:

This project can be used as a starting point for your simulation.

Mesh Generation

Once the geometry has been imported into the platform, we proceed to the mesh generation. In the navigator pane, please select Meshes button and click on New.

The platform now provides you with the option to select the geometry you would like to work with. This option comes in handy when a parametric study with geometric variations is needed. In this homework exercise, we will work with a single geometry. Please assign an appropriate name for your mesh and select the geometry, bike_tyre_mesh.

We will be using the Hex-dominant parametric (only CFD) option for this homework. This approach provides a good user-control over the mesh.

Please enter the number of cells in the x-, y- and z- directions as per the image below. This is done to have a uniform mesh in all directions.

Min. Point (x )= -5
Min. Point (y) = -2
Min. Point (z) = -0.0025
Max. Point (x) = 10
Max. Point (y) = 3
Max. Point (z) = 3

The introduction of a Background Mesh Box splits the domain into two parts; inside the bike tyre and outside the bike tyre. The material point decides the part of domain on which the calculations will be made. This tutorial aims at simulating the external flow around the bike tyre, hence the Material point can be placed anywhere outside the bike tyre (but within the bounds of the Background Mesh Box). We select our Material Point at the location: (0,0,0).

To create a new geometry primitive, go to Geometry Primitives and please click on New. Then select the option, Cylinder.

As can be seen in here, the cylinder is chosen to be asymmetric to account for the side-lip in the y-direction.

Now, we proceed to add another geometry primitive to our domain. Then select the option, Cartesian Box.

Mesh refinements are crucial to the convergence and accuracy of any CFD simulation. As a next step, we move onto mesh refinements by selecting Mesh Refinements in the Navigation pane and followed by clicking on New.

Please Note: After creating a new mesh refinement, select the Type and click on Save.

A Surface Refinement can be created for faces or solids. In both cases, the mesh will be refined near the surface of the selected object. Please implement a surface refinement as shown in the below image.

Region Refinement provides the option to refine your mesh in a pre-specified region. This region may be a solid body or a geometry primitive. We had previously defined a cylinder, which will now serve the purpose of region refinement. Please make sure that the Region refinement mode is set to inside. Select Cylinder from the Geometry Primitives as the region to be refined.

We will now add a second Region Refinement with the Cartesian Box which we created earlier. Please make sure that the Region refinement mode is set to inside. Select Cartesian Box from the Geometry Primitives as the region to be refined.

The purpose of having two refinements is to reduce the refinement upstream of the wheel, where the physics do not dominate in importance. This would help you save Core hours while running the simulations.

Feature Refinement allows you to create a finer mesh close to edges. It extracts the edges from the surfaces and refines the mesh as defined in the “Feature Refinement Levels” panel.

The Inflate Boundary Layer option enables you to define prism layers on the selected faces in order to efficiently capture the boundary layer. The Inflate Boundary Layer is especially important in this homework assignment since we have strong re-circulation and vortices in the wake of the bike wheel, which are consequences of boundary layer separations. The y+ values are limited by this refinement. Please add a new refinement and select the Type as Inflate Boundary Layer. Next, click on Save.

Number of layers = 3
Expansion ratio for layer cell thickness = 1.3
Thickness of the final layer = 0.3
Minimum overall layer thickness = 0.03

You are now ready to begin the mesh generation. Please select Operation 1 from the Navigation pane and click on Start.

The mesh can now be visualized on the platform:

The more enthusiastic users can also qualitatively and quantitatively analyse the mesh in more detail with mesh clips and the meshing log, respectively.

Simulation Setup

The mesh now been setup and satisfactorily analysed. The next step in your workflow is to move into the Simulation Designer. To create a new simulation, please click on New.

Please assign a name to your simulation and click Create.

Based on the fact that the maximum speeds attained by the bicylist are well below Mach 0.3 (a thumb-rule for compressibility), Incompressible can be selected as the Analysis Type.

Proceeding to Domain selection, you can select the mesh on which you want the simulation to be performed. This is particularly productive when you would like to work with different meshes.

The working fluid is now assigned. A pre-defined material can be imported from the material library by clicking on Import from Material Library and selecting Air. Please select the volumetric region on which the material needs to be assigned, under the tab Topological Mapping.

The initial conditions are assigned to the whole domain at the start of a simulation. During a simulation, the solver tries to converge the solution fields after taking these initial condition values as a starting point. Therefore, it is important to assign best guesses or analytical solutions as initial conditions when possible.

We assume a low turbulence intensity of air (I=5%=0.05) for our simulation. The values of Turbulence Kinetic Energy (K) and Omega (ω) can be calculated (Formulae)*:

Turbulence Kinetic Energy (K) = 0.00462
Omega (ω) = 1.3594

Please feed in the values of K and omega into their respective positions in the Navigation Pane.

The overview of the boundaries and physics setup is as follows:

You may now proceed to setup the physics of the simulation. To create a new boundary condition, please select Boundary Conditions in the Navigation plane and click on New.

This boundary condition, known as Freestream, is a bit tricky. Owing to the fact that the freestream velocity is inclined in the XY-direction, there will be a component of velocity which either enters or exits the domain from the left and right bounds(Y-direction) of the domain. Hence, the use of a standard “Slip Wall” boundary condition is not advisable in this case. In order to circumvent this, you can select a Custom boundary condition and assign Inlet-Outlet to the Velocity field.

The Freestream boundary condition can be created as follows:

(*) The slip Wall condition is acceptable for the top and bottom bounds(Z-direction) of the domain since there is no physical flow entering the domain.

(*) A nascent CFD user might wonder as to why the bottom wall (the ground) has been indicated as a Slip wall rather than a No-slip wall. It can be pointed out here that we intend to computationally model the physics of the tyre moving relative to the ground with stationary air rather than the tyre as stationary relative to the ground with moving air. The specification of a no-slip wall would lead to the formation of non-physical (unwanted) boundary layers, hence a slip wall has been used to model the ground.

Please create a New Boundary Condition. The FreestreamWalls boundary condition can be created as follows:

Please create a New Boundary Condition. The tyre boundary condition can be created as follows:

The Numerics on the platform have been optimized and do not need to be changed for this simulation. You could analyse them by selecting Numerics in the Navigation pane :

The Simulation Control provides user-control over the simulation. You can increase the Number of computing cores to 32 and Maximum runtime to 10000s.

Please note: The End time value represents the computation time and Maximum runtime represents the wall clock time (real time!)

For the purpose of accurate verification or validation of the results, additional solution fields need to be post-processed. The platform provides a Result Control panel to serve this purpose. The additional Result Control Items (solution fields) can be setup and exported as follows:

You are now almost ready to start your simulation run. Please navigate to Simulation Runs in the Navigation pane and Check the simulation setup. If there is no error, please create a new run by clicking on New.

Please click on Start to begin your simulation run.

To create the proceeding simulations, you can simply duplicate the simulation setup by right clicking on the simulation you would like to duplicate and press Duplicate.

Please feed-in the name of your new simulation and click on Save.


Convergence Plot:

Please navigate to the Post-Processor in the workflow and select Solution fields.

The convergence can be visualized from by selecting the Convergence plot in the Navigation pane.

To add a duplicate of the result, right click on Solution fields and select Load results in viewer. Please ensure that the mesh Region > Internal mesh and all Cell arrays have been selected.

In the second Run 1, select the Mesh regions: solid_0_wheel and solid_0_rim and the Cell Arrays: wallShearStress and yplus

Please make the first Run 1 invisible by clicking on the eye-symbol. This first Run 1 is the simulation run on which we will be performing the post-processing.


We now intend to visualize the pressure build up on the wheel on account of the side wind. This can be done with the Contour filter. An iso-surface at reasonably high pressure values may be plotted to represent the pressure build up.

To create a new filter, select the first Run 1 and click on Add filter.

Then, select Contour as the filter.

The iso-surface contours may be setup as follows:

Slices provide planar representations of Solution fields. We use the slices to analyse the total pressure field around the tyre and in the wake. Total pressure values represent the energy in the flow and is an ideal field to be analysed in the wake.

To create a new filter, select the first Run 1 and click on Add filter.

The Slice may be setup as follows:

Please enable the Colour bar and adjust the Custom data range to suitable values. For this case, a range of [-50Pa,100Pa] has been selected.

The position of the plane can be varied with the tabs Origin and Normal.

Slices in the XY plane:


Streamlines of velocity provide a good qualitative representation of the flow dynamics in the wake region. The streamlines are represented in the Post-processor by a Stream tracer.

To add a Stream tracer, please add a New Filter and select Stream tracer

The Stream tracer may be setup as follows:

If you now make the Contour1 created earlier visible, you can qualitatively analyse the effect of the pressure build up on the velocity.

Force plot:

The aerodynamic forces viz. pressure and viscous forces can be directly visualized from the Force Plot. The unwanted forces can be deselected by simply clicking on them.

As a general best practice for steady state flow problems, it is advisable to average the flow properties, such as Forces, over the final timesteps.

The drag and the side forces may be calculated from the averaged value of the forces as follows:

Drag = Pressure force x + Viscous force x

Side Force = Pressure force y + Viscous force y

The user is also free to analyse the results locally by downloading it to their system. An opensource post-processor, Paraview, can be downloaded here.

Thank you very much for your attention and Happy Simulating.

'Oranges' simulation project by arobbins



Shouldn’t the ‘Use relative size for layers?’ be set to false in the mesh generation?


Hi @svan_den_broek,

Thanks for the question.

The layer addition bases itself on the algorithm to add layers if the Minimum overall layer thickness is smaller than the smallest layer in the vicinity of it; when Use relative size for layers? is set to false.

In this case for example, if the Use relative size for layers? has been set to false, the mesh would not add any layers near the regions of feature refinement. This is because the top level mesh size(largest cells near freestream) is 0.066 and with a feature refinement of 7, we would have:

0.066/27 < 0.003

which is the Minimum overall layer thickness.

Hope this clears it up a bit :slight_smile:




I can’t find a parameter in the force plot and field calculation section. can anyone check my work and tell me where am I making mistake?

my project link:



Hi @debroy84863568,

You’re not making a mistake - we’ve just done an update to real pressure units for incompressible flow. Please have a look at this post:

We will update the tutorial to reflect these changes this week.

Thanks for your understanding,


thanks for the info. now my doubts are clear… :slight_smile:


I would like to point out a correction.

the turbulent kinetic energy K should be 1.5 * ( 11.1 * 0.05)^2 = 0.462 and not 0.00462.
Kindly take note.

PS: Kindly please do tell me if there is any other reason for taking 0.00462.


Thanks for your input @atulsingh92!

@kcontractor will soon answer this topic and clarify the issue.

Enjoy your weekend!