Documentation
This advanced thermal management tutorial describes the setup and analysis of the cooling of a Raspberry Pi box in an ambient environment. The scenario consists of an enclosure with several components cooled by a fan. The simulation utilizes the Immersed Boundary Method (IBM), which is resilient to complex geometrical details and does not require extensive CAD simplification.
The modern Raspberry Pi packs a significant amount of processing power into a small footprint. This density leads to rapid heat buildup. Without proper cooling, the Raspberry Pi faces two primary risks: Thermal Throttling and reduced Hardware Longevity.
Therefore, thermal management is crucial for system reliability and preventing failure.
In this context, CFD helps visualize and optimize airflow within the cramped constraints of a Raspberry Pi enclosure. Instead of relying on guesswork, CFD allows designers to eliminate “dead zones” (stagnant pockets of hot air), optimize heatsink geometry, and refine passive or active cooling strategies.
This tutorial demonstrates how to:
The tutorial follows the SimScale workflow:
Set up the simulation
Import the tutorial project into the Workbench by clicking the button below:
Clicking this link opens the following view:
To streamline the workflow, this tutorial includes Saved Selections that allow for the rapid assignment of materials to specific regions. While pre-configured geometry can be used to skip this step, creating custom sets is a useful skill. Switch to volume selection mode, expand the geometry parts list, and select the components. Once selected, click the ‘+’ icon next to Saved Selections and name the set ‘Silicon’.

Once all saved selections are ready, select the ‘RaspberryPi’ geometry and click the ‘Create Simulation’ button as shown below:

The analysis selection widget will appear:
The analysis type widget lists all available options in SimScale. For this thermal management simulation, select ‘Conjugate Heat Transfer (IBM)’ and click ‘Create Simulation’ to confirm.
Did you know?
The chosen analysis type depends on the physics involved and the required results.
Upon creating a CHT (IBM) simulation, the simulation tree on the left panel displays Conjugate heat transfer (IBM), as shown below:
Access the global simulation settings and toggle on the ‘External flow’ option. The IBM solver allows for the generation of a flow region using a geometry primitive during setup. Alternatively, an internal flow volume can be prepared and imported manually without enabling automatic external flow generation.
Radiation remains toggled off for this tutorial.
Did you know?
The k-omega SST turbulence model switches between k-omega and k-epsilon models automatically, leveraging the advantages of both for most turbulent flow simulations.
Visit
this page to learn more about global simulation settings.
The Geometry tab can be skipped as the correct geometry is already in use.
The Model tab defines gravity magnitude and direction based on the global coordinate system:

In this tutorial, gravity is set to ‘-9.81’ \(m/s^2\) in the ‘Y’ direction. Gravity definition is particularly important for natural convection scenarios.
Material assignment for the various electronic box components follows. The table below summarizes these assignments.
| Material | Saved Selections |
| PP | PP |
| Silicon | Silicon |
| Copper | Copper Pins |
| PLA | PLA Board |
Most materials use default settings, though custom materials can be defined in SimScale.
1. Fluid Materials (Air)
To define a new fluid, click the ‘+’ next to Fluids to open the library:
Select ‘Air’ and click ‘Apply’. A prompt will then indicate the need for a geometry primitive to represent the external flow region.
Click the ‘+’ icon and define the coordinates for a ‘Cartesian Box’. Once created, assign it as the ‘Air’ material.
Hiding assigned parts by clicking the eye icon in the Saved Selections list facilitates visualization of subsequent steps.
Be careful when assigning solid materials
Verify which parts are highlighted during assignment to ensure they are correctly associated with the material.
Every part in the CAD model must be assigned to exactly one material.
Select the ‘Copper’ material from the library for the pins. Click the ‘+’ button next to Solids to view the list:
Select ‘Copper’ and click ‘Apply’. Assign this to the ‘Copper pins’ using the Saved Selections or direct interface selection.
The Copper pins volume can be hidden after assignment to simplify the workflow.
Following Table 1, assign the remaining solid materials. Repeat the previous steps and select the corresponding materials from the library.
PCBs often exhibit anisotropic thermal conductivity. To reflect this, change the ‘Conductivity Type’ to Orthotropic. This enables unique thermal conductivity values for each axis. Specific heat and density values should also be updated as shown:
Custom Material
Custom materials can be created if default values do not meet project requirements:
With ‘External Flow’ enabled (Fig. 6), SimScale automatically applies ‘Natural Convection inlet/outlet’ boundary conditions to all fluid domain faces. This permits flow in and out of the domain while allowing for ambient temperature and pressure adjustments. No further environment boundary conditions are needed.
Heat dissipation from electronic components can be defined using power sources. This tutorial assigns power sources to the main CPU and smaller chips. The CPU power consumption is defined as \(6\) \(W\), representing a worst-case scenario for overclocking.
The following table details the power source assignments.
| Saved Selections | Power Source \([W]\) |
| CPU | 6 |
| Chips | 0.5 |
The individual power source configurations are shown below:
Did you know?
Multiple heat sources can be assigned. Power sources can also be assigned to geometry primitives if the physical component is not represented in the CAD model.
Follow the same workflow for the other heat source:
Note that when assigning an absolute power source to multiple volumes, the specified value is applied to each volume individually.
The model includes fan geometry to facilitate forced convection. SimScale provides two primary methods for fan modeling:
For this tutorial, a ‘Momentum Source’ with fixed velocity is used. Add a ‘Momentum Source’ and select ‘Average Velocity’. Set the velocity to ‘-5’ \(m/s\), ensuring alignment with the fan intake. Create a ‘Cylinder’ geometry primitive to define the volume for this source.
Align the cylinder with the fan center, encapsulating the blades. Use the coordinates provided in Table 3.
| Reference | Value \(m\) |
| X | 0.0142 |
| Y | -0.0080 |
| Z | -0.0036 |
These advanced concepts might also be helpful for an electronics cooling application:
Default settings for Numerics are generally suitable. Simulation Control defines global parameters; these are kept at default values.
Velocity, pressure, density, and temperature are saved for every cell by default. Result control items can track specific points or surfaces throughout the calculation. This tutorial uses two items to analyze airflow.
To evaluate CPU temperature, create an area average on the CPU top face. This tracks physical data for the surface during every iteration. Follow the steps in Figure 23:
Probe points act like thermocouples, monitoring local variable values within the domain. They are useful for evaluating internal and external regions.
Create a ‘Probe Point’ with a ‘Y’ coordinate of ‘-0.015’ \(m\) to place it near the model center. Hiding the enclosure top face facilitates verification of the location.
Result controls are recommended for tracking key parameters like flow rates, pressure drops, and critical surface temperatures.
IBM simulations utilize Cartesian meshes that immerse geometry into a global grid. Advantages of IBM include:
Set ‘Automatic Mesh Fineness’ to ‘1’ for a fast calculation. Click the Generate button to create the mesh, or you can start the run, and the mesh will be generated during the simulation.
Did you know?
Additional IBM mesh options can be explored on this page.
Click the ‘+’ icon next to Simulation Runs to begin the analysis. The mesh is generated and the solver starts automatically.
Intermediate results can be inspected in the post-processor in real-time while the calculation is ongoing.
Once complete, access the ‘Convergence plot’ and ‘Solution fields’ from the simulation tree as shown below:
In steady-state analysis, results should converge to a point where flow characteristics remain constant. This behavior can be monitored during and after the run.
a. Convergence Plot
Residuals represent the difference between calculated solutions for each mesh cell. Lower residuals indicate more stable solutions. Figure 28 shows the convergence plot for the solution variables.

In this tutorial, all graphs remain below ‘1e-2’, with some dropping below ‘1e-3’, indicating good convergence.
b. Result Control
CPU temperature is a reliable parameter for evaluating design performance. The plot below shows the face temperature results.
The temperature approaches a horizontal line, confirming a steady-state result. The average temperature of 340.03 \(K\) (40.88 \(°C\)) represents the cooling efficacy of the active fan. For comparison, the case can be simulated without the momentum source to evaluate passive cooling performance.
Visualizing temperatures and the flow field can be done via ‘Solution Fields’ or ‘Post-process results’.
Initially, inspect the entire domain temperature. Hide the cutting plane and select ‘Temperature’ for Coloring. Right-click the screen and choose ‘Show all’ solids. Hide the external fluid domain and momentum source. Change the units to \(°C\). Right-click the legend bar and select ‘Use continuous scale’ for smoother visualization.
Hide the ‘TOP’ enclosure part in the geometry tree to view internal chips. Alternatively, select the part in the viewer and right-click to hide it.
To inspect IBM mesh resolution, select the ‘Change render mode’ icon and switch to ‘Surfaces with mesh’. The IBM approach generates a “stair-stepped” grid that prioritizes primary domain features. While this mesh is coarse, surface refinements can be used for higher resolution of geometric details.
Hiding the fan region solids reveals how temperature affects the PCB.
Results identify the CPU as the peak temperature region. CHT effects are clearly captured, showing thermal conduction through solids and interaction with the surrounding fluid.
A section view of the domain provides additional insights into flow fields.
This visualization reveals the impact of the momentum source, showing how the fan actively draws air into the enclosure to drive the cooling cycle.
Add a ‘Particle Trace’ filter to view streamlines. This tutorial uses the cutting plane as the seed face to focus on internal airflow. Hide the flow region, activate the cutting plane, and select a region within the equipment as the seed face.
After hiding the flow region, cutting plane, and enclosure top, the result should resemble Figure 36.
For an overview of post-processing capabilities, consult this documentation.
Congratulations! The tutorial is complete!
Note
Reach out via the forum or contact support directly for questions or suggestions.
Last updated: February 12th, 2026
We appreciate and value your feedback.
Sign up for SimScale
and start simulating now