Fill out the form to download

Required field
Required field
Not a valid email address
Required field
Required field
  • Set up your own cloud-native simulation in minutes.

  • Documentation

    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. Such regions require additional preparation steps for both the meshing and simulation setup which we will cover in the context of this tutorial.

    water pump showing pressure contours
    Figure 1: Pressure distribution in the pump.


    This tutorial teaches how to:

    • Set up and run an incompressible simulation, making use of a rotating zone
    • Assign saved selections 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:

    1. Prepare the CAD model for the simulation
    2. Set up the simulation
    3. Create a mesh
    4. 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 Workbench.

    The following picture demonstrates the original geometry that should be visible after importing the tutorial project.

    centrifugal pump geometry for cfd analysis
    Figure 2: Imported CAD model of a water pump in the SimScale Workbench.

    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:

    creating the flow region for a centrifugal pump geometry simulation
    Figure 3: Original pump geometry (left) and flow volume ready for a simulation (right).

    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 representing the rotating zone. The steps to make the original geometry CFD-ready are fully described in the following article:

    1.2 Create the Simulation

    Make sure the Centrifugal Pump geometry is selected for this simulation project:

    creating a new simulation for a water pump
    Figure 4: Creating a new simulation for the centrifugal pump geometry.

    After hitting on ‘Create Simulation’, you will have several simulation types to choose from:

    simulation analysis types possible within simscale
    Figure 5: Analysis types available. For this project, Incompressible is chosen.

    Choose ‘Incompressible’ as analysis type and ‘Create a Simulation‘.

    At this point, the simulation tree will be visible in the left-hand side panel. To run the simulation, it’s necessary to configure the simulation tree entries.

    global simulation settings centrifugal pump
    Figure 6: Global simulation settings for the centrifugal pump tutorial

    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 flow field no longer changes 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

    As an overview of the physics, the following picture shows the boundary conditions used in this project:

    boundary conditions centrifugal pump cfd simulation
    Figure 7: Overview of the boundary conditions for the centrifugal pump 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. aiming 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:

    library of available materials for cfd simulations
    Figure 8: Library of available materials.

    Select ‘Water’ and click ‘Apply’. A window opens up with the water properties. Keep the default values and assign them to the ‘Volume’ that represents the flow region.

    assigning material to a volume
    Figure 9: Assigning water to the flow region. Note that the rotating zone volume is not selected.

    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.

    boundary conditions for incompressible analysis
    Figure 10: Choosing velocity inlet boundary condition to apply to the inlet face.

    After selecting ‘Velocity inlet’, you can specify the velocity configuration and assign faces. Please proceed as follows:

    applying velocity inlet boundary condition to a face
    Figure 11: Assigning the first boundary condition to a face.

    With these settings, a volumetric flow rate of ‘8.5e-3’ \(m^3/s\) enters the domain through the inlet.

    b. Pressure Outlet

    Create a new boundary condition, this time a ‘Pressure outlet’. Make sure (P) Gauge Pressure is set to ‘Mean value = 0’.

    setting up a pressure outlet boundary condition
    Figure 12: Assign the second boundary condition to the outlet face.

    c. Wall

    All solid walls should receive a no-slip condition. We can make use of SimScale’s quick selection tools to save time. A Saved selection will be created, as this set of faces will be used again during the setup.

    Please follow the following steps:

    creating a topological entity set for the pump walls
    Figure 13: SimScale’s quick selection tools are useful when creating complex face selections
    • 1: Select the inlet, outlet, and the MRF Rotating Zone
    • 2: Right-click in the viewer to open selection options
    • 3: Click on ‘Invert selection’
    creating a saved selection
    Figure 14: Final steps to create a saved selection for the walls.
    • 4: Click on the ‘+ button’ next to Saved selections in the right-hand side panel
    • 5: Name this saved selection as ‘Walls’

    Afterward, create a ‘Wall’ boundary condition and assign it to the newly created saved selection.

    wall boundary conditions applied to a water pump
    Figure 15: Assigning a no-slip wall boundary condition to the Walls saved selection.

    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 an ‘MRF Rotating Zone’. Define the MRF zone as shown:

    setting up a mrf rotating zone for a water pump
    Figure 16: Rotating zone parameters. All entities within this rotating zone will be rotating at 350 rad/s.

    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.

    Under the Simulation control settings, enable ‘Potential flow initialization’, which enhances the stability for velocity-driven flows, especially in early iterations. The new Maximum runtime is ‘30000’ seconds, and both End time and Write interval will be ‘600’ iterations.

    simulation control settings pump cfd simulation
    Figure 17: Simulation control settings, defining a steady-state simulation with 600 seconds

    2.5 Result Control

    Result control allows you 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 reliability of the results.

    For this simulation, please set a ‘Forces and moments’ control to the impeller as demonstrated in the picture below:

    creating a forces and moments control
    Figure 18: Forces and moments control for the impeller.

    To save time, there’s a pre-saved saved selection for the Impeller surfaces. Finally, click on the ‘+’ button next to Surface data. Create an ‘Area average’ for the inlet and another one for the outlet:

    area average controls centrifugal pump simulation
    Figure 19: Average monitors set at the inlet and outlet.

    Create another area average result control, 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.

    In this tutorial, the global simulation settings will remain as default, and a local refinement will be applied to the regions of interest.

    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, 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 on the rotating zones documentation page.

    3.1 Mesh Refinements

    To create a new refinement, click on the ‘+ button’ next to Refinements. Afterward, choose ‘Local element size’ from the drop-down window.

    creating a new mesh refinement in simscale
    Figure 20: Applying layer refinement to capture the near-wall profiles more accurately.

    The Maximum edge length should be ‘7e-4’ meters, applied to the Local element size refinement saved selection.

    standard meshing tool local element size for a pump geometry
    Figure 21: Applying local element size refinement to thin surfaces.

    With this refinement, you will have better control over the cell size in the regions of interest.

    3.2 Generating the Mesh

    Now you can navigate to the ‘Mesh’ entry in the simulation tree and hit the ‘Generate’ button. After a few minutes you will receive the following mesh:

    standard mesh for a centrifugal water pump simulation geometry
    Figure 22: Finished mesh.

    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

    set up ready to start a simulation
    Figure 23: Set up ready to run simulations.

    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 roughly one hour 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.

    accessing the post-processing environment
    Figure 24: Under Solution fields, you can also access intermediate result sets while the simulation is running.

    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. Post-Processing

    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:

    assessing convergence with result controls
    Figure 25: Velocity at the outlet control. After roughly 600 iterations, the results are very stable.

    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 Pressure visualization

    SimScale has a built-in post-processing environment, which can be accessed by clicking on ‘Solution Fields’ or ‘Post-process results’, as in figure 24. First, let’s visualize the pressure levels on the blades:

    post processor view in simscale
    Figure 26: In the post-processor, you can still use the selection functionalities available in the Workbench
    1. Under Parts Color, make sure that the Coloring is ‘Pressure’. This way, the pressure levels are displayed on the boundaries
    2. To make the blades visible, you can select the outer faces by clicking on them
    3. Once you select the faces, right-click on the viewer and choose ‘Hide selection’

    After hiding the first set of faces, you may have to hide more internal faces before the blades are fully visible. At this stage, right-click on the legend and select ‘Use continuous scale’ to make the color scheme smoother:

    pressure contours pump cfd simulation
    Figure 27: The pressure visualization on the blades and bottom surface of the impeller reveals a high distribution on the edge towards the exit of the pump, near the exit of the fluid.

    5.3 Cutting Plane

    To get a better understanding of what is going on inside the pump, proceed to add a ‘Cutting Plane’ filter:

    cutting plane normal to the x axis centrifugal pump
    Figure 28: This cutting plane normal to the X-axis shows the behavior of the flow when exiting the model.
    1. Create a ‘Cutting Plane’ filter by using the top ribbon
    2. Adjust the Position coordinates of the cutting plane to ‘0, 0, 0’. Furthermore, make sure that the Orientation is ‘X’ and the Coloring is ‘Velocity Magnitude’

    You can also toggle on the vectors to check the flow direction of the field in different areas:

    vector on cutting plane
    Figure 29: Velocity contours with velocity vectors plotted. In areas where the fluid accelerates, such as the tips of the blades, and the entrance to the outlet, the vectors are also enlarged.
    • Change the Coloring to ‘Solid color’, and select the black square from the available options;
    • Then set the Scale factor to ‘0.1’ and the Grid Spacing to ‘0.02’;
    • Activate the ‘Project vectors onto plane’ option.

    Near the edges of the blades, the acceleration of the flow can be distinguished due to the representation with a warmer color compared to its surroundings. Other configurations for the cutting plane will give you additional information. For instance, you can change the Orientation to ‘Y’

    cutting plane inlet section pump
    Figure 30: Adjusting the orientation of the cutting plane around the water pump

    With this configuration, you can observe the flow pattern around the blades from a different perspective.

    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 9th, 2023