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.
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:
Prepare the CAD model for the simulation;
Set up the simulation;
Create the mesh;
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.
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:
Hitting the ‘Create Simulation’ button leads to the following options:
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.
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:
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:
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.
After selecting velocity inlet, the user has to specify some parameters and assign faces. Please proceed as below:
2.2.2 Pressure Outlet
The next one will be a pressure outlet. Make sure (P) gauge pressure is set to fixed value = 0.
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:
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:
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.
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.
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:
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.
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.
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:
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.
Repeat the process, but this time for the outlet.
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.
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.
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:
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:
c.Inflate boundary layer
The last mesh refinement, is an inflate boundary layer refinement. Follow the steps below:
Change the growth rate to 1.3;
Assign it to the previously created no-slip walls topological entity set;
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:
You can use mesh clip to check the quality of your mesh, as shown in the figure below:
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.
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.
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.
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:
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 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.
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:
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:
Analyze your results with the SimScale post-processor. Have a look at our post-processing guide to learn how to use the post-processor.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.