Thought Leadership

FloTHERM and its new XML neutral file format

By Robin Bornoff

We have recently published a new xml schema and associated xml reader for FloTHERM that offers some exciting new possibilities. Unlicensed and freely available it’s well worth checking out. Introducing my first guest blogger, my colleague Byron Blackmore explains more…


Byron is also a product manager for the electronics cooling line of business in the mechanical analysis division based in Canada. I’ve worked with him for the last 10 years and look forward to the next 10!


I’ve been working with application specific simulation tools for a long time now and I’ve gained a strong appreciation for how much productivity one can gain by having access to application specific ‘widgets’ within the software.  The FloTHERM users reading this know these widgets as SmartParts.  For FloTHERM these SmartParts come in many different flavours (heat sinks, PCBs, fans, etc) and support the majority of electronics cooling objects you’ll need to use.

However, due to the wide range of electronics cooling applications that could be modeled with FloTHERM, it is entirely possible that you will need to build a part that falls outside the intended scope of the available SmartParts.  The FloTHERM community has traditionally handled this by sketching the part manually in FloTHERM with simpler objects (with many small solid blocks to create a customized heat sink for example) or by importing a solid model from an MCAD tool.  Fine for a one-off calculation, but not so efficient when having to follow this path a dozen times for a dozen variants of the object in question.  A common request then is to provide some capability to automate the geometry creation for those non-SmartPart objects that arise periodically, but not with enough frequency to justify adding a new SmartPart to FloTHERM.

To address this, the ability to read XML files has been added to FloTHERM via the recently announced Productivity Toolkit (  For the uninitiated, XML stands for eXtensible Markup Language, and the format is described by a variety of tags (very similar to HTML) and expected inputs.  The collection of tags and inputs is formally known as an XML schema.  When you’re whipping up an XML schema the tags can be whatever you’d like, meaning there’s literally thousands of different, but valid, XML formats out there.  For FloTHERM, we’ve defined tags to match the inputs the user would see when working directly in the software.  A simple example of an aluminum block is shown below to give you an idea of what it looks like.

xml-example-and-result2A user can now create these XML files, and as long as they adhere to the published FloTHERM XML schema, they can be imported either into the model directly or into the library for future use.  The simplicity of the FloTHERM XML schema, as well as the prevalence of XML authoring tools today, means it’s an enjoyable coding experience (basic scripting experience required however) to get from idea to functioning script/macro/widget.  My personal favorite way to work is to use Microsoft Excel macro scripting as you can use spreadsheet data to form the macro inputs…keeps things neat.  Here’s an example [] of a spreadsheet that will output a FloTHERM friendly XML file of a folded fin heat sink.  My stopwatch tells me I get my heat sinks ready ~100x faster this way (compared to manual creation in FloTHERM).  The hour required to write the macro was time well spent in my book!


What’s really exciting is the range of applications that are now possible; building up customized heat sinks, cold plates, detailed venting, data center layouts, rack or card cage auto-population, fan trays, and more.  I’m looking forward to hearing about how our community leverages this new capability in their work!

Leave a Reply

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