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 setup. 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 Workbench.

The following picture demonstrates what is 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 can 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 to access further options.

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

Hitting the ‘Create Simulation’ button leads to the simulation type selection widget:

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

Choose ‘Incompressible’ as the analysis type and ‘Create a 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 a 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:

material definition simscale
Figure 7: Library of available fluid materials.

Select ‘Water’ and click ‘Apply’. Keep the default values, and assign the entire Flow region to it.

water material assignment
Figure 8: Note that only the Flow region receives a material assignment

The MRF rotating zone volume is not assigned to any material.

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.

new boundary condition
Figure 9: 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 10: Assigning a volumetric flow rate to the inlet.

A volumetric flow rate of ’16’ \(m^3/s\) of water will enter the domain through the inlet face.

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 11: 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 12: 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 13: 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’.
creating a new topological entity set
Figure 14: Creating and naming a topological entity set.
  • 4: After inverting the selection, 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 15: 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 ‘MRF rotating zone’. Define the MRF zone as shown:

mrf rotating zone simulation set up
Figure 16: Rotating zone setup 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 project, as 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

Firstly, navigate to Numerics. Add ‘2’ Non-orthogonal correctors to help to stabilize the simulation run, and also adjust the Relaxation type to ‘Automatic’.

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

Under Simulation control, please enable Potential flow 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 18: 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 reliability 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 19: 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’ control for the inlet and another one for the outlet, as shown in the picture below.

area average result control definition
Figure 20: 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 21: Main mesh settings for the turbine geometry. Please adjust the Automatic boundary layer settings accordingly.

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 21), we don’t have to worry about 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 22: 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 23: 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 topological entity set named ‘Detailed blades’.

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 the Maximum edge length and assign it to the following topological entity set:

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

3.2 Generating the Mesh

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

standard mesh of a francis turbine
Figure 25: Finished mesh using the hybrid standard meshing tool

You can use a 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 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 machinery applications. Follow the steps below to show the flow streamlines inside the turbine:

particle traces filter turbine tutorial simscale
Figure 31: The particle trace filter tracks the path of the fluid as it travels across the domain
  1. Remove any predefined filters and click on the ‘Particle Trace’ on the top filters ribbon.
  2. Ensure that the Pick position icon pick position button is activated
  3. Choose the inlet as a seed for the traces

Now repeat the process, but this time select the outlet as a seed face.

particle traces filter turbine tutorial simscale
Figure 32: 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.

After the traces are created, you can adjust the render mode to ‘Translucent surfaces’ to give you a better view of the flow. 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

To get more details on the flow behavior inside the turbine, use the Cutting plane filter.

cutting plane configuration
Figure 33: All filters in SimScale are highly customizable, allowing for a better visualization
  1. Create a ‘Cutting plane’ filter using the top ribbon
  2. In the configuration window, change the Position of the cutting plane to ‘-0.25, 5.333, -3.029’. Furthermore, adjust the Orientation of the cutting plane to the ‘X’ direction. The Coloring of the plane is ‘Pressure’
  3. 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.03’ and the Grid spacing to ‘0.005’.

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. You can also see how the blades are affecting the flow by adjusting the position and orientation accordingly. Please follow the instructions below:

cutting plane inside a francis turbine
Figure 34: Cutting plane showing pressure distribution inside a Francis turbine, observing the blades and guide vanes.
  1. Change the Position of the cutting plane to ‘-0.25, 2.771, -3.029’. Furthermore, adjust the Orientation of the cutting plane to the ‘Y’ direction. The Coloring of the plane is ‘Velocity Magnitude’
  2. Adjust the Scale factor of the vectors to ‘0.05’ and the Grid spacing to ‘0.02’.
  3. Enable the Project vectors onto plane option

In this view, you can get insights on how the blades and guide vanes are affecting the flow, allowing for optimizations in the design.

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: August 30th, 2022