Fill out the form to download

Required field
Required field
Not a valid email address
Required field


Advanced Tutorial: Fluid Flow Simulation Through a Water Turbine

This tutorial showcases how to use SimScale to run an incompressible fluid flow simulation on a water turbine using rotating zones. The complexity of this use case results from the requirement of modeling a rotating region.

Simulations involving rotating regions require a few additional steps during CAD preparation and simulation set up. We will cover the entire workflow in this tutorial.

turbine simulation post processing
Figure 1: Velocity vectors plotted onto the velocity field.

This tutorial teaches how to:

  • Set up and run an incompressible water turbine simulation, making use of a rotating zone;
  • Assign boundary conditions, material, and other properties to the simulation;
  • Create topological entity sets;
  • Mesh with the SimScale standard meshing algorithm.

We are following the typical SimScale workflow:

  1. Prepare the CAD model for the simulation;
  2. Set up the simulation;
  3. Create the mesh;
  4. Run the simulation and analyze the results.

1. Prepare the CAD Model and Select the Analysis Type

To begin, click on 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.

francis turbine incompressible simulation
Figure 2: Imported CAD model of a Francis turbine in the SimScale workbench.

The geometry consists of the flow region of a Francis turbine. Furthermore, there’s also a solid cylinder part named MRF rotating zone.

Did you know?

Water turbines operate by removing kinetic and potential energy from the flow, and converting it into mechanical torque on a shaft.
Water pumps work in the exact opposite way. By inputting mechanical energy, in the form of torque on a shaft, pumps are able to pressurize the water flow.

1.1 Geometry Preparation

The imported geometry for this tutorial is ready for CFD simulations. Please note that it doesn’t contain any of the solid walls of the turbine. Only the flow region and rotating zone are necessary.

In case you are interested in the process of creating the flow region and the MRF rotating zone in a CAD software, consider checking the following articles:

1.2 Create the Simulation

Select the Francis turbine geometry.

creating a simulation in simscale workbench
Figure 3: Creating a new simulation for the Francis turbine.

Hitting the ‘Create Simulation’ button leads to the following options:

types of simulation analysis available within simscale
Figure 4: Library of analysis types available in SimScale.

Choose incompressible as the analysis type and ‘create the simulation‘.

2. Assigning the Material and Boundary Conditions

The following picture shows an overview of the boundary conditions.

boundary conditions overview for a water pump simulation with rotating zones
Figure 5: Overview of the boundary conditions for the Francis turbine geometry.

Did you know?

The entire volume inside the MRF rotating zone is spinning at a specified rotational velocity.

In case the rotating zone intersects a surface that shouldn’t be spinning, you can create a rotating wall boundary condition for this face, specifying a rotational velocity of 0. This will prevent the intersected parts from spinning.

For example, in our geometry, one face that shouldn’t spin is intersected by the rotating zone:

rotating zone intersecting face turbine
Figure 6: MRF rotating zone (in yellow) partially intersecting a surface (in red).

Later on, in this tutorial, the face highlighted in red will receive a rotating wall boundary condition, with 0 rad/s rotational velocity.

2.1 Define a Material

This simulation will use water as a material. Therefore click on the ‘+ button’ next to materials. In doing so, the SimScale fluid material library opens, as shown in the figure below:

library of available materials for cfd simulations
Figure 7: Library of available fluid materials.

Select water and click ‘Apply’. Doing so opens the properties of water, keep the defaults, and assign the entire flow region to it.

2.2 Assign the Boundary Conditions

In the next step, boundary conditions need to be assigned as shown in Figure 5. We have a velocity inlet, a pressure outlet, a rotating wall, no-slip walls, and a rotating zone.

2.2.1 Velocity Inlet

Click on the ‘+ button’ next to boundary conditions. A drop-down menu will appear, where one can choose between different boundary conditions.

boundary conditions for incompressible analysis
Figure 8: Boundary conditions available in SimScale. From the list, choose velocity inlet.

After selecting velocity inlet, the user has to specify some parameters and assign faces. Please proceed as below:

volumetric flow inlet simscale boundary condition
Figure 9: Assigning a volumetric flow rate to the inlet.

2.2.2 Pressure Outlet

The next one will be a pressure outlet. Make sure (P) gauge pressure is set to fixed value = 0.

setting up a pressure outlet boundary condition
Figure 10: The outlet face receives a fixed pressure boundary condition.

Did you know?

After going through the turbine runner, water exits through a section named draft tube. The purpose of this tube is to slow down the flux, converting kinetic energy into potential energy.
The draft tube should be carefully designed, as it is directly related to kinetic energy loss at the outlet.

2.2.3 Rotating Wall

As previously described, one of the faces will receive a rotating wall boundary condition. Therefore, create a new boundary condition and choose wall. Set it up as below:

boundary condition to prevent rotation
Figure 11: This boundary condition prevents all parts of the selected walls from spinning.

2.2.4 Wall

The remaining solid walls will receive a no-slip condition. We can make use of SimScale’s quick selection tools to save time. A topological entity set will be created, as this set of faces will be used again during the setup. Topological entity sets allow the user to re-select a group of faces in a single click.

Please follow these steps:

simscale quick selection tools invert selection
Figure 12: Selecting a total of 218 faces with SimScale’s quick selection tools.
  • 1: Firstly, hide the MRF rotating zone volume by clicking on the “eye” icon next to it;
  • 2: Secondly, select the inlet, outlet and the surface that received a rotating wall boundary condition;
  • 3: Right-click in the viewer and then on invert selection.
topological entity set creation
Figure 13: Creating and naming a topological entity set.
  • 4: Click on the ‘+ button’ next to Topological Entity Sets in the right-hand side panel;
  • 5: Name this entity set as No-slip walls.

Afterward, create a wall boundary condition and assign it to the newly created topological entity set.

assigning a boundary condition to a topological entity set
Figure 14: Assigning the last boundary condition to a set of faces.

2.3 Advanced Concepts: Creating a Rotating Zone

In the left-hand side panel, navigate to advanced concepts. Click on the ‘+ button’ next to rotating zones and select the ‘MRF rotating zone’. Define the MRF zone as shown:

mrf rotating zone simulation set up
Figure 15: Rotating zone set up parameters. The entire volume within the rotating zone will have a 36.65 rad/s rotational velocity.

Did you know?

MRF Rotating zones are chosen in this simulation, because we are running a steady state simulation.
If we were calculating a transient problem, we would need to choose AMI Rotating Zone.
This article provides more information about the difference between MRF and AMI Rotating Zones.

2.4 Numerics and Simulation Control

First, navigate to numerics. Add 2 non-orthogonal correctors to help to stabilize the simulation run.

numerics configuration
Figure 16: Changes made in the numerics tab.

In simulation control, enable potential foam initialization. This enhances stability for velocity-driven flows, especially during early iterations. Change both end time and write interval to 600 iterations. Furthermore, the maximum runtime should be 30000 seconds.

simulation control tab
Figure 17: Simulation control settings for the water turbine tutorial

For more information about the set up of the simulation control parameters in CFD simulations, check this article.

2.5 Result Control

Under result control, users can specify a variety of monitors, such as area averages and probe points. These are particularly useful to assess convergence and the trustability of the results. For now let’s set up 3 result controls – we will take a look at the results later on during the tutorial.

Please set a forces and moments control. Assign it to a pre-defined topological entity set named runner blades:

forces and moments result control
Figure 18: Forces and moments control for the runner blades of the Francis turbine.

For the second control, click on the ‘+ button’ next to surface data. Create an area average for the inlet and another one for the outlet, as shown in the picture below.

area averages in simscale
Figure 19: Average monitors set at the inlet and outlet.

Repeat the process, but this time for the outlet.

3. Mesh

To create the mesh, we recommend using the Standard algorithm, which is a good choice in general as it is quite automated and delivers good results for the most geometries.

Make sure it is set up as shown below. For this project, layers will be manually specified.

Figure 20: Main mesh settings for the turbine geometry. Please disable automatic boundary layer addition.

Did you know?

It’s necessary to define cell zones whenever we want to apply a specific property, such as a rotating motion, to a subset of cells.

Whenever Physics-based meshing is enabled for the standard mesher, the algorithm automatically creates the necessary cell zones. Since physics-based meshing is enabled in this tutorial (see figure 20), we don’t have to worry with the cell zone definition.

In case you are using a different mesher, the rotating zones documentation page provides alternative workflows for the cell zone definition.

3.1 Mesh Refinements

a. Local Element Size

To create a mesh refinement, click on the ‘+ button’ next to refinements. Choose one of the options from the drop-down window.

mesh refinement standard
Figure 21: Refinement types available for the standard algorithm.

With a local element size refinement, it’s possible to prescribe a maximum edge length to selected entities. Proceed as below to set up the first refinement:

using a topological entity set to assign a boundary condition
Figure 22: First local element size refinement. Blades with a lot of detail are selected.

To save time, you can assign this first local element size refinement to a previously created topological entity set.

b. Local element size refinement 2

Create yet another local element size refinement. This time we will select geometry parts that don’t require as much refinement. Input 0.025 m as maximum edge length and assign it to the following topological entity set:

guide vanes and runner refinement turbine
Figure 23: Second local element size. Parts of the guide vanes and runner are selected.

c. Inflate boundary layer

The last mesh refinement, is an inflate boundary layer refinement. Follow the steps below:

inflate boundary layer refinement in a turbine geometry
Figure 24: Applying layer refinement to all solid walls. With boundary layers, the near-wall profiles can be captured more accurately.
  1. Change the growth rate to 1.3;
  2. Assign it to the previously created no-slip walls topological entity set;
  3. Also, assign the surface that received a rotating wall boundary condition. A total of 219 entities should be assigned.

3.2 Generating the Mesh

Now you can hit the ‘Generate’ button in the global mesh settings presented in figure 20. After about 30 minutes you will receive the following mesh:

standard mesh of a francis turbine
Figure 25: Finished mesh, consisting of 6.9 million cells.

You can use mesh clip to check the quality of your mesh, as shown in the figure below:

mesh clip turbine geometry
Figure 26: Mesh clip of the turbine geometry showing the runner area. Zooming in, the layers are visible.

For more insights on mesh quality assessment, please check this page.

Did you know?

You can also select single faces of the geometry and hide them. This way, you can inspect inner surfaces.

4. Start the Simulation

Click on the ‘+ button’ next to simulation runs.

starting a simulation in simscale
Figure 27: Starting a simulation run.

Now you can ‘Start’ the simulation. While the results are being calculated you can already have a look at the intermediate results in the post-processor by clicking on Solution Fields. They are being updated in real-time!

After around 90 to 120 minutes, the turbine simulation finishes running. The figure below shows a run time of 274 minutes because we ran a total of 2000 iterations, to assure the results were indeed stable. However, fewer steps are sufficient and you can save some core hours.

inspecting results of a simulation run
Figure 28: By clicking on solution fields during the run, you can inspect intermediate results.

5. Post-Processing of a Turbine Simulation

5.1 Convergence Behavior

By inspecting the result controls, we can evaluate how key parameters change as the iterations go on. As the simulation progresses, parameters are expected to converge to a stable result.

For a turbine geometry, some parameters of interest are:

  • Inlet: pressure;
  • Outlet: velocity;
  • Forces and moments on the turbine blades.

The forces and moments results are of particular interest in a simulation with a turbine. The runner of our turbine was rotating around the y-axis. Hence, let’s inspect the resulting pressure forces and the torque generated around said axis:

torque and pressure on turbine blades
Figure 29: Pressure force (black) and torque due to pressure (blue) around the y-axis on the runner blades.

Did you know?

The resulting torque on the blades is given by a sum of pressure, viscous and porous moments around the rotation axis.
In this simulation, close to 187 500 N.m of torque is generated about the y-axis of the turbine.

For more information about convergence in CFD simulations, please check this article.

5.2 Post-Processing Pictures

The picture below shows streamlines created with a particle traces filter. By using the various post-processing filters, one can gain insight into the geometry, allowing for design improvements.

particle traces filter turbine
Figure 30: Streamlines showing the path that particles make through the turbine.

Analyze your results with the SimScale post-processor. Have a look at our post-processing guide to learn how to use the post-processor.


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

Last updated: October 23rd, 2020

Data Privacy