Thermal Management Tutorial: CHT Analysis of an Electronics Box
This advanced thermal management tutorial describes the setup and analysis of electronics cooling on an electronics box containing different electronic components being cooled by the airflow of a fan.
All electronic devices generate heat during their operation. Components and materials, used in these devices, have individual maximum temperature limitations. Therefore, thermal management is extremely crucial for system reliability and preventing failure.
Simulation is a cost-efficient method to test different cooling strategies and optimize your solution. This is a great advantage to prevent time-consuming and expensive prototyping and physical testing procedure.
In this simulation, we want to simulate heat being transferred from electronic components to the air. Normally CAD models contain the solid parts (casing, PCB, chips, heat sinks, etc.). The fluid region and the interfaces between the fluid and the solids need to be defined in SimScale. The following sections describe how to prepare the model using the CAD mode interface.
If you wish to learn how to prepare your model for any type of simulation, take a look at the CAD preparation section. To get redirected to the CAD mode interface, click on the following icon:
Go to CREATE ->Flow Volume, as shown below:
For this simulation, you will create an internal flow volume, as you are interested in the air inside the box:
Now select the appropriate faces that define the flow region:
Click on ‘Seed face’, which is adjacent to the boundary face of the box;
Pick the face that is colored in blue in Figure 6;
Proceed to select the ‘Boundary faces’. This section includes all the surfaces with openings that lead to the interior;
Select the the face that represents the inlet of the fluid;
Rotate the model and select the exit of the air as a boundary face as well:
After you finish the assignment process, click on ‘Apply’ so the operation begins. When the operation is finished and the flow region is generated successfully, perform an imprint operation:
The following menu will pop up:
Finally, select the ‘Finish’ button at the top right of the interface to get redirected to the Workbench:
When the Workbench loads, a copy of the original model is listed. This is basically the model created after the CAD mode operations. You can now delete the initial CAD model:
Rename the new version as ‘Electronics Box’ as well:
2. Simulation Set-Up
2.1 Create a Simulation
Select the CAD model and press the ‘Create Simulation’ icon as presented in the following picture.
Now the SimScale simulation library, shown in the figure below, will pop up.
Within this simulation library, all analysis types available in SimScale are listed. Selecting one of them shows a description of them. For this thermal management simulation, we select the ‘Conjugate Heat Transfer (CHT)’ option and hit the Create Simulation‘ button to confirm our selection.
Did you know?
The analysis type you choose within the simulation library depends on what results you are interested in and what given parameters you have.
In this simulation we want to see the heat transfer both within the solid parts as well as from the solids to a fluid. Hence we need to select the Conjugate Heat Transfer (CHT) analysis type. This is the most common analysis type for electronics cooling.
If you are only interested in the heat transfer within solids, you can simplify the simulation process by performing a Heat Transfer analysis.
On the other hand assuming you are only interested in the heat transfer within a fluid, you would go for Convective Heat Transfer.
2.2 Global Settings
Now you have successfully created the thermal management simulation and you should see the simulation tree, named Conjugate heat transfer on the right side of the workbench, like shown in the picture below.
You can define the global settings by clicking on the simulation, in this case, named Conjugate heat transfer. There we can decide whether we want to take into account radiation, which turbulence model we want to apply, and whether we want time-dependent or averaged results. Change the turbulence model to ‘k-omega-SST’ and keep the rest as defaults.
Did you know?
The k-omega SST turbulence model switches between the k-omega and k-epsilon model automatically, therefore it takes the advantage of both models and can be used for the majority of turbulence simulation.
Have a look at
this page to learn more about the global simulation settings.
The Geometry is being selected automatically. In case you have multiple geometries uploaded, make sure to choose the right one.
The thermal interface is a commonly used feature when it comes to electronics cooling and thermal management applications. Contactsare detected automatically, thanks to our earlier performed imprint operation. It should be 646 standard interfaces at the beginning.
If you want to specify physical quantities of a contact you can change the type of the interface, therefore you need to select the interface. In this case, it is the interface between the large chip and the heat sink. To see them we need to hide the housing, the flow region, and the heat sink.
The following picture illustrates what to do:
Activate the volume selection
Select the housing
Right-Click in the workbench and select ‘Hide selection’
Repeat this process for the flow volume and the heat sink. Now you can select the interface and define a specific interface condition, like presented in the following picture:
Select the interface highlighted in red
Right-click on the workbench and choose ‘filter contacts by selection’
Doing so leads to the menu where you can define the interface’s properties:
For this analysis, we want to simulate a 0.001 m thermal paste with 8 W/(mK) thermal conductivity, between the large chip and heat sink. Therefore
Choose a face, where the material is in contact (upper surface of the large chip or bottom face of the heat sink).
Then right-click and choose ‘Filter contacts by selection‘. This will select the corresponding contact interface
Finally, change the interface thermal to ‘Thin layer resistance’ and assign corresponding thermal properties.
If there are any partial interfaces () detected, there is a CAD issue on the corresponding contact face. To find the problematic face, select the interface and then rightcklick anywhere on the workbench and select ‘Isolate all assignments’. This will visualize the problematic interface. Finally, go back to your CAD software and fix the corresponding face.
Avoid adding thin layered materials (thermal paste, insulator on winding, etc.). Including these materials in the model increases the mesh density and the computational expense. Instead, you can define them as a Contact interface as described earlier in this section.
In the next step we need to define the simulation model, in this case it means setting up gravity like in the picture below.
Define the gravity based on its global coordinate system. Here, it is 9.81 m/s2 in positive y-direction. This information gains more importance when dealing with natural convection.
To assign all the materials in the model, we need to follow the workflow presented in the following images:
To define a new fluid, click on the ‘+’ next to the Fluid item. Doing so makes the fluid library pop up:
Choose Air and hit ‘Apply’ to confirm the selection. Accordingly the material properties pop up:
Finally, assign the volume you want to assign to the new materials. For air, you need to select the flow region.
Now you can assign whatever material you would like to the solid parts. Follow the same workflow as just described, but start with the ‘+’ next to solids.
Be careful when assigning the solid materials:
When creating and assigning materials beware of what parts of the geometry are highlighted, because this will be assigned to the new material automatically.
Also note that every part in the CAD model needs to be assigned to one and only one material.
Suggestions for material assignments, typically used for electronics cooling:
You can hide the parts once you assigned a material. This way you will avoid double assignments and it is clear what is left unassigned. Figure 16 shows how to hide parts.
c. PLA and Copper
Assign PLA material to the PCBs and copper material to heat sink. PCBs have often anisotropic thermal conductivity (means heat conduction is directionally dependent). This can be defined by selecting Transport as Const aniso.
Assign tin to the remaining parts:
Now you can assign silicon to the remaining parts.
If you use a different material for your thermal management simulation than the default materials in the library, you can create a custom material.
2.7 Initial Conditions
Initial conditions are the starting points for a thermal management simulation. Those are the values assumed at the beginning of a simulation. We will not touch the global initial values for this analysis as the defaults are sufficient, but let’s define some initial temperatures for different components:
You can predefine the temperature for different parts individually by using subdomains (as an example, we can expect solids to be around 30 ℃ higher than the fluid inlet temperature, therefore assign 50 ℃).
Did you know?
You do not have to initialize anything. SimScale’s default values work for common use-cases.
Although if you estimate the individual initial conditions applying for your specific application correctly, you can stabilize the calculation and improve the convergence behavior.
2.8 Boundary Conditions
Boundary conditions define the external influences acting on the simulation domain. We can study the heat transfers with the fans, that force the air movement, on and off.
Note that there are two options presented:
Fans switched on
Fans switched off
2.8.1 Variation 1: Boundary Conditions When Fans are ON
The following picture shows an overview of the physical situation applied in this electronics cooling simulation:
We need to model the fan outlets, openings (inlets), and the heat transfer surface of the casing, using boundary conditions (BCs).
In this example, air movement is forced by fans sucking the air out of the domain. The casing surface helps to lose heat to the exterior domain (in this example, we did not create an exterior domain, but we assume the device to be in 20°C ambient environment by applying a wall boundary conditions)
a. Fan outlet – Custom BC
Follow the custom boundary condition setup presented in the picture below to set up the fan outlet:
Create a custom boundary condition by hitting the ‘+’ button next to boundary conditions
Define the values according to Figure 28:
(U) Velocity: ‘Pressure inlet-outlet velocity‘ This means that the velocity on the fan BC is dependent on the pressure difference.
(P) Modified pressure: ‘P<fan> Fan pressure‘ This option enables to upload a fan curve.
Flow direction: ‘Out‘. This is an exhaust fan, therefore flow should leave through the fan.
(T) Temperature: ‘Zero gradient’ Zero gradient means to take the surface value from the neighbor element. We want the solver to calculate the temperature on the outlet based on the heat it absorbed on its way through the electronics box, that’s why we do not specify an absolute value.
(k) Turb. kinetic energy: ‘Zero gradient‘ Same as the temperature.
(ω) Specific dissipation rate: ‘Zero gradient‘ Same as temperature.
Define the fan curve by creating a table:
Therefore create two new columns, one for Q and one for P. Now you can define your own pressure curve, by typing in the value or simply uploading a CSV file.
Did you know?
You can also use a velocity outlet and specify a fixed flow rate or velocities for the outlet.
b. Inlet – Pressure inlet BC
Define a pressure inlet boundary condition as shown in the following picture:
2.8.2 Variation B: Boundary Conditions When Fans are OFF
Without forced convection we need to defined the natural convection properties to the inlet\outlet region and the heat transfer surface of the casing, using boundary conditions (BCs).
Define a pressure inlet boundary condition as shown in the following picture:
Optional: Thermal Casing Conditions
Excluding contacts, if a surface has no assigned BC, is considered as Adiabatic wall. If you would like to neglect heat loss through the casing, skip this stage. Otherwise, you can assign a specific heat transfer coefficient. Using the same BC, you can assign an additional heat source too. Select the external faces of the casing, choose External wall heat flux option to assign convection coefficient and ambient temperature. You can also re-name the BC names.
2.9 Advanced Concepts – Defining Power Sources
Components in electronics devices receive electrical current and generate heat. Heat dissipation from any component can be defined by assigning an absolute power source [W] or a specific power source [W/m3] to the corresponding part. In this example, there is a CPU, several chips, capacitors, and a transformer.
You can assign an absolute power source as described in the picture:
Hit the ‘+’-button next to Power sources under Advanced concepts.
Select the option Absolute power source.
Define the amount of heat, in this case, we choose 60 W.
Use the box selection to assign the CPU which is located under the heat sink.
Did you know?
You can assign as many different heat sources as you like. You also have the option to assign the power sources to a geometry primitive you define during the simulation setup, in case you do not have the electronic component generating heat represented in your model.
The following pictures show the heat sources applied in this tutorial, please follow the same workflow as just described:
These advanced concepts might also be helpful for an electronics cooling application:
Rotating zones: If your CAD model contains the rotor blades, you can set up their rotational properties here
Momentum sources: This serves as a simplification for modelling the fans, in case you do not have the fan’s geometry
2.10 Numerics and Simulation Control
The default settings for numerics are usually suitable. Experienced users can use manual settings for smoother or faster convergence.
The Simulation Control settings define the general controls over the simulation. Apply the following controls:
Natural convection case:
End time: 2000 s
Write interval: 2000 time step (in a steady-state analysis, only the final state of the system is important.)
The number of processors: Automatic (This will ensure simulation to be executed by optimum processor selection.)
Maximum runtime: 30000 s (Simulation run will be forced to stop in case defined physical time is reached.)
Forced convection case:
End time: 1300 s
Write interval: 1300 time step
The number of processors: Automatic
Maximum runtime: 30000 s
2.11 Result Control
As a default setting, velocity, pressure, density, temperature, and radiation variables will be saved for every cell in the fluid domain. The changes of those between the timesteps are displayed in the convergence plot.
You can use result control to observe the development of the values at any point or surface in your domain during the calculation.
Create an area average on the fan outlet faces, so the physical data for these areas such as pressure, temperature, velocity, and more will be saved in every 20 iterations and written into a plot during the calculation. Follow the steps presented in the figure below:
Hit the ‘+’-button next to Surface data under Result control.
Select the option Area Average.
Define a write interval as 20.
Select the six outlet faces and name the area average “Area-av-outlet”.
To see the flow rate generated by the fan, add an area-integral surface data result control item, and assign the outlet faces. Follow the same workflow as in the figure above.
Did you know?
Adding result control items help to see the convergence, but they also increase the computational time. Therefore it is recommended to add only the necessary items and keep the write interval high. As an example, if you perform 2000 iterations, assigning the write interval as 50 means that every selected result control item will be saved 40 times.
We recommend adding result control items to the inlets, outlets, and components with expected critical temperature. In this example, we assigned surface average result controls to the interface surfaces between the CPU and the heat sink, as well as between the transformer and the board.
Default mesh settings usually create a good mesh. For CHT, we recommend the following settings:
Keep everything as default, except the following items:
Sizing: Auto, Fineness ‘2’
Use small feature suppression of ‘1.e-5 m‘ This makes the algorithm neglect anything that is smaller than 1e-5 m.
Define the number of gap elements to ‘2‘. That ensures at least two cells in gaps between geometry entities.
4. Start the Simulation
After all the settings are completed, proceed by clicking the ‘+‘ icon next to the Simulation Runs, so you start with the analysis. The mesh will be generated automatically before the run. Right after the mesh generation, the simulation run will start. While the results are being calculated, you can already have a look at the intermediate results in the post-processor. They are being updated in real time!
When the simulation is complete, you can check the Convergenceplot and the Solution fields from the simulation. You can access either of them in the simulationtree by clicking on them, as you can see below:
When the run is finished, or even while the results are being calculated, we can observe the convergence behavior.
a. Convergence Plot
Each timestep, the solver calculates solutions for each cell in the mesh. The residuals are the differences between those results. Hence the lower the residuals, the more stable the solutions are. We also call that “convergence”. The following picture shows the convergence plot for the tutorial’s calculation.
The residuals are presented dimensionless and you can convert them into a percentage: In the tutorial, all graphs are beneath 1e-2 and some even lower than 1e-3, which is a good sign for the convergence.
b. Result Control
We can analyze the results at special regions of interest. Let’s have a look at the outlet velocity. The following picture shows the outlet and how it is placed with respect to the coordinate system.
The mean outlet flow is in the negative y-direction. So lets have a look at the negative y-velocity at the outlet during the simulation:
Having a look at this plot, the values stay at one point and do not change significantly. This looks good as well, so let’s have a look at the results.
However, if you want to learn more about convergence, have a look at this article.
5.2 Surface Visualization
The following image shows how to access the SimScale post-processor:
Choose “Temperature” to display on your part as the Coloring option. Change the units to \(°C\), and in order to improve the quality of your visualization by making the color transition smoother, right-click on the bar at the bottom of the page, and select the ‘Use continuous scale‘ option as shown in step 2 below:
Of course, changing the units is possible too, see step 1.
If you wish to see the temperature distribution on specific parts of your model, you can hide them so that only the chosen parts are displayed. For example, to visualize the internal parts, hide the ‘Housing‘ on the geometry tree list, then scroll down and do the same with the ‘Flow region‘ :
We can compare the results with the fans ON and OFF and visualize the differences in the thermals. The temperature dissipated without the fans active is reduced and that is visible with the higher temperature achieved.
We can see that the temperature of the chips at the outlets is quite high. This makes sense because they are not exposed to the middle of the flow. Furthermore, some heat has already been transferred to the air at the beginning of the domain, so its capacity to lower the temperature has decreased.
5.3 Cutting Plane
There are more features to use in order to post-process the results of the run, and you can access them by clicking on the ‘Add filter’ option. Then the menu with all the available filters appears:
Continuing with the run without forced convection, create a new cutting plane to view the temperature distribution across the center plane, after selecting the ‘Cutting Plane‘ from the Add filter menu:
Choose the ‘X‘ axis. It will automatically generate a plane normal to this axis, coincident with the origin of the model.
Choose ‘Temperature’ as the Coloring parameter.
Toggle on the ‘Vectors’;
Set the Scaling factor to ‘0.1’ and the Grid Spacing to ‘0.015’;
Activate the ‘Project vectors onto plane option‘.
Finally, to view the streamlines, add the ‘Particle Trace’ filter. Keep in mind that you need to activate the visibility of the flow region in order to use the openings as seed faces.
Click on the circle icon next to the Pick Position;
Apply the seed point on the inlet face, as close to the middle as possible;
The # Seeds horizontally represents the number of streamline rows along the x-axis. Make sure it is big enough that it covers the whole y dimension of the domain. An input of ‘30′ should be fine for this case;
The # Seeds vertically represents the number of rows along the z-axis. Set it to ’15’ ;
Set the Spacing to ‘0.003’;
Select ‘Temperature’ as Coloring;
Apply a Size of ‘0.0001’;
Proceed by going back to the Parts Color tab and hide the housing flow region. Also, apply the following steps:
Reduce the ‘Opacity’ of the shown parts;
Change the render mode to ‘Transculent surfaces’.
For a general overview of SimScale’s online post-processing capabilities, this documentation can be used.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.