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).
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.
As a first step, import the tutorial project into the SimScale 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.
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“.
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.
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 “Hex-dominant“.
Set the fineness level to “Moderate“. All remaining settings can be left at their default values.
Click the Generate button to start the mesh generation process.
While the mesh is getting generated, let’s go ahead and define the rest of the 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“.
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 0.2 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².
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“.
Assign this material to the fluid volume called “Air domain”.
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.
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 363 K. Then assign both chips to this subdomain.
Create one more subdomain and specify specific temperatures for the heat sink. Initialize the heat sink temperature as 316 K.
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 “Velocity inlet“.
Specify an inlet flow of -0.02 m/s in the z-direction as shown in the image below. Assume that the inlet air temperature is stable at 293 K. Assign the three inlet faces to this inlet boundary condition.
Now create a second boundary condition. This time select the “Pressure outlet” type 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.
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
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 10 Watts (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 5 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.
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.
Choose a 16 core computing instance and set the maximum runtime to 10000 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.
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“.
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. If desired, the results can also be downloaded to be post-processed locally (e.g. with ParaView). Some post-processing images from the SimScale platform post-processor are shown in the image below.
Select “Results” and click on the icon next to the result quantity you want to visualize, such as “All Velocity[node]“.
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.
Congratulations! This concludes this conjugate heat transfer analysis tutorial.