Fill out the form to download

Required field
Required field
Not a valid email address
Required field
Required field


Advanced Tutorial: Fluid Flow Simulation Through a Water Turbine

This tutorial showcases how to use SimScale to run an incompressible fluid 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. For this kind of analysis, only the flow region and rotating zone are necessary.

In case you are interested in the workflow to prepare your turbine design for a simulation with rotating zones, 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. Also, if not by default, set the relaxation type to automatic.

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 setup 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 item. 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 most geometries.

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

standard tetrahedral mesh for a turbine geometry
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.

Set maximum edge length to 0.01 \(m\). 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 Pressure Drop

One of the most important parameters to observe when evaluating the performance of a water turbine is how much the pressure drops after the water has flown through the turbine. You can calculate the pressure drop by subtracting the inlet pressure from the outlet pressure.

Because you have added an Area average output for the inlet and outlet, you will only need to get the pressure (p) value from here and subtract the two. However, since you defined a pressure outlet with 0 \(Pa\), only the pressure at the inlet is required.

average inlet pressure
Figure 29: Average pressure at the inlet of a turbine. This can be viewed below the Area average tree.

As you can see from the figure above, the pressure still has some fluctuations. Calculate the average for these values. For example, calculate the average from time step 1600 to 2000 which is approximately 1.9 \(MPa\). So, the pressure drop due to the turbine is approximately 1.9 \(MPa\).

Find more ways to calculate the pressure drop here

5.2 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 30: 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.

5.3 Particle Traces

Streamlines can be a great tool to visualize flow patterns, especially in rotating machineries. Follow the steps below to show the flow streamlines inside the turbine:

  • Remove any predefined filters and make sure that you are at the last timestep.
  • Click the ‘Add filter’ button and choose ‘Particle trace’.
  • This will display the settings for the Particle trace. Pick a position by clicking pick position button icon beside Pick position and click on the surface of the inlet.
  • Next, choose the number of origin points of the streamlines. Enter ’30’ points both for # Seeds horizontally and # Seeds vertically and let the Spacing be ‘7.9e-2’.
  • Add another set of particle traces, this time selecting the outlet surface with a Spacing of ‘0.2’ between them.
particle traces filter turbine tutorial simscale
Figure 31: Tracing particles from both inlet and outlet will help to cover the entire turbine flow domain. Here, the swirl towards the outlet region can be seen as a result of rotatory turbine motion from the rotating zone.

You can get a general idea of how the flow behaves inside the turbine with the help of the streamlines. We can see that the flow follows a circular motion in the outlet region due to the rotatory motion of the turbine.

5.4 Cutting Planes

In order to get more details on the flow behavior inside the turbine, use the Cutting plane filter. Create a cutting plane cutting the turbine by following the steps below:

  • Click the ‘Add filter’ button and choose ‘Cutting plane’.
  • This will show you the settings of the Cutting plane. Enter the coordinates of the cutting plane: ‘-0.25, 5.333, -3.029’
  • Next, choose the Orientation of the cutting plane which should be in the ‘X’ direction.
  • Change the Coloring of the plane to Pressure to show the pressure distribution.
  • Turn on the Vectors toggle and change the Coloring to a solid color and choose the color black.
  • Finally, reduce the Scale factor of the vectors to ‘0.02’ and the Grid spacing to ‘0.005’.

You cutting plane will look the same as the picture below:

cutting plane inside a francis turbine
Figure 32: Cutting plane showing pressure distribution inside a Francis turbine. Enable the Vectors toggle to show the velocity vectors inside the turbine.

From the figure above, you can see how the water pressure drops when flowing inside the turbine and decreases even more after flowing to the outlet.

Similarly, other configurations for the cutting plane will give you relevant insights such as the following one:

cutting plane inside a francis turbine blades
Figure 33: A different cutting plane configuration to observe the flow pattern around the blades of the Francis 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: September 12th, 2021

Data Privacy