# Cyclone Separator - CFD Simulation

Source: https://help.sim-flow.com/tutorials/cyclone-separator
Last updated: 2026-10-14

[Video](https://help.sim-flow.com/tutorials/images/cyclone-separator.mp4)

## 1. Introduction

In this tutorial, you’ll discover how to handle discrete particle modeling by analyzing a cyclone separator. The particles enter the separator through the inlet boundary with the air. Due to gravity, the particles separate from the air and escape. During postprocessing, you’ll learn how to display particles within a fluid domain, track them, and determine how long they spend in the separator.

## 2. Download SimFlow

SimFlow is a general-purpose [CFD Software](https://sim-flow.com/download/cfd-simulation-software/)

To follow this tutorial, you will need the SimFlow free version. You may download it via the following link:
[Download SimFlow](https://sim-flow.com/download-simflow/)

## 3. Create Case

Open SimFlow and create a new case named *cyclone separator*.

1. Click **New**
2. Provide name `cyclone separator`
3. Click **Create** to open a new case

![simflow-launcher](https://help.sim-flow.com/tutorials/images/launcher-cyclone_separator.png)

## 4. Import Geometry

After creating the case, [Download GeometryCyclone](https://help.sim-flow.com/tutorials/downloads/cyclone-separator/cyclone.stl)

1. Click **Import Geometry**
2. Select geometry file *cyclone.stl*
3. Click **Open**

![cs 2 import geometry](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-2-import-geometry.png)

## 5. Imported Geometry Units

The STL format does not contain the unit information, which is defined during the geometry export. Therefore, you must manually specify the correct unit after import. If we do not know the exported unit, we can estimate it based on the total size of the model. It is displayed next to the *Geometry size* label. In our case, the model was created in millimeters.

1. Select *mm* unit
2. Click **OK** button

![cs 2 unit](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-2-unit.png)

## 6. Display Geometry

After importing the geometry, it will appear in the 3D window.

1. Click **Fit View** to zoom out the geometry

![cs 3 geometry view 1](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-3-geometry-view-1.png)

## 7. Meshing Parameters - Cyclone

Now we will set meshing parameters for the cyclone geometry.

1. Go to *Hex Meshing* panel
2. Enable meshing on the *cyclone* geometry

![cs 7 mesh geometry](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-7-mesh-geometry.png)

## 8. Base Mesh

We will define the base mesh now.

1. Go to *Base* tab
2. Define initial mesh extents
   *Min \({\sf [m]}\)*`-0.1``-0.1``-0.4499`
   *Max \({\sf [m]}\)*`0.1499``0.101``0.5499`
   (these dimensions have been set so that inlet, bottom and top faces of the geometry fall slightly outside the box)
3. Define the number of divisions
   *Division*`25``20``100`

![cs 8 base mesh](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-8-base-mesh.png)

## 9. Base Mesh Boundaries

To create separate boundaries at the intersections of the base mesh with the geometry, we need to assign them individual names and types.

1. Change the following boundary names accordingly
   *X+* *inlet*
   *Z-* *bottom*
   *Z+* *top*
2. Define boundary types accordingly
   *X-* *wall*
   *X+* *patch*
   *Y-* *wall*
   *Y+* *wall*
   *Z-* *wall*
   *Z+* *patch*

![cs 9 base mesh boundaries](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-9-base-mesh-boundaries.png)

## 10. Material Point

Make sure the material point is located inside the geometry.

1. Go to *Point* tab
2. Make sure that the material point is set accordingly
   *Material Point*`0``0``0`

![cs 10 material point](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-10-material-point.png)

## 11. Start Meshing

Now that everything is set up, we can begin the meshing process.

1. Go to *Mesh* tab
2. Click **Mesh** to start the meshing process

![cs 11 meshing](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-11-meshing.png)

## 12. Mesh

After the meshing process is finished, the mesh should appear in the 3D graphics window.

1. Click **Fit View**

![cs 12 mesh](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-12-mesh.png)

## 13. Simulation Type

We want to analyze the particle separation in a cyclone. For this purpose, we will use a multiphase transient simulation of fluid flow with Lagrangian particles using the MP-PIC method.

![Simulation Panel](https://help.sim-flow.com/assets/images/go-to-simulation-panel@2x.png)

![Step 1](https://help.sim-flow.com/assets/images/solvers-selection/MPPICFoam/01_multiphase@2x.png)

![Step 2](https://help.sim-flow.com/assets/images/solvers-selection/MPPICFoam/02_dispersed@2x.png)

![Step 3](https://help.sim-flow.com/assets/images/solvers-selection/MPPICFoam/03_lagrange@2x.png)

![Step 4](https://help.sim-flow.com/assets/images/solvers-selection/MPPICFoam/04_mp-pic@2x.png)

![Step 5](https://help.sim-flow.com/assets/images/solvers-selection/MPPICFoam/05_apply@2x.png)

## 14. Discrete Phase - Properties

We will now define properties of the discrete phase.

1. Go to *Discrete Phase* panel
2. Set density of the discrete phase
   *\(\rho_0\) \({\sf [\frac{kg}{m^3}]}\)*`2500`
3. Set packing factor
   *\(\alpha_{packed}\) \({\sf [-]}\)*`0.6`

![cs 14 discrete phase properties](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-14-discrete-phase-properties.png)

## 15. Discrete Phase - Injection

We will now define the injection of the discrete phase through the inlet boundary.

1. Go to *Injection* tab
2. Create *Boundary Injector*
3. 45 Set the following parameters accordingly
   *Total Mass \({\sf [kg]}\)*`1.225`
   *SOI \({\sf [s]}\)*`1`
   *Duration \({\sf [s]}\)*`10`
   *Parcels Per Second*`10000`
   *Boundary*`inlet`
   *\(U_0\) \({\sf [m/s]}\)*`-3``0``0`

![cs 15 discrete phase injection 1](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-15-discrete-phase-injection-1.png)

## 16. Discrete Phase - Distribution

We will now define a normal distribution of the discrete phase size.

1. Go to *Distribution* tab
2. Set *Distribution* to *Normal*
3. Set distribution parameters accordingly
   *Min \({\sf [m]}\)*`4e-05`
   *Max \({\sf [m]}\)*`3.6e-04`
   *\(\mu\) \({\sf [m]}\)*`5e-05`
   *\(\sigma\) \({\sf [m]}\)*`2e-04`

![cs 16 discrete phase distribution](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-16-discrete-phase-distribution.png)

## 17. Discrete Phase - Models

We will now define the particle drag model.

1. Go to *Models* tab
2. Select *Ergun-Wen-Yu* model

![cs 17 discrete phase models](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-17-discrete-phase-models.png)

## 18. Discrete Phase - Solution

We will now define methods of computing and interpolating an average of the Lagrangian phase.

1. Go to *Solution* tab
2. Set *Averaging* method to *Dual*
3. Expand *Source Terms* options
4. Set *Semi-Implicit* discretization of the *U* term

![cs 18 discrete phase solution](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-18-discrete-phase-solution.png)

## 19. Turbulence

For turbulence modeling, we will use the LES model.

1. Go to *Turbulence* panel
2. Select *LES* turbulence modeling
3. Select *\(k \; Equation\)* model

![cs 19 turbulence](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-19-turbulence.png)

## 20. Transport Properties - Fluid

Now we will define the transport properties of the fluid material.

1. Go to *Transport Properties* panel
2. Click **Material Database**
3. Select *air* material
4. Click **Apply**

![cs 20 transport properties fluid](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-20-transport-properties-fluid.png)

## 21. Solution - PIMPLE

To increase the stability of the simulation, we will increase the number of pressure corrector iterations.

1. Go to *Solution* panel
2. Select the *PIMPLE* tab
3. Increase the number of *Correctors* to `2`

![cs 21 solution pimple](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-21-solution-pimple.png)

## 22. Boundary Conditions - Bottom (Particles)

Now we will set how particles interact with boundaries. The Bottom boundary should be transmissive for particles.

1. Go to *Boundary Conditions* panel
2. Select *bottom* boundary
3. Select *Particles* tab
4. Change particle interaction to *Escape*

![cs 22 boundary conditions bottom particles](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-22-boundary-conditions-bottom-particles.png)

## 23. Boundary Conditions - Cyclone (Particles)

1. Select *cyclone* boundary
2. Set the following values accordingly
   *e \({\sf [-]}\)*`0.97`
   *\(\mu\) \({\sf [-]}\)*`0.09`

![cs 23 boundary conditions cyclone particles](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-23-boundary-conditions-cyclone-particles.png)

## 24. Boundary Conditions - Inlet (Particles)

We will now set boundary conditions on the inlet boundary.

1. Select *inlet* boundary
2. Change boundary condition for inlet to *Velocity Inlet*
3. Change particle interaction to *Rebound*

![cs 24 boundary conditions inlet particles](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-24-boundary-conditions-inlet-particles.png)

## 25. Boundary Conditions - Inlet (Flow)

1. Switch to *Flow* tab
2. Set velocity at inlet
   *Reference Value \({\sf [m/s]}\)*`20`

![cs 25 boundary conditions inlet flow](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-25-boundary-conditions-inlet-flow.png)

## 26. Run - Time Controls

Finally, we can start our computation.

1. Go to *Run* panel
2. Set *Simulation Time [s]* to `5`
3. Set time step *\(\Delta t [s]\)* to `1e-04`

![cs 26 run time controls](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-26-run-time-controls.png)

## 27. Run - Output

1. Go to *Output* tab
2. Set *Write Control* *Interval [s]* to `0.1` seconds
   (it will force the solver to write results on the hard drive every 0.1 seconds of the simulation)

![cs 27 run output](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-27-run-output.png)

## 28. Run - CPU

To speed up the calculation process, take advantage of parallel computing and increase the number of CPUs based on your PC’s capability. The free version allows you to use only one processor (serial mode). To get the full version, you can use the contact form to [Request 30-day Trial](https://license.sim-flow.com/trial)

Estimated computation time for serial mode: 6 hours

1. Switch to *CPU* tab
2. Click **Run Simulation** button

![run cpu serial](https://help.sim-flow.com/tutorials/images/run-cpu-serial.png)

## 29. Residuals

When the calculation is finished, we should see a similar residual plot.

![cs 28 residuals](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-28-residuals.png)

## 30. Postprocessing - Open ParaView

Open ParaView software to display results.

1. Go to *Postprocessing* panel
2. Start *ParaView*

![cs 29 postprocessing open paraview](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-29-postprocessing-open-paraview.png)

## 31. ParaView - Import Results

After opening ParaView, we will import the results from the simulation. We will import the fluid region and parcels cloud separately to be able to assign them different display properties.

1. Select *cyclone_separator.foam*
2. Click **Apply** to import results
3. Click *Last Frame* to select the latest result set
4. *Refresh* the results
5. Uncheck *lagrangian/kinematicCloud* region
6. Click **Apply**

![cs 30 paraview import results](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-30-paraview-import-results.png)

## 32. ParaView - Streamlines

We will now plot streamlines for the fluid region and set the coloring variable to velocity.

1. Select *cyclone_separator.foam*
2. Click *Stream Tracer* button to add streamlines
3. Click **Apply**
4. Change the coloring variable to *U.bulk*

![cs 31 paraview streamlines](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-31-paraview-streamlines.png)

## 33. ParaView - Display Geometry

To show the transparent geometry together with the streamlines, we will follow the steps below:

1. Select *cyclone_separator_foam*
2. Click on the eye next to *cyclone_separator_foam*
3. Select *Solid Color* from the list
4. Change the opacity in the properties tab to `0.3`

![cs 32 paraview geometry opacity](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-32-paraview-geometry-opacity.png)

## 34. ParaView - Display Particles (I)

In order to display particles, you can import the same case into ParaView once again.

1. Select *Open* from the top menu
2. Make sure you are in the folder with *cyclone_separator_foam* case
3. Select *cyclone_separator.foam* from file
4. Click **OK**

![cs 33 paraview import geometry 1](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-33-paraview-import-geometry-1.png)

## 35. ParaView - Display Particles (II)

Now we will select to display particles only.

1. Click **Apply**
2. Go to *Mesh regions*, uncheck all regions and check only *lagrangian/kinematicCloud*
3. Click once again **Apply** to confirm
4. Change the coloring variable to the *age*

> Note that after first applying, lagrangian/kinematicCloud will appear on the list of mesh regions.

![cs 34 paraview display particles](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-34-paraview-display-particles.png)

## 36. ParaView - Results

The results are displayed in the graphics window.

1. Play with the animation buttons to track the results of the analysis

> Note that this tutorial is meant only to demonstrate the capabilities of the software and not to solve the problem in the best possible way. Therefore, some assumptions are taken to keep case setup time and computational time low. In particular, to refine the model, one could in the first place consider refining the mesh and choosing a more suitable drag model for the particles. Subsequently, it is worth considering enabling isotropic particle packing, isotropic particle timescale, and stochastic isotropy model.

![cs 35 paraview results](https://help.sim-flow.com/tutorials/images/cyclone-separator/cs-35-paraview-results.png)

## 37. Advanced Postprocessing with ParaView

This concludes the tutorial, covering all the aspects we intended to showcase. For a finely tuned presentation of the results, you may take advantage of the more advanced features.

In ParaView, you can display streamlines, contour plots, vector fields, line or time plots, calculate volume or surface integrals and create animations.

To familiarize yourself with the ParaView capabilities, it’s worth checking out our video tutorial, *Paraview CFD Tutorial - Advanced Postprocessing in ParaView*, in which we demonstrate some of the most commonly used postprocessing techniques.

[Paraview CFD Tutorial - Advanced Postprocessing in ParaView](https://www.youtube.com/watch?v=5M6VgXyHB60&list=PLy7xPqn9xXckoD2gZgPpv8mrxillJ9PWU&index=21)
