Back to all tutorials

Cyclone Separator - CFD Simulation SimFlow Tutorial

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

To follow this tutorial, you will need SimFlow free version, you may download it via the following link:
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

4. Import Geometry

After creating case Download GeometryCyclone

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

5. Imported Geometry Units

The STL format does not contain the unit information which are defined during the geometry export. 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 Geometry size label. In our case, the model was created in millimeters.

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

6. Display Geometry

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

  1. Click Fit View to zoom out the geometry
cs 3 geometry view 1

7. Meshing Parameters - Cyclone

Now we will set meshing parameters for cyclone geometry

  1. Go to Hex Meshing panel
  2. Enable meshing on the cyclone geometry
cs 7 mesh geometry

8. Base Mesh

We will define the base mesh now

  1. Go to Base tab
  2. Define initial mesh extends
    Min \({\sf [m]}\)-0.1-0.1-0.4499
    Max \({\sf [m]}\)0.14990.1010.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
cs 8 base mesh

9. Base Mesh Boundaries

To be able to define different conditions on each boundary of the domain we need to assign an individual name to each side of the base mesh

  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

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 Point000
cs 10 material point

11. Start Meshing

Now 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

12. Mesh

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

  1. Click Fit View
cs 12 mesh

13. Setup Solver - MPPIC

We will use MMPICFoam (MPPICFoam) solver. This is a Lagrangian solver based on the Discrete Particle Modelling(DPM) method with Multiphase Particle-in-Cell (MPPIC) collision handling.

  1. Go to Setup panel
  2. Select Transient filter
  3. Select Lagrangian model
  4. Pick MPPIC (MPPICFoam) solver
  5. Select solver
cs 13 setup solver

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^2}]}\)2500
  3. Set packing factor
    \(\alpha_{packed}\) \({\sf [-]}\)0.6
cs 14 discrete phase properties

15. Discrete Phase - Injection

We will now define the injection of the discrete phase through the inlet boundary. Mass flow rate of the particles is equal to the mass flow rate of the air that will be defined later in the Boundary Conditions panel.

  1. Go to Injection tab
  2. Create Boundary Injector
  3. 45 Set following parameters accordingly
    Total Mass \({\sf [kg]}\)1.225
    SOI \({\sf [s]}\)1
    Duration \({\sf [s]}\)10
    Parcels Per Second10000
    \(U_0\) \({\sf [m/s]}\)-300
cs 15 discrete phase injection 1

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

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

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

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

20. Transport Properties - Fluid

Now we will define the transport properties of fluid material

  1. Go to Transport Properties panel
  2. Click Material Database
  3. Select air material
  4. Click Apply
cs 20 transport properties fluid

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

22. Boundary Conditions - Bottom (Particles)

Now we will set a bottom boundary to 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

23. Boundary Conditions - Cyclone (Particles)

  1. Select cyclone boundary
  2. Set following values accordingly
    e \({\sf [-]}\)0.97
    \(\mu\) \({\sf [-]}\)0.09
cs 23 boundary conditions cyclone particles

24. Boundary Conditions - Inlet (Particles)

We will now set boundary conditions on 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

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

26. Run - Time Controls

  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

27. Run - Output

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

28. Run - CPU

This simulation will require high CPU usage and might take several hours to finish the calculation depending on the machine used. To speed up the calculation process increase the number of CPUs basing on your PC capability. We recommend using at least 4 cores for this tutorial. The free version allows you to use only 2 processors in parallel mode. To get the full version, you can use the contact form to Request 30-day Trial

Estimated computation time for 2 processors: 4 hours

  1. Switch to CPU tab
  2. Use parallel mode
  3. Increase the Number of processors
  4. Click Run Simulation button
cs 27 run cpu

29. Postprocessing - Open ParaView

Open ParaView software to display results

  1. Go to Postprocessing panel
  2. Start ParaView
cs 27 postprocessing open paraview

30. ParaView - Import Results

After opening the ParaView we will import result from the simulation. We will import 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

31. 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

32. ParaView - Display Geometry

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

  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 a properties tab to 0.3
cs 32 paraview geometry opacity

33. 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 folder with cyclone_separator_foam case
  3. Select cyclone_separator.foam from file
  4. Click OK
cs 33 paraview import geometry 1

34. 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

35. ParaView - Results

The results are displayed in the graphics window.

  1. Play with an animation buttons to track the results of 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 grid and choosing a more suitable drag model for the particles (e.g. Ergun-Wen-Yu model). Subsequently, it is worth considering enabling isotropic particle packing, isotropic particle timescale, and stochastic isotropy model.
cs 35 paraview results

36. 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, calculating 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 post-processing techniques.