# Catalytic Converter - CFD Simulation

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

![front-image](https://help.sim-flow.com/tutorials/images/catalytic-converter.png)

## 1. Introduction

In this tutorial, we will be demonstrating how to model a porous medium. We have simulated the flow through the catalytic converter using the Darcy-Forchheimer porosity model. The inlet velocity has been described by a formula that depends on the coordinates. Second-order velocity discretization (Linear Upwind) has been used to increase the accuracy of the simulation.

## 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 *catalytic converter*.

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

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

## 4. Import Geometry

Firstly, we need to [Download GeometryCatalytic-converter](https://help.sim-flow.com/tutorials/downloads/catalytic-converter/catalytic-converter.stl)

1. Click **Import Geometry**
2. Select geometry file *catalytic-converter.stl*
3. Click **Open** to import geometry

![Catalytic converter 02 Import Geometry](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_02_Import_Geometry.png)

## 5. 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 the unit, we can use the *Geometry size* label, which displays the overall size of the model in each direction. In our case, the model was created in millimeters.

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

![Catalytic converter 02 unit](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_02_unit.png)

## 6. Geometry - Catalytic Converter

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

1. Click **Fit View** to zoom in on the geometry

![Catalytic converter 03 Geometry check](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_03_Geometry_check.png)

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

1. Expand the *Options* list for *catalytic_converter*
2. Select *Split*

![Catalytic converter 06 Geometry split](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_06_Geometry_split.png)

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

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

1. Uncheck *Create Single Geometry*
2. Click **Split**

![Catalytic converter 07 Geometry split2](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_07_Geometry_split2.png)

## 9. Rename Geometries

To make the mesh boundaries easier to recognize, we will rename each geometry face as follows:

1. Double-click each geometry name in the list and rename it accordingly:
   *catalytic_converter_patch00* \(\rightarrow\) `inlet`
   *catalytic_converter_patch01* \(\rightarrow\) `outlet`
   *catalytic_converter_patch02* \(\rightarrow\) `wall`

As you select each face, it will be highlighted in the 3D graphics window. Ensure that the renamed faces match the reference shown in the image below.

![Catalytic converter 08 Geometry name](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_08_Geometry_name.png)

## 10. 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 a new box geometry:

1. Click on *Create Box*
2. 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`

![Catalytic converter 09 Geometry Cell Zone](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_09_Geometry_Cell_Zone.png)

## 11. Meshing Properties - Catalytic Converter

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

1. Go to *Hex Meshing* panel
2. Enable *Mesh Geometry* on the *inlet* *outlet* *wall*
3. Enable *Create Boundary Layer Mesh* on *wall* geometry
4. Click on the *wall* in the list to expand options
5. Set *No. Of Layers* to `4`

![Catalytic converter 10 Meshing parameters 2](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_10_Meshing_parameters_2.png)

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

1. Go to *Base* tab
2. Click on **Autosize**
3. Change *Max [m]* *Y* to `0`
4. Define the number of divisions
   *Division*`155``17``50`

![Catalytic converter 11 Mesh Base](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_11_Mesh_Base.png)

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

1. Go to *Point* tab
2. Specify 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.

![Catalytic converter 12 Material Point](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_12_Material-Point.png)

## 14. Start Meshing

Everything is now set up for meshing.

1. Go to *Mesh* tab
2. Start the meshing process with the **Mesh** button

![Catalytic converter 13 Meshing](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_13_Meshing.png)

## 15. Mesh

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

![Catalytic converter 14 Mesh](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_14_Mesh.png)

## 16. Create Cell Zone (I)

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

1. Expand the *Options* list next to the *default* region
2. Select *Add Cell Zones*

![Catalytic converter 15 Cell Zone](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_15_Cell_Zone.png)

## 17. Create Cell Zone (II)

1. Check the *box_1*
2. Click on **Create Cell Zones**

![Catalytic converter 16 Cell Zone2](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_16_Cell_Zone2.png)

## 18. Display Cell Zone

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

![Catalytic converter 17 Mesh](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_17_Mesh.png)

## 19. Boundaries

1. Change boundary name
   *boundaries* \(\rightarrow\) `symmetry`
2. Define boundary types accordingly
   *inlet* *Patch*
   *outlet* *Patch*
   *symmetry* *Symmetry*
   *wall* *Wall*

![Catalytic converter 18 Boundaries](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_18_Boundaries.png)

## 20. Simulation Type

We want to analyze internal, incompressible turbulent flow. For this purpose, we will use a single-phase, steady-state simulation of incompressible turbulent flow.

![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/simpleFoam/01_single_phase@2x.png)

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

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

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

## 21. Turbulence

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

1. Go to *Turbulence* panel
2. Select *RANS* for *Turbulence Modeling*

![Catalytic converter 20 Turbulence](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_20_Turbulence.png)

## 22. Transport Properties

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

1. Go to *Transport Properties* panel
2. Set the kinematic viscosity
   *\(\nu\) \({\sf [\frac{m^2}{s}]}\)*`1.272e-04`

![Catalytic converter 21 Transport properties](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_21_Transport_properties.png)

## 23. Cell Zones - Porosity

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

1. Go to *Cell Zones* panel
2. Select the *box_1* zone
3. Check *Porous Zone*
4. Use the 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`

![Catalytic converter 22 Cell Zone Porosity](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_22_Cell_Zone_Porosity.png)

## 24. Parameters - R, U

SimFlow allows users to create named parameters that can be used instead of numbers. This allows you 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.

1. Go to *Parameters* panel
2. Define the new parameter
   *Name* `R` *Formula* `0.025`
3. Click *Create Parameter*
4. Repeat these steps for the second parameter
   *Name* `U` *Formula* `20`
   The newly created parameters will be shown in the parameters list.

![Catalytic converter 23 Parameters](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_23_Parameters.png)

## 25. Boundary Conditions - Inlet (Flow)

We will set the 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.

1. Go to *Boundary Conditions* panel
2. Select the *inlet* boundary
3. Set the *Velocity Inlet* character
4. Change 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`

![Catalytic converter 24 BC Inlet](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_24_BC_Inlet.png)

## 26. Save Case

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

1. Go to *RUN* panel
2. Press *Save Case* button

![Catalytic converter 25 Save step](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_25_Save_step.png)

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

Run ParaView from the Postprocessing panel.

1. Go to *POSTPROCESSING* panel
2. Click on *Run ParaView*

![Catalytic converter 26 Velocity check ParaView](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_26_Velocity_check_ParaView.png)

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

We will display a velocity magnitude map on the inlet.

1. Make sure that *catalytic_converter* is selected
2. Press **Apply**
3. Uncheck *Skip Zero Time*
4. Press **Refresh**
5. Press **Apply**
6. Select velocity *U* from the list

![Catalytic converter 27 Velocity check ParaView2 v2](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_27_Velocity_check_ParaView2_v2.png)

## 29. Boundary Conditions - Inlet (Turbulence)

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

1. Go to *Boundary Conditions* panel
2. Select *inlet* boundary
3. Switch to *Turbulence* tab
4. Set the value of *Mixing Length* to 7% of the inlet diameter
   *\(\varepsilon\) Mixing Length \({\sf [m]}\)*`0.07*2*R`

![Catalytic converter 28 Inlet Turbulence](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_28_Inlet_Turbulence.png)

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

1. Go to *Initial Conditions* panel
2. Switch to *Potential* tab
3. Check the *Initialize Potential Flow*
4. Set *No. of correctors* to `10`

![Catalytic converter 29 Initial Conditions](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_29_Initial_Conditions.png)

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

1. Go to *Monitors* panel
2. Switch to *Boundary* tab
3. Expand *Fields* list next to *inlet* boundary
4. Check the pressure *p*

![Catalytic converter 30 Monitors Boundary](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_30_Monitors_Boundary.png)

## 32. Monitors - Sampling

We will also display intermediate results on a section plane.

1. Go to *Sampling* tab
2. Add new *Slice*
3. Set the normal vector
   *Normal \({\sf [-]}\)*`0``1``0`
4. Expand *Fields* menu
5. Choose the pressure *p* and the velocity *U* to be sampled on the section plane

![Catalytic converter 31 Monitors Slice](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_31_Monitors_Slice.png)

## 33. Run - Time Control

1. Go to *RUN* panel
2. Set the maximal *Number of Iterations* to `300`

![Catalytic converter 32 Time Controls](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_32_Time_Controls.png)

## 34. Run - Output

In this tutorial, we will run a steady-state simulation, where only the final solution is of interest. In this tab, you can specify how frequently intermediate results are displayed during the calculation. Set the preview interval to 50 iterations.

1. Switch to *Output* tab
2. Set the *Interval [-]* to `50`

![Catalytic converter 33 RUN](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_33_RUN.png)

## 35. 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: 8 minutes

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

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

## 36. Control Inlet Pressure

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

1. Switch to *p on inlet* tab

![Catalytic converter 34 P on inlet](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_34_P_on_inlet.png)

## 37. Discretization

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

1. Go to *Discretization* panel
2. Switch to *Convection* tab
3. Click on **Upwind** to expand the list
4. Select *Linear Upwind*

![Catalytic converter 35 Discretization](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_35_Discretization.png)

## 38. Run - Continue Simulation

1. Go to *RUN* panel
2. Set the maximal *Number of Iterations* to `2000`
3. Click **Continue Simulation** button

![Catalytic converter 36 RUN2](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_36_RUN2.png)

## 39. Control Inlet Pressure - New Scheme

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

1. Switch to *p on inlet* tab
2. Control the convergence of the pressure on the inlet

![Catalytic converter 37 P on inlet](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_37_P_on_inlet.png)

## 40. Slice - View Velocity Field

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

1. Change tab to *Slices*
2. Select the velocity *U*
3. Click *Adjust range to data*
4. Click **Fit View**
5. Set the XZ orientation **View XZ**

![Catalytic converter 38 Slice Velocity](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_38_Slice_Velocity.png)

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

![Catalytic converter 39 Results](https://help.sim-flow.com/tutorials/images/catalytic-converter/Catalytic_converter_39_Results.png)

## 42. Advanced Postprocessing with ParaView

This concludes the tutorial, covering all the aspects we intended to showcase. To create a finely tuned presentation of the results, you may take advantage of the seamless integration with ParaView. You can easily open simulation results in ParaView with a single click from SimFlow.

In ParaView, you can perform typical and advanced postprocessing tasks such as displaying streamlines, contour plots, vector fields, line or time plots, and calculating volume or surface integrals.

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)
