Fill out the form to download

Required field
Required field
Not a valid email address
Required field


Tutorial: Compressible CFD Simulation of a Golf Ball

This tutorials shows how a compressible simulation of a golf ball can be created.

golf ball streamlines results
Figure 1: Visualization of the pressure distribution across streamlines that flow around the golf ball.

This tutorial teaches how to:

  • set up and run a compressible simulation
  • assign topological entity sets in SimScale
  • assign boundary conditions, material and other properties to the simulation
  • mesh with the SimScale standard meshing algorithm

We are following the typical SimScale workflow:

  1. Preparing the CAD model for the simulation
  2. Setting up the simulation
  3. Creating the mesh
  4. Run the simulation and analyze the results

1. Prepare the CAD Model and Select the Analysis Type

1.1.Import the CAD Model Into Your Workbench

First of all click the button below. It will copy the tutorial project containing the geometry into your own workbench.

The following picture demonstrates what should be visible after importing the tutorial project.

import cad workbench
Figure 2: Imported CAD model of the golf ball in the SimScale workbench.

1.2. Use Geometry Operations on the CAD

The first step for this simulation is the creation of an enclosure. This will be the domain that will be used for the external CFD analysis.
Select a new Geometry Operation‘, then pick the ‘Enclosure‘ option.

geometry operation enclosure golf ball
Figure 3: Adding a new geometry operation for an enclosure creation.

Then fill in the dimensions of the domain, like bellow, where L is the diameter of the golf ball:

enclosure reference length
Figure 4: The size of the domain according to the reference length of the model.

In more details, the size of the domain is as following. Click on ‘Start‘.

enclosure dimensions
Figure 5: The dimensions of the domain.

After a few seconds, the enclosure will be created.

1.3. Create Topological Entities

Create a topological entity set for the golf ball:

  • Hide the walls of the Enclosure by selecting each one of them on the workbench, then right-click and choose the ‘Hide selection’ option.
enclosure faces hide selection workbench
Figure 6: Hiding the walls of the domain.
  • Activate the box selection at the top of the page.
  • Drag it across the model until all the faces are selected.
  • Click on the ‘+’ next to the Topological Entity Sets.
  • Name your new set and click on the checkmark.
add topological entity set golf ball
Figure 7: Adding a topological entity set containing all the faces of the golf ball.

1.4. Create the Simulation

After you finish with the topological entity set, proceed to click the ‘Create simulation‘ option to get started.

create simulation around golf ball
Figure 8: Creating a new simulation.

Select the ‘Compressible‘ analysis, which is used for cases where the Mach number in any point of the domain reaches a value bigger than 0.3. This golf ball simulation will be using a high velocity, so the compressible analysis is the best fitting.

compressible fluid flow
Figure 9: The compressible fluid flow analysis type.

Switch the Turbulence model to ‘k-omega SST‘ in the panel that appears:

simulation properties turbulence model k-omega SST
Figure 10: Choosing the k-omega SST turbulence model for the compressible CFD analysis.

2. Assigning the Material and Boundary Conditions

Now we will set up the physics for the simulation.

2.1. Define a Material

In this simulation, we want to analyze the airflow around a solid body. Therefore we need to assign properties to the fluid region. Click on the ‘+’ icon next to the Materials option of the simulation tree on the left of the page, and then choose ‘Air‘ in the panel that pops up, and apply:

air assignment
Figure 11: Material list for a compressible fluid flow analysis.

The flow region that was created due to the Geometry operation at the beginning of the simulation is automatically selected for the material.

material assignment region air
Figure 12: Properties of air for the flow region material assignment.

Just confirm the selection by hitting the check button next to the material’s name. You can also create a custom fluid by changing the properties and the materials name.

2.2. Assign the Boundary Conditions

In order to assign Boundary Conditions on the golf ball, click on the ‘+’ icon next to the Boundary Conditions, and click on the types described in this section.

add boundary condition simulation tree
Figure 13: Adding a boundary condition.

In order to have an overview, the following picture shows the boundary conditions applied for this simulation:

overview boundary conditions compressible simulation of a golf ball
Figure 14: Overview of the boundary conditions for the golf ball.

a. Velocity Inlet

Assign a ‘Velocity Inlet‘ of 59 (mover s). This is close to the average Ball Speed an average male golf player achieves[1].

velocity inlet fixed value
Figure 15: Velocity inlet for the airflow around the golf ball.

b. Pressure Outlet

Assign a ‘Pressure Outlet‘ condition of 0 (Pa) at the highlighted face below:

pressure outlet assignment
Figure 16: Pressure outlet boundary condition.

c. Slip Walls

Add a Slip Wall boundary condition on the top, bottom, and right face of the domain. Leave only the symmetry plane unassigned.

slip walls assignment
Figure 17: Slip walls boundary condition.

d. Symmetry

Assign a Symmetry condition on the symmetry plane. If you want to learn more about this boundary condition, click here.

symmetry condition assignment
Figure 18: Applying a symmetry boundary condition.

e. Rotating Walls

Did you know?

The golf ball rotates like the following photo, so the negative z direction is chosen for the rotation axis, in regards to the coordinate system of the CAD model.
magnus effect of rotation of a ball
Figure 19 : Rotation of a golf ball.
Source: ( [2])

We will define the condition according to the spin rate of an average male golf player. Create a new ‘wall’ boundary condition:

rotating walls assignment golf ball
Figure 20: Applying a rotating walls boundary condition to the ball.
  • Select ‘Rotating wall’ for (U) velocity.
  • Set the Turbulence wall to ‘full resolution’.
  • The spin rate of an average male golf player (rotational velocity) is 343 \(rad \over \ s \) [1].
  • According to the coordinate system, we need to orientate it on the negative z-direction.
  • Assign it to the topological entity set of the golf ball by clicking on it as you can see below:
assign topological entity golf ball
Figure 21: Assigning the boundary condition to the topological entity of the golf ball.

2.3. Simulation Control & Numerics

Fill the simulation control panel in like below:

simulation control properties
Figure 22: Simulation control panel.

Leave the Numerics panel at its’ default state.

3. Mesh

Access the global mesh settings by clicking on ‘mesh’ in the simulation tree:

mesh standard algorithm automatic boundary layers fineness
Figure 23: Mesh properties panel.

Choose the ‘Standard‘ algorithm, and keep the default settings.

3.1. Meshing Refinements

This project needs some refinements. If you want to learn more about using the Standard meshing tool, and using refinements, click on this.

a. Create Geometry Primitives

Prior to adding refinements, you must create some Geometry Primitives sets.

geometrical primitive creation
Figure 24: Creation of a new geometry primitive.
  • Click on the ‘+’icon under the Geometry Primitives at the right of the screen.
  • Choose the ‘Sphere‘ option.
geometrical primitive creation  sphere
Figure 25: Dimensions of the first spherical geometry primitive.
  • Name your entities, and define its’ center and 0.1 (m) radius.

Create a second Sphere with a smaller radius (0.05 (m)):

geometrical primitive creation  sphere
Figure 26: Dimensions of the second spherical geometry primitive.

b. Assign Region Refinements to the Spheres

In order to add refinement regions, click on the under the Mesh:

region refinement new standard mesh
Figure 27 : Adding region refinements.

Add a region refinement to the first sphere:

sphere region refinement settings maximum edge length
Figure 28: Region refinement for the big spherical region.

And one more fine region refinement to the smaller sphere, to create a more dense mesh there:

sphere region refinement settings maximum edge length
Figure 29: Region refinement for the small spherical region.

Watch out!

Do not click on the ‘Generate’ button after you are done with the mesh settings, otherwise the physics of the simulation will not be taken into consideration during the meshing procedure. Instead of generating it at this point, your mesh will be automatically created after you start a new run later on.

4. Start the Simulation

After all the settings are completed, proceed to clicking the ‘+’ icon next to the Simulation Runs, in order to get started with the analysis. Initially, your mesh will be generated, and then the program will go on with the run.

new simulation run simulation tree
Figure 30: Create a new simulation run

While the results are being calculated you can already have a look at the intermediate results in the post-processor.

Did you know?

Your results are being updated in real time! That means that you can already look into the intermediate results during the solver calculates the simulation.

5. Post-Processing

When the simulation is completed, you can check the convergence and the results of the simulation. You can access them under the completed run:

simulation run finished results convergence solution fields
Figure 31: The results of the simulation.

The convergence plot indicates whether the solution is reliable, or whether some changes should be made in the settings, like making the mesh finer, or increasing the simulation time. In the following picture you can see how the residuals of your simulations will appear in the plot if you set the end time at 2000s and let it fully converge:

convergence plot variables of golf ball analysis
Figure 32: Convergence plot of the simulation.

In order to view the results of your golf ball simulation, click on the ‘Solution Fields’ tab under your finished run. This will redirect you to the post-processor.

If you wish to see the pressure distribution on the symmetry plane and your golf ball, follow these steps:

  • Hide all the domain faces except the Symmetry plane and the golf ball.
  • Go to the Results and apply the ‘Pressure‘ by clicking the icon next to it.
symmetry plane pressure distribution on golf ball
Figure 33: Visualization of the pressure distribution across the Symmetry plane and the ball.

Applying for the continuous legend will add smoothing to the results:

  • Go to the Results and click on the ‘Pressure‘.
  • Apply the ‘Continuous Legend’ feature by checking the empty square next to it.
continuous legend pressure distribution results post processor golf ball
Figure 34: Applying the continuous legend feature on the pressure results.

Finally, for streamline visualization:

  • Click on the ‘+’ icon next to the Particle Traces
  • Make sure the Inlet face is not hidden.
  • Select the ‘PICK‘ icon on the SEEDS tab and apply the seed point on the Inlet face, as close to the Symmetry face and the center of the y-axis as possible.
  • The Num v represents the number of streamline rows along the z-axis. Set it to ‘2’.
  • The Num u represents the number of rows along the y-axis. Make sure it is big enough that it covers the whole y dimension of the domain as you can see below:
seed point particle tracer post processor golf ball
Figure 35: Setting the particle trace seeds.

You can control the scalar that is applied on the lines at the SETTINGS tab. Apply ‘Pressure‘ and a small streamline radius:

pressure distribution streamlines particle tracer golf ball post processor
Figure 36: Applying the results on the particle trace lines.

For more information, have a look at our post-processing guide to learn how to use the post-processor.
Congratulations! You finished the tutorial!


If you have questions or suggestions, please reach out either via the forum or contact us directly.



Last updated: October 9th, 2020

Data Privacy