# Electronics Cooling - CFD Simulation

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

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

## 1. Introduction

This tutorial will demonstrate a simulation of electronics cooling. We will model a Joule heat source within a solid part (CPU) and a cooling domain filled with flowing air. The steady-state simulation will calculate conjugate heat transfer (CHT) at the interface between the CPU and air. In the second part of the simulation, we will enable the Surface-to-Surface radiation model and observe its impact on the results in ParaView.

## 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 *electronics cooling*

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

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

## 4. Import Geometry

Firstly, we need to Download Geometries[Board](https://help.sim-flow.com/tutorials/downloads/electronics-cooling/board.stl)[Cpu](https://help.sim-flow.com/tutorials/downloads/electronics-cooling/cpu.stl)[Pins](https://help.sim-flow.com/tutorials/downloads/electronics-cooling/pins.stl)

1. Click **Import Geometry**
2. Select geometry files: *board.stl* *cpu.stl* *pins.stl*
3. Click **Open**

![ec 02 import geometry](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-02-import-geometry.png)

## 5. Imported Geometry Units

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 the overall size of the model in each direction. In our case, the default unit meter is correct.

1. To confirm default unit *meter*, press **OK**

![ec 02 unit](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-02-unit.png)

## 6. Display Geometry

After loading geometry, it will appear in the graphics window.

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

![ec 03 geometry](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-03-geometry.png)

## 7. Create Geometry - Fan

Add fan geometry to the model. It will be placed above the CPU.

1. Select *Create Box*
2. Change geometry name from *box_1* to `fan`
   (double click to edit name and press Enter to confirm)
3. Set the origin and box dimensions
   *Origin \({\sf [m]}\)*`0.05``0.016``0.0115`
   *Dimensions \({\sf [m]}\)*`0.016``0.016``4e-03`

![ec 04 fan geometry](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-04-fan-geometry.png)

## 8. Create Face Groups - Fan Inlet

Now rotate the geometry of the model so that we can see the bottom side of the newly created fan. We will now select a face that will be subdivided from the fan as a separate boundary patch by the meshing tool.

1. Press `Ctrl` and select this bottom surface of the *fan*
2. Click *Geometry Faces* next to *fan*
3. Click *Create New Face Group*
4. Click *Create Group From 3D Selection*
5. Rename *group_1* to `inlet`
   (double click on the group to rename, press Enter to confirm)

![ec 05 fan face group](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-05-fan-face-group.png)

## 9. Create Geometry - Outlet Tool

The last primitive geometry to create is a box that will be used as a tool to extract the outlet patch from the outer boundaries.

1. Select *Create Box*
2. Change geometry name from *box_1* to `outlet_tool`
3. Set the origin and box dimensions
   *Origin \({\sf [m]}\)*`0.0845``0.0415``0`
   *Dimensions \({\sf [m]}\)*`6.5e-03``9e-03``8e-03`

![ec 06 outlet tool geometry](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-06-outlet-tool-geometry.png)

## 10. Meshing Parameters - Fan

Since we are going to perform a CHT (Conjugate Heat Transfer) simulation, we need to create the mesh for fluid and solid sub-domains. We will specify the mesh parameters for all geometries and, using the material point, we will choose the subdomain that will be meshed.

1. Go to *Hex Meshing* panel
2. Select *fan* geometry
3. Enable *Mesh Geometry*
4. Set *Refinement* to *Min 1* *Max 3*

![ec 07 hex meshing fan](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-07-hex-meshing-fan.png)

## 11. Meshing Parameters - Board

1. Select *board* geometry
2. Enable *Mesh Geometry*
3. Set *Refinement* to *Min 2* *Max 3*

![ec 08 hex meshing board](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-08-hex-meshing-board.png)

## 12. Meshing Parameters - CPU

1. Select *cpu* geometry
2. Enable *Mesh Geometry*
3. Set *Refinement* to *Min 2* *Max 4*

![ec 09 hex meshing cpu](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-09-hex-meshing-cpu.png)

## 13. Base Mesh - Domain

Now, we will define the base mesh. The box geometry determines the background mesh domain.

1. Go to *Base* tab
2. Define the box size
   *Min \({\sf [m]}\)*`0``0``0`
   *Max \({\sf [m]}\)*`0.085``0.056``0.0155`
3. Define the number of divisions
   *Division*`15``10``5`

![ec 10 base mesh 1](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-10-base-mesh-1.png)

## 14. Base Mesh Boundaries

1. Change boundary type to *wall* for all base mesh boundaries

![ec 11 base boundaries](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-11-base-boundaries.png)

## 15. Solid Mesh - Material Point

In order to create the mesh in the solid region, we will place the material point inside the CPU geometry. The resulting mesh will remain only in this region.

1. Go to *Point* tab
2. Specify location inside the CPU box
   *Material Point*`0.058``0.024``5e-04`

![ec 12 material point](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-12-material-point.png)

## 16. Solid Mesh - Start Meshing

Everything is set up now for the meshing of the solid region.

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

![ec 13 meshing cpu](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-13-meshing-cpu.png)

## 17. Solid Mesh

When the meshing process is finished, the solid region mesh appears on the screen.

![ec 14 mesh](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-14-mesh.png)

## 18. Solid Mesh - Create Sub-region

Before generating a mesh for the fluid region, you must convert the current mesh into a sub-region. Otherwise, it would be overwritten by the new mesh.

1. Go to *MESH* panel
2. Expand the *Options* list next to the default region
3. Select *Make sub-region*
4. *Enter Region Name* to `solid`
5. Press **OK**

![ec 15 solid sub region](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-15-solid-sub-region.png)

## 19. Solid Mesh - Type

1. Expand region type options
2. Select *Solid*

![ec 16 region solid type](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-16-region-solid-type.png)

## 20. Fluid Mesh - Material Point

Once the solid region is created, we can move the material point to anywhere inside the base mesh, but outside the solid region.

1. Go to *Hex Meshing* panel
2. Go to *Point* tab
3. Specify location inside the fluid mesh
   *Material Point*`0.058``0.024``5e-03`

![ec 17 material point 2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-17-material-point-2.png)

## 21. Fluid Mesh - Start Meshing

Everything is set up now for the meshing of the fluid region.

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

![ec 18 meshing cpu 2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-18-meshing-cpu-2.png)

## 22. Fluid Mesh

The mesh will be displayed in the graphics window.

![ec 19 mesh](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-19-mesh.png)

## 23. Fluid Mesh - Extract Outlet (I)

In the geometry setup, you created *outlet_tool*. You will now use this box to extract a patch from the boundary patch.

1. Go to *MESH* panel
2. Click *Options* button next to *boundaries* patch
3. Select *Extract From* option

![ec 20 extract boundary](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-20-extract-boundary.png)

## 24. Fluid Mesh - Extract Outlet (II)

1. Pick *outlet_tool* from the list
2. Click **Extract**

The new patch will appear in the list of boundaries.

![ec 21 extract boundary 2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-21-extract-boundary-2.png)

## 25. Fluid Mesh - Outlet

Now we have to rename the newly created boundary.

1. Change the boundary name
   *boundaries_in_outlet_tool* \(\rightarrow\) `outlet`

![ec 22 outlet boundary](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-22-outlet-boundary.png)

## 26. Fluid Mesh - Create Sub-region

Now, after you used the *Extract tool* on the default mesh, you can convert it into a sub-region. It’s important to note that extract operations are no longer available once the mesh is converted.

1. Expand the *Options* list next to the default region
2. Select *Make sub-region*
3. *Enter Region Name* to `fluid`
4. Press **OK**

![ec 23 fluid region](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-23-fluid-region.png)

## 27. Create Region Interface

Two mesh regions are not coupled until you create a region interface. It will be further used to define which information is exchanged between regions.

1. Select the *cpu* in fluid region and the *cpu* in solid region
   (hold `CTRL` key and select both boundaries)
2. Press *Create Region Interface*

![ec 24 cpu interface](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-24-cpu-interface.png)

## 28. Set Boundary Conditions

1. Make sure the boundary conditions are as follows
   *board* *wall*
   *boundaries* *wall*
   *fan* *wall*
   *fan_inlet* *patch*
   *outlet* *patch*
   *board* *wall*

![ec 25 boundary condition](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-25-boundary-condition.png)

## 29. Simulation Type

We want to analyze the cooling of electronic components. For this purpose, we will use a steady-state conjugate heat transfer simulation with radiation modeling.

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

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

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

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

## 30. Radiation

We will first run a simulation without taking radiative heat transfer into account. However, it is important to set up all radiation model parameters now (these parameters cannot be changed later without resetting the simulation).

1. Go to *Radiation* panel
2. Uncheck *Enable Radiation*
3. Set *Radiation Model* to *Surface To Surface*
4. Increase the *Max Rays* number to `3000000`

![ec 27 radiation](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-27-radiation.png)

## 31. Thermophysical Properties of Solid

Now we need to define solid and fluid properties. We will assume that the working fluid is air and the solid is made of aluminum.

1. Go to *Thermo* panel
2. Select *solid* region
3. Click **Material Database** button
4. Select *aluminium* material
5. Click **Apply**

![ec 28 thermo solid](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-28-thermo-solid.png)

## 32. Thermophysical Properties of Fluid (I)

1. Select *fluid* region
2. Click **Material Database** button
3. Select *air* material
4. Click **Apply**

![ec 29 thermo fluid](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-29-thermo-fluid.png)

## 33. Thermophysical Properties of Fluid (II)

1. Set the *Equation of State* to *Incompressible Perfect Gas*

![ec 30 thermo fluid 2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-30-thermo-fluid_2.png)

## 34. Turbulence

For turbulence modeling, we will use the \(Realizable \; k{-} \varepsilon\) model.

1. Go to *Turbulence* panel
2. Select *RANS* turbulence formulation
3. Select *\(Realizable \; k{-} \varepsilon\)* model

![ec 31 turbulence](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-31-turbulence.png)

## 35. Solution - Solvers

We will now adjust the solver tolerance threshold of the enthalpy equation in the solid region in order to achieve better convergence.

1. Go to *Solution* panel
2. Select *h (solid)* tab
3. *Expand* solver options
4. Lower solver *Tolerance* to `1e-08`

![ec 32 soultion tolerance](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-32-soultion-tolerance.png)

## 36. Solution - SIMPLE

To achieve better convergence, we will adjust the SIMPLE algorithm settings.

1. Go to the *SIMPLE* tab
2. Increase number of *Non-Orthogonal Correctors* to `2`

![ec 33 solution simple](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-33-solution-simple.png)

## 37. Solution - Relaxation

1. Go to *Relaxation* tab
2. Adjust relaxation coefficients
   *\(h(solid)\)*`1`
   *\(p {-} \rho gh\)*`0.3`
   *\(U\)*`0.4`
   *\(h\)*`1`
   *\(\rho\)*`0.8`
   *\(k\)*`0.8`
   *\(\varepsilon\)*`0.8`

![ec 34 solution relaxation](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-34-solution-relaxation.png)

## 38. Solution - Limits

Now, we will adjust the limits of temperature fields in order to narrow the convergence space of the solution.

1. Go to *Limits* tab
2. Enable *Temperature Limits*
3. Adjust minimum and maximum temperature to a reasonable range
   *\(T_{min}\)*`290`
   *\(T_{max}\)*`600`

![ec 35 solution limits](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-35-solution-limits.png)

## 39. Cell Zones

Now set the heat source term in the CPU volume. In this tutorial, we assume that only the CPU produces heat with a power of 0.25 W and its volume is about 200 mm^3:

1. Go to *Cell Zones* setup
2. Enable *Source term* for *all cells in solid*
3. Click *Add/Remove* in *Source Terms*
4. Select *h* equation
5. Set explicit source term
   *h Explicit \({\sf [W/m^3]}\)*`1250000`

![ec 36 cell zone](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-36-cell-zone.png)

## 40. Boundary Conditions - Inlet (Flow)

Now, we will define the inlet and outlet boundary conditions. At the inlet, we will set a constant air inflow.

1. Go to *Boundary Conditions* panel
2. Select *fan_inlet* boundary
3. Set the *Velocity Inlet* character
4. Set the inlet velocity
   *U Reference Value \({\sf [m/s]}\)*`0.1`

![ec 37 bc inlet](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-37-bc-inlet.png)

## 41. Run - Time Control

1. Go to *Run* panel
2. Set *Number of Iterations* to `800`
3. Click **Run Simulation** button

Estimated computation time: 10 minutes

![ec 40 run](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-40-run.png)

## 42. Residuals

1. Monitor convergence process under *Residuals* tab

![ec 42 residuals](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-42-residuals.png)

## 43. Start Postprocessing - ParaView

Start ParaView software to display results.

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

![ec 43 postprocessing](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-43-postprocessing.png)

## 44. ParaView - Load Results

1. Select *electronics_cooling.foam*
2. Click **Apply** to load results
3. Click *Last Frame* to select the latest result set
4. After loading results, they will be shown in the 3D graphic window

![ec 44 pv load results](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-44-pv-load-results.png)

## 45. ParaView - Display Temperature Contour (I)

We will now plot the temperature contour on the circuit board again. We will use the same scale, so the differences in results are more evident.

1. Select the following mesh regions
   */fluid/patch/board*
   */fluid/patch/cpu*
   */fluid/patch/fan*
   */fluid/patch/fan_inlet*
   */fluid/patch/outlet*
   */solid/patch/board*
   */solid/patch/cpu*
   */solid/internalMesh*
   (you can check *Mesh Regions* to select all regions and uncheck others: */fluid/group/viewFactorWall*, */fluid/patch/boundaries* and */fluid/internalMesh* )
2. Click **Apply**
3. Select contour coloring variable to *T*
4. Click *Rescale to Data Range*

![ec 45 pv temperature](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-45-pv-temperature.png)

## 46. ParaView - Display Temperature Contour (II)

Results are displayed in the graphics window. Note that the maximum temperature in the domain is about 355 K.

![ec 45 pv temperature 2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-45-pv-temperature_2.png)

## 47. Radiation Setup

We will now enable the radiation equation in our simulation. To do this, close ParaView and go back to SimFlow.

1. Go to *Radiation* panel
2. Check *Enable Radiation*

![ec 46 radiation](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-46-radiation.png)

## 48. Start Simulation with Radiation

The case is set up. We will increase the number of iterations and run the simulation.

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

Estimated computation time: 20 minutes

![ec 47 run 2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-47-run_2.png)

## 49. Residuals (II)

1. Monitor convergence process under *Residuals* tab

![ec 48 residuals 2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-48-residuals_2.png)

## 50. ParaView - Start Postprocessing (with Radiation)

Start ParaView software to display results.

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

![ec 49 postprocessing](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-49-postprocessing.png)

## 51. ParaView - Load Results (with Radiation)

1. Select *electronics_cooling.foam*
2. Click **Apply** to load results
3. Click *Last Frame* to select the latest result set
4. After loading results, they will be shown in the 3D graphic window

![ec 50 pv load results](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-50-pv-load-results.png)

## 52. ParaView - Display Temperature Contour (with Radiation) (I)

You will now plot the temperature contour on the circuit board again. You will use the same scale, so the differences in results are more evident.

1. Select the following mesh regions
   */fluid/patch/board*
   */fluid/patch/cpu*
   */fluid/patch/fan*
   */fluid/patch/fan_inlet*
   */fluid/patch/outlet*
   */solid/patch/board*
   */solid/patch/cpu*
   */solid/internalMesh*
   (you can check *Mesh Regions* to select all regions and uncheck others: */fluid/group/viewFactorWall*, */fluid/patch/boundaries* and */fluid/internalMesh* )
2. Click **Apply**
3. Select contour coloring variable to *T*
4. Select *Rescale to Custom Data Range*
5. Set minimum and maximum value
   *Min* `300` *Max* `360`
6. Click **Rescale**

![ec 51 pv temperature](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-51-pv-temperature.png)

## 53. ParaView - Display Temperature Contour (with Radiation) (II)

Results are displayed in the graphics window. Note that in this case, the maximum temperature in the domain is 340 K, which is 15 K lower than in the previous simulation.

![ec 52 pv temperature2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-52-pv-temperature2.png)

## 54. ParaView - Radiative Heat Flux (I)

Radiation plays an important role in this scenario. Therefore, our last task will be to display radiative heat flux mapped on the geometry.

1. Set contour coloring variable to *qr(partial)*
2. Uncheck mesh regions *solid/rPi2_CPU* and *solid/internalMesh*
3. Click **Apply**

![ec 53 pv radiation](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-53-pv-radiation.png)

## 55. ParaView - Radiative Heat Flux (II)

Results are displayed in the graphics window.

> 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 made to keep case setup time and computational time low. In particular, to refine the model, one could in the first place consider setting more suitable emissivity coefficients for the materials used.

![ec 54 pv radiation2](https://help.sim-flow.com/tutorials/images/electronics-cooling/ec-54-pv-radiation2.png)

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