Advanced Tutorial: Fluid Flow Simulation Through a Centrifugal Pump
This tutorial demonstrates how to use SimScale to run an incompressible fluid flow simulation on a centrifugal pump using rotating zones. The complexity of this use case results from the requirement of modeling a rotating region. Rotating regions require additional preparation steps for both the meshing and simulation setup which we will cover in the context of this tutorial.
This tutorial teaches how to:
Set up and run an incompressible simulation, making use of a rotating zone.
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:
Preparing the CAD model for the simulation
Setting up the simulation
Creating the mesh
Run the simulation and analyze results
1. Prepare the CAD Model and Select the Analysis Type
To begin, 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.
1.1 Geometry Preparation
Before starting to work using SimScale’s fluid simulator analysis with rotation, we need to make sure to prepare the CAD model to be compatible with this kind of analysis. This tutorial project contains two geometries, shown in the picture below:
The first one (Original Geometry) consists of the actual pump and its blades. It still requires some preparation before it’s ready to use for CFD simulations.
What we need for a CFD simulation is the second geometry (Centrifugal Pump). It contains the flow region, as well as a volume for the rotating zone. The steps to make the original geometry CFD-ready are fully described in the following articles:
Make sure the Centrifugal Pump geometry is selected for this simulation project:
Hitting the ‘Create Simulation’ button leads to the following options:
Choose Incompressible as analysis type and ‘Create the Simulation‘.
At this point, the simulation tree will be visible in the left-hand side panel. To run the simulation, it’s necessary to setup the simulation tree entries.
The global simulation settings remain as default, as in the figure above. With a Steady-state analysis, we will obtain the equilibrium state of the system, when the parameters no longer change with time.
Did you know?
The k-omega SST turbulence model is commonly used in turbomachinery applications. Within the pump blades, the flow experiences separation, which is effectively captured by the k-omega SST turbulence model.
2. Assigning the Material and Boundary Conditions
In order to have an overview, the following picture shows the boundary conditions applied for this simulation:
Did you know?
Velocity Inlet and Pressure Outlet is a very common combination used in CFD simulations as it often results in good stability. This combination permits flow to adjust in order to assure mass continuity.
2.1 Define a Material
This simulation will use water as a material. Therefore click on the ‘+ button’ next to materials. Doing this opens the SimScale fluid simulator material library as shown in the figure below:
Select ‘Water’ and click ‘Apply’. A window opens up with the water properties. Keep the default values and assign the Volume, using the right-hand side panel.Doing so opens the properties of water, keep the defaults, and assign the entire volume to the water.
2.2 Assign the Boundary Conditions
In the next step, boundary conditions need to be assigned as in figure 7, we have a velocity inlet, a pressure outlet, walls, and a rotating zone.
a. Velocity Inlet
After hitting the ‘+ button’ next to boundary conditions, a drop-down menu will appear, where one can choose between different boundary conditions.
After selecting the velocity inlet, the user has to specify some parameters and assign faces. Please proceed as below:
b. Pressure Outlet
Create a new boundary condition, this time a Pressure outlet. Make sure (P) Gauge Pressure is set to Mean value = 0.
All solid walls should 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: Hide the MRF Rotating Zone volume by clicking on the “eye” icon next to it;
2: Right-click in the viewer and then on Select all;
3: Unselect the inlet and outlet;
4: Click on the ‘+ button’ next to Topological Entity Sets in the right-hand side panel;
5: Name this entity set as ‘Walls’.
Afterwards, 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 simulation tree, please expand Advanced concepts. Click on the ‘+ button’ next to Rotating zones and select ‘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
Don’t worry about the Numerics settings, as their default values are optimized according to the chosen analysis type, hence valid for the majority of simulations. If you are a simulation expert however, you can have a look at them and change the settings as you like.
In Simulation control, enable Potential foam initialization. This enhances stability for velocity-driven flows, especially in early iterations.
2.5 Result Control
Result control gives you the opportunity to observe the convergence behavior at specific locations in the model during the calculation process. Hence it is an important indicator to evaluate the quality and trustability of the results. We will have a look at this later in the tutorial, so let’s see how to set them up first:
For this simulation, please set a Forces and moments control to the impeller as demonstrated in the picture below:
To save time, there’s a pre-saved topological entity set for the Impeller walls.
Now follow the same workflow as before but select 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.
The standard mesher automatically creates the necessary cell zones whenever Physics-based meshing is enabled. Since we are using physics-based meshing in this tutorial (see figure 20), the algorithm will take care of the cell zone definition.
If you are using a different mesher, you can learn alternative ways to define a cell zone in the rotating zones documentation page.
3.1 Mesh Refinements
a.Inflate boundary layer
To create an Inflate boundary layer refinement, click on the ‘+ button’ next to Refinements. Choose the appropriate refinement from the drop-down window.
Make sure the settings are as follows and assign it to the previously created Walls topological entity set.
b. Local element size refinement
Create a new refinement, this time local element size, and set it up as shown. Apply it to a pre-defined entity set named local element size refinement.
3.2 Generating the Mesh
Now you can hit the ‘Generate mesh’ button in the global mesh settings presented in figure 20. After about six 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:
Hit the ‘Mesh Clip’ button.
Define the normal of the cutting plane.
Hit ‘Generate Mesh Clip’
After a few minutes, you will see the inside of your mesh. This mesh looks sufficient for this tutorial.
Did you know?
Generating meshes with good quality metrics is important. These meshes increase the stability of the simulation runs, and also increase the confidence level in the results.
For a complete overview of mesh quality and its importance in CFD simulations, make sure to visit this documentation page.
4. Start the Simulation
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!
It takes about 60 minutes for the simulation to finish. In the reference project, we calculated a few more steps, to ensure convergence, that’s why it says 105 min in the figure below. However, fewer steps are sufficient and you can save some core hours.
Did you know?
With SimScale, it’s easy to get the pump curve for your geometry. You can run multiple simulations in parallel, only changing the flow rate (in the velocity inlet boundary condition).
For more information about pump curves, please check out this blog post.
5.1 Convergence Behavior
With the previously set result controls, it’s possible to assess convergence. As the iterations go on, key parameters are expected to stop changing. At this point, the simulation is considered converged.
So what are the key parameters? For a centrifugal pump simulation, the velocity at the outlet, the pressure at the inlet, and forces onto the impeller are parameters of interest. For example, let’s have a look at velocity at the outlet:
Also, make sure to check the convergence plots to see residual levels. Smaller residuals indicate a more tightly converged solution. This article gives more insight into convergence in CFD simulations.
5.2 Post-processing pictures
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.