Organically Grown 3D Printable Heatsinks – Part 4: A Fully Automated Methodology

The additive design methodology itself is quite straightforward. It is however highly repetitive. Perform a simulation, identify a maximum temperature location, extend the geometry at that point, if thermal efficiency decreases then repeat. To appreciate and to evolve the approach I began by manually performing a number of the initial steps myself. Solve in FloTHERM, sort the the ‘Max Solid-Fluid Surface Temperature’ column in the Tables post processing window, note the face of that cuboid that was hottest, copy+paste that cuboid to abut that face, solve on, etc. etc. All very RSI inducing, completely boring but absolutely essential ahead of implementing a fully automated approach to do the same.


ExcelFrontEndBack in the day most of the Visual Basic I learnt was done so by recording a macro in Excel, examining the recorded script, shoving a loop round it to do some successive operations on a range of data, that type of thing. A little learning goes a long way. Even with admittedly rudimentary coding skills I was able to write a VBA script, using Excel as a front end, that automated this additive design simulation based methodology. It wouldn’t have been possible without the ability to drive FloTHERM from an external source, create a ready to solve model, command line solve it, extract results out of command line generated .csv files, regenerate the ready to solve model, etc. We opened up FloTHERM’s data model a few years ago, Byron explains more in this blog. This enabled this level of automation to be achieved.

CodeFragmentCore to the scripting is the creation of a ready to solve FloTHERM model in XML format. We install a set of VBA subroutines that take the pain out of writing the raw XML directly. These subroutines can be called, passing arguments such as cuboid size, location, material, the subroutines do the actual writing.

Around 6500 sequential FloTHERM simulations were conducted to form the heatsink. Sounds a lot but when you consider each one starts from where the previous ended and the solve time for each is only a few minutes, total elapsed time wasn’t unmanageable. My only effort (after the code was written, refactored and debugged) was pressing the ‘Grow That Heatsink’ button in the Excel front end then, when the process has finished, using FloTHERM’s automation capability to graphically un-hide each cuboid in order to capture the following animation:



This is just one example of what can be achieved with FloTHERM automation. To discover other opportunities check out Byron’s webinar, introducing both our FloXML and FloSCRIPT technologies.

30th May 2014, Ross-on-Wye

Want to stay up to date on news from Siemens Digital Industries Software? Click here to choose content that's right for you

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at