Optimize your thermal design with code_saturne open-source CFD software

code_saturne is a free, open-source computational fluid dynamics (CFD) software developed primarily by EDF that can be useful to check and optimize the thermal design of your projects.

From time to time, we come across hardware platforms that do not perform to their best due to overheating leading to CPU throttling, and over time it may also impact the lifetime of the device. I’ve heard about computational fluid dynamics (CFD) before, but I always assumed the software was prohibitively expensive and Formula 1 even has a cost cap for CFD testing. But it turns out there’s an open-source program to do just that: code_saturne.

code_saturn open source CFD software heatsink
Representation of flows around the heatsink used on Jetson Nano module – Source: Lukas Henkel

As a utility company, EDF designed the software to simulate the flows around and inside the buildings, pipes, and pumps used in power plants, but Lukas Henkel found out he could also use the free and open-source code_saturne program for analyzing the air currents caused by natural convection around a heatsink. Other tools to create the visualization above include ParaView and blender 3D both of which are also open-source.

This could probably be used to select a specific heatsink, but Lukas notes that the orientation of the cooling is also critical in order to achieve the best possible performance:

The performance of a passive cooling assembly can vary by more than 50% depending on the orientation of the heatsink. This is usually true for linear extrusion heatsinks as the main cooling features are all aligned along a single axis.

heatsink computational fluid dynamics simulation
Orientation matter. Source: Lukas Henkel

If you want to give it a try you’ll find source code, documentation, tutorials, and a support forum on the project’s website. The code is portable and it has worked on on all Linux flavors and UNIX platforms tested by the company so far. It can also run in parallel with MPI on distributed memory machines (Intel, Cray X series, IBM Power, …). There’s probably a steep learning curve to achieve what Lukas did, but if it may be worth it you’re regularly involved in the thermal design of electronic products. You can watch what code_saturne open-source CFD program is capable of – from EDF’s perspective – in the video below. The YouTube channel also has a few tutorials.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
6 Comments
oldest
newest
Willy
1 year ago

Very interesting, particularly if it starts to be used by SBC vendors 😉 At least it confirms the general intuition that the heat sink’s fins must be placed vertically to allow the hot air to flow up along them and take some heat with it. I have attached some boards vertically next to a shelf for this reason 😉

tkaiser
tkaiser
1 year ago

> heat sink’s fins must be placed vertically to allow the hot air to flow up along them and take some heat with it

But this only works somehow if the distance between heatsink fins is large enough (the displayed Jetson heatsink is a good example for appropriate spacing) and the whole thing is not cramped into an enclosure too small.

Also there’s no real need to simulate airflow when you also can simply measure/graph SoC temperature in different scenarios to somewhat confirm ‘general intuition’. 🙂

Willy
1 year ago

> But this only works somehow if the distance between heatsink fins is large enough Absolutely. For example I have this on my build farm, I can insert my little finger between the fins. For another one I’m having 2-3 mm spacing between fins and that’s fine. Amusingly it’s easy to spot if ins are spaced enough. Placing your hand above the heat sink in its final position, you should feel some heat form convection, otherwise it doesn’t work. Regarding the ability to measure, I was really referring to SBC vendors who could try to improve v1 of their design… Read more »

Theguyuk
Theguyuk
1 year ago

The basic small arm SBC is just equivalent to a low power GPU laid flat, for cooling purposes. Effective solutions for cooling are out there, but old out moded beliefs just stick a high volt PC fan and heatsink, on for cooling.

Kais
Kais
1 year ago

Wondering how much power its distributed execution will draw, to be mostly dissipated as heat …

Khadas VIM4 SBC