## 1. Create Case

After opening SimFlow, we will now create a new case *cyclone_separator*

Go to

**New**panelProvide name

*cyclone_separator*Click

**Create Case**

## 2. Import Geometry

After creating case Download GeometryCyclone

Click

**Import Geometry**Select geometry file

*cyclone.stl*Click

**Open**

## 3. 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.

Select

*mm*unitClick

**OK**button

## 4. Display Geometry

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

Click

**Fit View**to zoom out the geometry

## 5. Meshing Parameters - Cyclone

Now we will set meshing parameters for cyclone geometry

Go to

*Hex Meshing*panelEnable meshing on the

*cyclone*geometry

## 6. Base Mesh

We will define the base mesh now

Go to

*Base*tabDefine initial mesh extends

*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)Define the number of divisions

*Division**25**20**100*

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

Change the following boundary names accordingly

*X+**inlet*

*Z-**bottom*

*Z+**top*Define boundary types accordingly

*X-**wall*

*X+**patch*

*Y-**wall*

*Y+**wall*

*Z-**wall*

*Z+**patch*

## 8. Material Point

Make sure the material point is located inside the geometry

Go to

*Point*tabMake sure that the material point is set accordingly

*Material Point**0**0**0*

## 9. Start Meshing

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

Go to

*Mesh*tabClick

**Mesh**to start the meshing process

## 10. Mesh

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

Click

**Fit View**

## 11. Setup Solver - MPPIC

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

Go to

*Setup*panelSelect

**Transient**filterSelect

*Lagrangian*modelPick

*MPPIC*(MMPICFoam) solver**Select**solver

## 12. Discrete Phase - Properties

We will now define properties of the discrete phase

Go to

*Discrete Phase*panelSet density of the discrete phase

*\(\rho_0\) \({\sf [\frac{kg}{m^2}]}\)**2500*Set packing factor

*\(\alpha_{packed}\) \({\sf [-]}\)**0.6*

## 13. 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.

Go to

*Injection*tabCreate

*Boundary Injector*45 Set 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*

## 14. Discrete Phase - Distribution

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

Go to

*Distribution*tabSet

*Distribution*to*Normal*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*

## 15. Discrete Phase - Models

We will now define the particle drag model

Go to

*Models*tabSelect

*Ergun-Wen-Yu*model

## 16. Discrete Phase - Solution

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

Go to

*Solution*tabSet

*Averaging*method to*Dual*Expand

*Source Terms*optionsSet

*Semi-Implicit*discretization of the*U*term

## 17. Turbulence

For turbulence modeling, we will use the LES model

Go to

*Turbulence*panelSelect

*LES*turbulence modelingSelect

*\(k \; Equation\)*model

## 18. Transport Properties - Fluid

Now we will define the transport properties of fluid material

Go to

*Transport Properties*panelClick

**Material Database**Select

*air*materialClick

**Apply**

## 19. Solution - PIMPLE

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

Go to

*Solution*panelSelect the

*PIMPLE*tabIncrease the number of

*Correctors*to*2*

## 20. Boundary Conditions - Bottom (Particles)

Now we will set a bottom boundary to be transmissive for particles

Go to

*Boundary Conditions*panelSelect

*bottom*boundarySelect

*Particles*tabChange particle interaction to

*Escape*

## 21. Boundary Conditions - Cyclone (Particles)

Select

*cyclone*boundarySet following values accordingly

*e \({\sf [-]}\)**0.97*

*\(\mu\) \({\sf [-]}\)**0.09*

## 22. Boundary Conditions - Inlet (Particles)

We will now set boundary conditions on inlet boundary

Select

*inlet*boundaryChange boundary condition for inlet to

*Velocity Inlet*Change particle interaction to

*Rebound*

## 23. Boundary Conditions - Inlet (Flow)

Switch to

*Flow*tabSet velocity at inlet

*Reference Value \({\sf [m/s]}\)**20*

## 24. Run - Time Controls

Go to

*Run*panelSet

*Simulation Time [s]*to*5*Set time step

*\(\Delta t [s]\)*to*1e-04*

## 25. Run - Output

Go to

*Output*tabSet

*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)

## 26. 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

Switch to

*CPU*tabUse

*parallel*modeIncrease the

*Number of processors*Click

**Run Simulation**button

## 27. Postprocessing - Open ParaView

Open ParaView software to display results

Go to

*Postprocessing*panelStart

*ParaView*

## 28. 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.

Select

*cyclone_separator.foam*Click

**Apply**to import resultsClick

*Last Frame*to select the latest result set*Refresh*the resultsUncheck

*lagrangian/kinematicCloud*regionClick

**Apply**

## 29. ParaView - Streamlines

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

Select

*cyclone_separator.foam*Click

*Stream Tracer*button to add streamlinesClick

**Apply**Change the coloring variable to

*U.bulk*

## 30. ParaView - Display Geometry

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

Select

*cyclone_separator_foam*Click on the eye next to

*cyclone_separator_foam*Select

*Solid Color*from the listChange the opacity in a properties tab to

*0.3*

## 31. ParaView - Display Particles (I)

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

Select

*Open*from the top menuMake sure you are in folder with

*cyclone_separator_foam*caseSelect

*cyclone_separator.foam*from fileClick

**OK**

## 32. ParaView - Display Particles (II)

Now we will select to display particles only

Click

**Apply**Go to

*Mesh regions*, uncheck all regions and check only*lagrangian/kinematicCloud*Click once again

**Apply**to confirmChange the coloring variable to the

*age*

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

## 33. ParaView - Results

The results are displayed in the graphics window.

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