Back to all tutorials

Electronics Cooling - CFD Simulation SimFlow Tutorial

1. Introduction

This tutorial will demonstrate a simulation of electronic 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) on 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

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 electronics_cooling

  1. Go to New panel
  2. Provide name electronics_cooling
  3. Click Create Case
ec 01 launcher

4. Import Geometry

Firstly we need to Download GeometriesBoardCpuPins

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

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

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

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.050.0160.0115
    Dimensions \({\sf [m]}\)0.0160.0164e-03
ec 04 fan geometry

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

9. Create Geometry - Outlet Tool

The last primitive geometry to create is a box that will be used as a tool to extract outlet patch from 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.08450.04150
    Dimensions \({\sf [m]}\)6.5e-039e-038e-03
ec 06 outlet tool geometry

10. Meshing Parameters - Fan

Since we are going to perform 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

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

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

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]}\)000
    Max \({\sf [m]}\)0.0850.0560.0155
  3. Define the number of divisions
    Division15105
ec 10 base mesh 1

14. Base Mesh Boundaries

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

15. Solid Mesh - Material Point

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

  1. Go to Point tab
  2. Specify location inside the CPU box
    Material Point0.0580.0245e-04
ec 12 material point

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 meshing process
ec 13 meshing cpu

17. Solid Mesh

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

ec 14 mesh

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

19. Solid Mesh - Type

  1. Expand region type options
  2. Select Solid
ec 16 region solid type

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 Point0.0580.0245e-03
ec 17 material point 2

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 meshing process
ec 18 meshing cpu 2

22. Fluid Mesh

The mesh will be displayed in the graphics window

ec 19 mesh

23. Fluid Mesh - Extract Outlet (I)

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

  1. Go to MESH panel
  2. Click Options button next to boundaries patch
  3. Select Extract From option
ec 20 extract boundary

24. Fluid Mesh - Extract Outlet (II)

  1. Pick outlet_tool from the list
  2. Click Extract

The new patch will appear on the list of boundaries

ec 21 extract boundary 2

25. Fluid Mesh - Outlet

Now we have to rename the newly created boundary

  1. Change boundary name from boundaries_in_outlet_tool to outlet
ec 22 outlet boundary

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

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

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

29. Select Solver

We will use CHT Multi Region SIMPLE (chtMultiRegionSimpleFoam) solver. This is a steady state solver that allows modeling of conjugate heat transfer and radiation.

  1. Go to SETUP panel
  2. Pick CHT Multi Region SIMPLE (chtMultiRegionSimpleFoam) from the list of available solvers
  3. Select solver
ec 26 solver

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

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

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

33. Thermophysical Properties of Fluid (II)

  1. Set the Equation of State to Incompressible Perfect Gas
ec 30 thermo fluid 2

34. Turbulence

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

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

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

36. Solution - SIMPLE

To achieve better convergence we will adjust SIMPLE algorithm settings.

  1. Go to the SIMPLE tab
  2. Increase number of Non-Orthogonal Correctors to 2
ec 33 solution simple

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

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

39. Cell Zones

Now set heat source term in the CPU volume. In this tutorial, we assume that only the CPU produces the heat of 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

40. Boundary Conditions - Inlet (Flow)

Now, we will define the inlets and outlet boundary conditions. On the inlet, we will set 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

41. Boundary Conditions - Fluid Region (Thermal)

We will now enable radiation coupling on the fluid side of the interface

  1. Click on cpu in fluid
  2. Switch to Thermal tab
  3. Select Coupled Temperature and Radiation type
ec 38 bc cpu f

42. Boundary Conditions - Solid Region (Thermal)

Next, enable radiation coupling on the solid side of the interface

  1. Select cpu in solid
  2. Select Coupled Temperature and Radiation type
ec 39 bc cpu s

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

44. Residuals

  1. Monitor convergence process under Residuals tab
ec 42 residuals

45. Start Postprocessing - ParaView

Start ParaView software to display results

  1. Go to Postprocessing panel
  2. Start ParaView
ec 43 postprocessing

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

47. 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 followings mesh regions
    fluid/board
    fluid/cpu
    fluid/fan
    fluid/fan_inlet
    fluid/outlet
    solid/board
    solid/cpu
    solid/internalMesh
    (you can check Mesh Regions to select all regions and uncheck others: fluid/boundaries and fluid/internalMesh )
  2. Click Apply
  3. Select contour coloring variable to T
  4. Click Rescale to Data Range
ec 45 pv temperature

48. ParaView - Display Temperature Contour (II)

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

ec 45 pv temperature 2

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

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

51. Residuals (II)

  1. Monitor convergence process under Residuals tab
ec 48 residuals 2

52. ParaView - Start Postprocessing (with Radiation)

Start ParaView software to display results

  1. Go to Postprocessing panel
  2. Start ParaView
ec 49 postprocessing

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

54. 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 followings mesh regions
    fluid/board
    fluid/cpu
    fluid/fan
    fluid/fan_inlet
    fluid/outlet
    solid/board
    solid/cpu
    solid/internalMesh
    (you can check Mesh Regions to select all regions and uncheck others: fluid/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

55. 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 343 K, which is 17 K lower than in the previous simulation.

ec 52 pv temperature2

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

57. ParaView - Radiative Heat Flux (II)

Results are displayed in the graphics window.

Note that this tutorial is meant only to demonstrate 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 first place consider setting more suitable emissivity coefficients for materials used.
ec 54 pv radiation2

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