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

## 2. Create Case

Open SimFlow and create a new case named *catalytic_converter*

Go to

**New**panelProvide name

*catalytic_converter*Click

**Create Case**

## 3. Import Geometry

Firstly we need to Download GeometryCatalytic-converter

Click

**Import Geometry**Select geometry file

*catalytic-converter.stl*Click

**Open**to import geometry

## 4. Imported Geometry Units

Since the imported geometry is in STL format, which does not store unit information, we need to confirm the unit in which the model was created. In the selection of unit, we can use the *Geometry size* label, which displays overall size of the model in each direction. In our case, the model was created in millimeters.

Select

*mm*unitPress

**OK**button

## 5. Geometry - Catalytic Converter

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

Click

**Fit View**to zoom in on the geometry

## 6. Split Geometry - Catalytic Converter (I)

The imported geometry is made up of a single surface. We need to split it into multiple faces for further processing.

Expand the

*Options*list for*catalytic_converter*Select

*Split*

## 7. Split Geometry - Catalytic Converter (II)

In order to split original geometry into separate objects, we will disable Create Single Geometry options:

Uncheck

*Create Single Geometry*Click

**Split**

## 8. Rename Geometries

To make the resulting mesh boundaries more readable we will rename each geometry face:

Select

*catalytic_converter_patch00*from the list. The selected face will be highlighted in the 3D graphic windowDouble click on the name and change it to match the picture below

*catalytic_converter_patch00*\(\rightarrow\)*inlet*Repeat these steps for the remaining geometry components

*catalytic_converter_patch01*\(\rightarrow\)*outlet*

*catalytic_converter_patch02*\(\rightarrow\)*wall*

## 9. Create Geometry - Cell Zone

In this tutorial, we would like to model a porous zone inside the catalytic converter. To do so we need to define the region where the porous resistance will be applied. For this purpose we will create new box geometry:

Click on

*Create Box*Set the origin and box dimensions accordingly

*Origin \({\sf [m]}\)**-0.085**-0.06**-0.09*

*Dimensions \({\sf [m]}\)**0.175**0.12**0.18*

## 10. Meshing Properties - Catalyctic Converter

In order to create the mesh, we need to specify geometries options used during the meshing process.

Go to

*Hex Meshing*panelEnable

*Mesh Geometry*on the*inlet**outlet**wall*Enable

*Create Boundary Layer Mesh*on*wall*geometryClick on the

*wall*in the listto expand optionsSet

*No. Of Layers*to*4*

## 11. Base Mesh - Domain

Now we will define the base mesh. The box geometry determines the background mesh domain. The model is symmetrical on the XZ plane, so we do not need to mesh the whole geometry. Using the box dimensions we will choose only half of the domain.

Go to

*Base*tabClick on

**Autosize**Change

*Max [m]**Y*to*0*Define the number of divisions

*Division**155**17**50*

## 12. Material Point

Material Point tells the meshing algorithm on which side of the geometry the mesh is to be retained. Since we are considering flow inside the catalytic converter we need to place the material point inside the geometry.

Go to

*Point*tabSpecify location inside the catalytic converter geometry

*Material Point**0**-0.02**0*

You can specify the point location from the 3D view. Hold the `CTRL` key and drag the arrows to the destination.

## 13. Start Meshing

Everything is now set up for meshing

Go to

*Mesh*tabStart the meshing process with

**Mesh**button

## 14. Mesh

After the meshing process is finished the mesh will appear in the graphics window.

## 15. Create Cell Zone (I)

Now we will define the cell zone using *box_1* geometry.

Expand the

*Options*list next to*default*regionSelect

*Add Cell Zones*

## 16. Create Cell Zone (II)

Check the

*box_1*Click on

**Create Cell Zones**

## 17. Display Cell Zone

The cell zone appears inside the catalytic converter. It is colored on light blue.

## 18. Boundaries

Change boundary name from

*boundaries*\(\rightarrow\)*symmetry*Define boundary types accordingly

*inlet**Patch*

*outlet**Patch*

*symmetry**Symmetry*

*wall**Wall*

## 19. Select Solver - SIMPLE

We want to analyze internal, incompressible turbulent flow. For this purpose, we will use the SIMPLE (simpleFoam) solver.

Go to

*SETUP*panelEnable

**Steady State**filterFilter the solvers by

**Incompressible**flowPick

*SIMPLE*(simpleFoam) solver**Select**solver

## 20. Turbulence

For turbulence modeling, we will use the standard \(k-\varepsilon\) model.

Go to

*Turbulence*panelSelect

*RANS*for*Turbulence Modeling*

## 21. Transport Properties

We will change the kinematic viscosity to the value of the exhaust gas.

Go to

*Transport Properties*panelSet the kinematic viscosity

*\(\nu\) \({\sf [\frac{m^2}{s}]}\)**1.272e-04*

## 22. Cell Zones - Porosity

In order to include porosity to our simulation we have to define porosity for the *box_1* cell zone.

Go to

*Cell Cones*panelSelect the

*box_1*zoneCheck

*Porous Zone*Use default Darcy-Forchheimer model and set its parameters accordingly

*d \({\sf [\frac{1}{m^2}]}\)**3e-07**3e-10**3e-10*

*f \({\sf [\frac{1}{m}]}\)**20**20000**20000*

## 23. Parameters - R, U

SimFlow allows users to create named parameters that can be used instead of numbers. This allows to easily change a single property without the need to edit all inputs where a given property is used. In this tutorial, we will define two global parameters that we will use during further setup.

Go to

*Parameters*panelDefinethe new parameter

*Name**R**Formula**0.025*Click

*Create Parameter*Repeat these steps for the second parameter

*Name**U**Formula**20*

The newly created parameters will be shown in the parameters list.

## 24. Boundary Conditions - Inlet (Flow)

We will set inlet velocity as a parabolic profile. The profile we will define by the formula using *U* and *R* parameters. Velocity magnitude near the wall will be equal to zero and the highest value of *U* will be in the center of the pipe.

Go to

*Boundary Conditions*panelSelect the

*inlet*boundarySet the

*Velocity Inlet*characterChange the velocity type and value accordingly

*U**Type**Fixed Value*

*U**Value \({\sf [\frac{m}{s}]}\)**U*( (R-sqrt(y^2 +z^2 ))/R)^(1/7)**0**0*

## 25. Save Case

To visualize and check velocity distribution we will open ParaView. Firstly we will save the case.

Go to

*RUN*panelPress

*Save Case*button

## 26. Check Velocity Profile - ParaView (I)

Run the ParaView from the Postprocessing panel.

Go to

*POSTPROCESSING*panelClick on

*Run ParaView*

## 27. Check Velocity Profile - ParaView (II)

We will display a velocity magnitude map on the inlet.

Make sure that

*catalytic_converter*is selectedPress

**Apply**Uncheck

*Skip Zero Time*Press

**Refresh**Press

**Apply**Select velocity

*U*from the list

## 28. Boundary Conditions - Inlet (Turbulence)

Back in SimFlow, we will also update the turbulent mixing length for the ε-equation at the inlet.

Go to

*Boundary Conditions*panelSelect

*inlet*boundarySwitch to

*Turbulence*tabSet the value of

*Mixing Length*to 7% of inlet diameter

*\(\varepsilon\) Mixing Length \({\sf [m]}\)**0.07*2*R*

## 29. Initial Conditions - Potential

In order to give a better initial guess for velocity and pressure fields, we will use the "Potential" initialization feature. This utility solves pseudo potential flow prior to actual calculations.

Go to

*Initial Conditions*panelSwitch to

*Potential*tabCheck the

*Initialize Potential Flow*Set

*No. of correctors*to*10*

## 30. Monitors - Boundary

We would like to monitor how results change during computation. We will enable plotting the average pressure at the inlet during the calculation:

Go to

*Monitors*panelSwitch to

*Boundary*tabExpand

*Fields*list next to*inlet*boundaryCheck the pressure

*p*

## 31. Monitors - Sampling

We will also display intermediate results on a section plane.

Go to

*Sampling*tabAdd new

*Slice*Set the normal vector

*Normal \({\sf [-]}\)**0**1**0*Expand

*Fields*menuChoose the pressure

*p*and the velocity*U*to be sampled on the section plane

## 32. Run - Time Control

Go to

*RUN*panelSet the maximal

*Numbers of Iterations*to*300*

## 33. Run - Output

In this tutorial, we run a steady-state simulation. We are only interested in the latest time step. However, it is advised to keep the previous time step result as a backup on the disk. We will make a backup every 50 iterations.

Switch to

*Output*tabSet the

*Interval [-]*to*50*

## 34. Run - CPU

To speed up the calculation process increase the number of CPUs basing on your PC capability. 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: 5 minutes

Switch to

*CPU*tabUse

*parallel*modeIncrease the

*Number of processors*Click

**Run Simulation**button

## 35. Control Inlet Pressure

Go to the *p on inlet* tab to observe convergence process.

Switch to

*p on inlet*tab

## 36. Discretization

After preliminary calculation, we will continue with a more accurate algorithm. Change velocity discretization to the *Linear Upwind* scheme to minimize numerical diffusion affecting results of the simulation.

Go to

*Discretization*panelSwitch to

*Convection*tabClick on

**Upwind**to extend the listSelect

*Linear Upwind*

## 37. Run - Continue Simulation

Go to

*RUN*panelSet the maximal

*Numbers of Iterations*to*2000*Click

**Continue Simulation**button

## 38. Control Inlet Pressure - New Scheme

Go back to the *p on inlet* tab and observe convergence process.

Switch to

*p on inlet*tabControl the convergence of the pressure on the inlet

## 39. Slice - View Velocity Field

Slices tab appears next to the *Residuals* tab. Under this tab, we can preview results on the defined section plane.

Change tab to

*Slices*Select the velocity

*U*Click

*Adjust range to data*Click

**Fit View**Set the XZ orientation

**View XZ**

## 40. Slice - Final Results

At the end, we will look at the pressure distribution. The Darcy porous model assumes resistance and hence pressure gradient to be proportional to the velocity in the porous zone. We can observe the effect of increased resistance from the porous zone. The pressure builds up in front of the porous zone and then linearly decreases along the flow direction due to resistance.