The July mesh features the meshing of a Raspberry Pi – also known as a raspi. We will show details of a Pointwise mesh, and Computational Fluid Dynamics (CFD) analysis of the thermally driven flow inside a simplified raspi and its protective case (See Figure 1).
I recently purchased a raspi 4, which is the latest model that was only just released for sale. The raspi is great for experimenting with hardware and software, especially as they are very cheap and simple to configure. On a side note, our friends at Pointwise have written a blog on performing CFD with OpenFOAM on a raspi 3. Installing OpenFOAM on my raspi 4 is certainly on the list of things to do, as the raspi 4 is much more powerful than the raspi 3.
Experience has shown that the raspi CPU/GPU temperature can rise pretty high sometimes, even to the point where it shuts down – especially on hot summer days in confined spaces running all 4 cores. Others have also found issues where the raspi can heat up too much, despite the default throttle temperature of 82°C. By the way – the core temperature can be checked at command line:
$ vcgencmd measure_temp
So I thought it would be interesting to perform a CFD air flow analysis to see how well a raspi can self ventilate. It was assumed the raspi has a basic case that is partially open to ventilation. The raspi needs to avoid overheating in a variety of climates, as it may be placed in a hot environment as part of any number of Internet of Things (IoT) applications e.g. hot, confined or outdoor spaces where sunlight can be impacting more than it would be in an office/home situation.
Raspi Mesh Using Pointwise
Some of the geometry features of the raspi (such as small circuits boards, ports etc) were simplified, but the bulk features (the main typical case, CPU, USB and LAN ports and two ventilation openings) have been modelled. The geometry/CAD used is very similar to the real size/layout of the raspi 3 or 4 products.
Triangles are used for the surface mesh (Figure 2). Pointwise does allow for quad dominant surface meshes, however, this would have resulted in an increase in pyramid elements at the top of the T-Rex inflation layers, which the selected solver (ANSYS CFX) tends to dislike in terms of solver robustness. Incidentally, T-Rex is a Pointwise meshing method that generates anisotropic inflation layers from the boundaries of unstructured domains (surfaces of triangles, quads).
Figure 3-7 show various cut planes through CPU/GPU core, and show a range of meshing types being used. T-Rex is used on the walls inside the raspi case, whilst the raspi circuit board is made up of extruded prisms (Figure 7).
Using the Pointwise mesh, CFD modelling of the raspi has been performed with ANSYS CFX to understand the internal natural convection driven flow. Further studies are also possible on the size of openings (top and sides) required for suitable ventilation.
The air is treated as an ideal gas, thus providing an accurate representation of buoyancy forces over the full temperature range, rather than using the Boussinesq approximation which can become inaccurate for large temperature gradients.
The simulation considered a hot day scenario where the ambient temperature is 40°C and where the raspi is under a moderate CPU/GPU load. It was assumed the only component producing heat was the CPU/GPU core, at 1W of heat generation.
Figure 8 shows a) streamlines and a slice of the air velocity vector field, coloured by air speed (m/s), and b) the contours of the surface temperature on the CPU/GPU core and the circuit/case walls.
Figure 9 shows a slice of temperature through the air domain and solid domains (CPU/GPU core and circuit board). The fibre glass based circuit board is not very conductive or dense and does not hold or transfer much energy.
Overall the maximum temperature on the CPU/GPU is only 67°C, which is not bad on a hot day. Cooler air flows in through the side gap and out through the top opening like a chimney, keeping the raspi from overheating.
Thanks for reading, the next edition will be later in August 2019. Until then, happy meshing!