Tutorial: Cooling of An Electronic Sink Using Conjugate Heat Transfer Analysis

raspberry pi case cht simulation
Temperature distribution results over the electronic device.


The conjugate heat transfer method shows processes that have temperature variations because of thermal interactions between solids and fluids.

This tutorial provides a step-by-step guide on how to set up a conjugate heat transfer (CHT) simulation for an electronic cooling sink used for removing the heat from a PCB.

The tutorial project is a sample electronic cooling case (Raspberry Pi) which consists of 3 solid regions and 1 fluid region. The solid regions are two processor chips which emit heat and a heat sink on top of one of the processor chips. The air flows over the solid regions to cool the device. Thereby heat is transmitted all throughout the domain and across all interfaces between the regions.

Import the tutorial project into workbench


Import tutorial project

  • The ‘Workbench’ will open and the geometry will be loaded into the viewer.
CAD geometry loaded into the viewer.

Create a CHT simulation

  • To create a new simulation, click on the “+” button next to ‘Simulations’ in the tree.
  • Select the “Conjugate Heat Transfer” analysis type and click “Ok”.
Creating a new simulation with conjugate heat transfer analysis.
  • A new tree will be automatically generated on the left panel with all the parameters and settings needed to define the conditions of the analysis.
  • All parts that are completed are highlighted with a green check. Parts that need to be specified have a red circle. While, the blue circle indicates an optional settings.
  • We use the “Laminar” turbulent model and “Steady-state” analysis.
Selecting turbulence model and time dependency type for the analysis.

Creating the mesh

  • Select the mesh algorithm. In this case, we choose the automatic “Hex-dominant” type.
  • Set the fineness level to “Moderate”.
  • Click the Generate button to start the mesh generation process.
Setting the mesh parameters.
  • The resulting mesh appears as shown below.
Hex-dominant mesh obtained for the electronic device.

Setting up the Model

Adding materials to the domain

  • Gravity needs to be enabled to account for buoyancy effects. Select “Model” node from the sub-tree and change the values as shown in the figure.
Setting the gravity model
  • Next, add the materials from the “Material Library” for the fluid and solid phases. First, we start with clicking on sub-tree “Materials”. Select ‘Fluid’ from the tree and click on “+” from the options panel as shown.
  • This pops-up a “Material Library” from which we select “Air” and click “Ok”. This will then automatically load the standard properties for air.
Adding materials
  • Assign this material to the fluid volume called “Component1” and click on the thick tick button to save.
Assigning air to the fluid volume
  • Similarly select the “Solid” node from the sub-tree and click “+”. Import the material properties by clicking “Import from material library”, select “Aluminium” and assign this material to the volume “Component2”, which is the heat sink. Click the save button.
Assigning aluminium to the heat sink
  • Add another solid material to represent the FB-4 chips by selecting “Solid” from the sub-tree and then clicking “+”. Import the material property of “Copper”, but change the properties as shown in the following figure to satisfy the material requirement. Assign this to volumes “Component3” and “Component4”.
Assign copper to both chips

Initial Conditions

  • The next tree item “Initial conditions” allows to define the initial velocity, pressure and temperature globally and for each region. For pressure and velocity we keep the default values. Then click on “(T) Temperature” and click the save button, keeping the default temperature value of 293 K. This means that every region will be initially at 293 K.
Initial conditions
  • Now click on “+” beside “Subdomains” to set different initial values to each component. Rename the subdomain, enter the settings as shown in the figure below (363 K for the FB-4 chips) and assign it to the volumes “Component3” and “Component4”, then click on save.
Assigning initial temperature to the chips
  • Similarly do the same for the heat sink “Component2” and the fluid volume “Component 1”.
Assigning initial temperature to the heat sink
Assigning initial temperature to the fluid volume

Boundary Conditions

  • To create a new boundary condition, click on “+” beside “Boundary conditions” and select the desired option from the drop down menu.
Creating a new boundary condition
  • Select “Velocity Inlet” boundary condition, assign the inlet faces and specify the flow conditions for velocity and temperature as shown in the figure below. Then click on save.
Inlet boundary condition
  • Select “Pressure outlet” boundary condition, assign the outlet faces and keep the reference pressure value for atmospheric conditions. Then click on save.
Pressure outlet boundary condition
  • Add a “Wall” boundary condition with “No-slip” velocity for the bottom face of the chips and assign a fixed temperature as shown below.
Wall boundary conditions for the bottom faces of the chips
  • There is no need for the rest of the walls to be assigned a boundary condition as the solver will automatically set the unassigned walls as zero-gradient with a thermal coupling between unassigned interfaces.


Please make sure no interface is assigned to a boundary condition.


  • Based on the type of problem, we can modify some of the numerics for better stability and convergence of the simulation. For this problem the default numerics are kept except for “Solid enthalpy” absolute tolerance, which is changed to 1e-8 as shown in figure below.

Simulation Control

  • Next, in “Simulation control” main control settings such as start and end times, time step size, auto time-stepping and number of processors for this simulation run can be defined. Follow the figure below and click save. The number of processors may be set to 16 or 8 depending on the availability. This will not affect the results but the simulation time, which would be lower if a higher number of processors are selected.
Simulation Control settings

Start a simulation run

  • The last thing to do for running this simulation is to create a run. The new run is created by clicking on the “+” symbol next to “Simulation Runs”. Give a name to your simulation and click on “Start”.
New simulation run


  • Once the simulation is finished, click on “Solution fields” down in the tree to post-process the results on the platform. If desired, the results can also be downloaded and post-processed locally (e.g. with ParaView). Some post processing images from the SimScale platform post processor are shown below.
  • Select “Results” and click on the icon next to the variable you want to visualize in the shown parts, such as “All Velocity[node]”.
Velocity distribution
  • We can also visualize the temperature distribution following the same process. Use the cutting plane filter as shown below to visualize the temperature distribution inside the heat sink.
  • For a better analysis, the maximum and minimum values can be adjusted manually. This way, temperature variation in the domain is better appreciated.
Temperature distribution