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


The conjugate heat transfer method allows users to simulate temperature variations through 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 electronics cooling sink used for removing the heat from a printed circuit board (PCB).

Temperature field throughout the electronics cooling device. The heat emitted by the processors is transferred onto the heat sink and into the air flowing through the device.

The tutorial project is a sample electronic cooling case (Raspberry Pi) containing a prepared geometry which consists of 3 solid regions and 1 fluid region. The solid regions represent 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. Heat is transmitted all throughout the domain and across all interfaces between the regions. The geometry does not contain the casing of the device. In order to learn how to prepare your model for simulation, take a look at the CAD preparation section.

Create Simulation

As a first step, import the tutorial project into the SimScale workbench.

Import tutorial project into workbench

By importing the tutorial project, a new project will be created for you, and the ‘Workbench’ will open with the prepared tutorial geometry already loaded into the viewer.

CAD geometry loaded into the viewer. This will serve as the base template for this tutorial.
  • To create a new simulation, click on the “+” button next to ‘Simulations’ in the tree or the “Create Simulation” button on the geometry panel.
  • Select the “Conjugate heat transfer” analysis type and click “Create“.
Creating a new simulation with conjugate heat transfer analysis.
  • A new simulation tree containing all parameters and settings needed to define the conditions of the analysis will be created.
  • All setup steps that are completed are highlighted with a green check. Steps that require some user input are shown with a red circle. Steps that have a blue circle indicate optional settings.
  • For this tutorial, we will use the “Laminar” turbulence model to run a “Steady-state” analysis.
Selecting the turbulence model and time dependency type for the analysis

Simulation Setup


The next setup item in the simulation tree is Contacts. Contacts are used to define the interface behavior between regions which are in contact with each other. All existing contacts in your geometry will be automatically detected and exposed as one bulk interface group in the tree. By default, each interface will be defined as a coupled thermal interface, which models a perfect heat transfer across the interface.

Optional Setup Starts Here

For this simulation, in case you’d also like to model the influence of thermal paste applied between the big processor chip and the heat sink mounted on top of it, the following additional setup would be required.

  • In order to customize the interface between processor and heat sink, first select both the components in the viewer or from the scene tree.
  • Open the viewer context menu via right-click on the model and select “Filter contacts by selection“.
select and filter interfaces on SimScale
Click on both the Large chip and the Heat sink in the scene tree to select both. After that, right-click on the model and select “Filter contacts by selection” to filter all interfaces that exist between chip and heat sink.
  • Now all interfaces between processor and heat sink will be bulk selected. A selection-specific settings panel opens, and the individual interfaces are exposed in the setup tree.
  • In order to model the effects of thermal conduction paste being applied between the two parts, select “Contact interface material” as Interface thermal type.
  • Set Thermal conductivity to 8 W/(mK) and define the Layer thickness as 0.001 m.

Optional Setup Ends Here


The Model settings allow you to define the gravitational forces acting upon the device. Gravity needs to be enabled to account for buoyancy effects.

  • Click on “Model” in the tree and set the y-component of the gravity vector to -9.81 m/s².
Set the gravity direction in the Model panel.


Now it’s time to define the part materials.

  • Click on ‘+‘ on the Fluid sub-tree item under Materials to create a new fluid material.
  • The Material Library opens. Select “Air” and then click “Apply“.
Adding materials.
  • Assign this material to the fluid volume called “Air domain”.
assigning a part to a material
Click on the air domain either in the viewer or the scene tree in order to assign it to the newly created air material.
  • Similarly, create a new Copper and Aluminium material. Assign both chip parts to the copper material and assign the heat sink to the Aluminium material. For the purpose of this tutorial, we won’t customize any of the material properties.
assining the remaining solids to materials
Define materials also for both the chips and the heat sink.

Initial Conditions

Initial conditions can be used to initialize certain result fields with expected steady-state conditions. If guessed correctly, this will help with faster convergence of the solution. In our case, we’d like to define initial temperature values for some components.

  • Expand the Initial conditions simulation tree item. Then expand the (T) Temperature item to reveal Subdomains. By default, the temperature field across the entire domain will be initialized with 293 K.
  • Click on ‘+‘ to add a new subdomain. Rename it to “Processors” and change the temperature value to 40 °C. Then assign both chips to this subdomain.
Create a subdomain and assign a specific temperature value to it with which the simulation will be initialized.
  • Create one more subdomain and specify specific temperatures for the heat sink. Initialize the heat sink temperature as 20 °C.

Boundary Conditions

Boundary conditions define the external influences acting on our simulation domain. We need to model the ventilation inlets and the heat flux exerted by the processor as boundary conditions.

  • To create a new boundary condition, click on “+” on the Boundary conditions tree node in the simulation tree and select “Pressure inlet“.
Creating a new boundary condition.
  • Specify a “Pressure inlet” type boundary condition with a “Total pressure” of 101325 Pa and a temperature value of 19.85 C. Assign the three inlet faces to this inlet boundary condition.
  • Now create a second boundary condition. This time select the “Pressure outlet” type with a “Mean value” of 101325 Pa and assign the outlet faces on top of the casing to it.

Optional Setup Starts Here

In case you’d like to also model convective heat transfer from the domain walls (casing) to the ambient air, one more boundary condition can optionally be set up for that purpose.

  • Create a Wall boundary condition and select “External wall heat flux” as (T) Temperature type.
  • Set the Ambient temperature condition to 293 K.
  • For Wall thermal select “Layer wall thermal“.
  • Set the Thermal conductivity to 235 W/(mK) and the Layer thickness to 0.002 m.
  • Now assign the External wall faces to this boundary condition. You’ll find a topological entity set already present in the scene tree on the right, which can be used as a quick link for the selection.
wall boundary condition settings panel
Use an external wall heat flux boundary condition to model the convection of heat through the casing walls into the ambient air.

How to select all external faces

In case you are interested how to create that selection yourself, simply follow this guide:

  • Select the bulk interface group by clicking on the "43 standard interfaces" node in the tree. This has to be done in the beginning of the setup, before any other custom contact settings have been defined.
  • Right-click in the viewer and choose "Isolate all assignments" from the menu.
  • Open the menu again and choose "Select all".
  • Open the menu again and choose "Show all".
  • Open the menu again and choose "Invert selection". Now all non-interface faces are selected.
  • The only thing left to do now is to unselect the velocity inlet and pressure outlet faces from the selection. All other faces will contribute to the external wall heat flux. Note: A simpler approximation would be to simply select the larger box faces only instead.

Optional Setup Ends Here

Advanced concepts

As the name already says, under advanced concepts additional advanced features can be found. In our case we’d like to model the heat flux excerted by the two processors as Power sources with a fixed power output.

  • To create a new power source, expand the Advanced concepts tree item, click on ‘+‘ next to Power sources, and then select “Absolute power source“.
  • Set the heat flux to 1 Watt (W) and assign the Large chip to the power source.
  • Now create another Absolute power source and assign the Small chip to it. The power output for this chip can be assumed as 0.2 Watts (W).


Based on the type of problem, we can modify some of the numerics for better stability and convergence of the simulation. As this is an advanced user feature and requires some knowledge of the underlying solver technology used, we’ll leave the numerics settings with their default values.

Simulation Control

In the Simulation control settings panel, parameters such as start and end times, time step size, auto time-stepping, and the number of processors that shall be used for computing can be defined.

  • Define the end time to 2000 seconds, choose a 16 core computing instance and set the maximum runtime to 50000 seconds. The maximum runtime simply acts as a safeguard in case there is a problem with the simulation setup to prevent waste of core hours. The number of processors doesn’t have any influence on the result, but depending on the mesh size more memory might be required. 16 cores is a good starting point for this type of simulation and mesh.

Mesh Setup

  • Our electronics cooling geometry has already automatically been assigned to the simulation. That’s why we can directly move on to the “Mesh” setup step.
  • Click on “Mesh“. In the settings panel that opens, you’ll see that a “Mesh 1” has already been created. Let’s adjust its settings and optimize it for our simulation case.

  • The meshing algorithm can be kept as “Standart“.
  • Set the fineness level to “5“. All remaining settings can be left at their default values.
  • Deselect the option “Automatic boundary layers


We have to define two refinements: A surface refinement at the in- and outlets and boundary layers:

  • Surface refinement at the in- and outlets

Create a new refinement and choose “Local element size”, set the maximum edge length to 5.00e-4 and select all in- and outlet faces.


  • Inflate boundary layers at the walls:

Create another refinement called “inflate boundary layer”. Then make only the Air domain visible and select all faces except the in- and outlets. Keep the remaining default settings.


Start Simulation

Now the simulation setup is complete and you’re ready to start your simulation. To begin the simulation, a simulation Run needs to be created. A simulation Run creates a snapshot of the current setup and tries to compute the results based on the snapshot settings.

  • To create a new Run, click “+” next to Simulation Runs. Name your simulation and click on “Start“.
Create a new simulation run to begin your simulation.


Computation of the results can take up to a few hours. You’ll be informed via email once your simulation run is finished. Once finished, you’re ready to analyze the results.

  • When the simulation is finished, click on “Solution fields” down in the simulation run tree (or click “Post-process results” in the run panel) to post-process the simulation results. The integrated online post-processor will open.

  • Select “Results” and click on the icon next to the result quantity you want to visualize, such as “All Velocity[node]“.

Congratulations! This concludes this conjugate heat transfer analysis tutorial.

Data Privacy