Robin Bornoff's blog

Views and insights into the concepts behind electronics cooling with a specific focus on the application of FloTHERM to the thermal simulation of electronic systems. Investigations into the application of FloVENT to HVAC simulation. Plus the odd foray into CFD, non-linear dynamic systems and cider making.

22 September, 2015

The simulation of MCAD geometry is a day to day requirement for the majority of thermal design engineers, especially those at systems integrating companies. Despite repeated advances over the last 2 decades in the robustness of neutral format readers and writers, feature recognition functions and healing algorithms, importing and preparing MCAD data for analysis is still not a one-touch user experience. FloTHERM’s ‘FloMCAD Bridge‘ module allows for the import and preparation of MCAD geometry with as little effort as possible. With over 15 years of development, it has evolved a number of methods to import and prepare industrial strength MCAD assemblies, Voxelize being one of the more robust.

DiscretisationFinite volume simulation technology requires the discretisation of a 3D space into a number of control volumes (e.g. mesh cells). The governing equations are then integrated over those control volumes and solved. This discretisation plays a critical part in the simulation. Sometimes a fine scale disretisation is needed, other times you can get away with quite a coarse pixelated resolution. Take the resolution of these two images as an example. A cluttered tump of apples needs more resolution than a simple smiley. Some level of user control is needed to determine the required resolution.

FloMCAD’s Voxelize function does this by allowing a structured mesh to be user defined, onto which the geometry is discretized. This ‘geometry pre-meshing’ approach is unique in the CFD world, leading to high quality solution meshes that capitalise on FloTHERM’s CFD solver technology.

VoxelizeFlow(Actually this voxelization approach was inspired by the operation of Microstripes, the EMC/I product that was acquired by Flomerics in 2000 as part of the KCC acquisition, now part of CST MWS subsequent to Flomerics’ divesting of its EM line of business in 2007)

Based on user feedback, and the mass adoption of this feature, we’ve made various extensions to Voxelise in V11. It is now possible to visualise the voxelization mesh, prior to performing a voxelization. This enables the user to ensure that the resolution of the geometry will be at the required level a priori.

ConductionPathPreservationIn addition, the mesh used for voxelization will be consistent across all Parts/Bodies to ensure that no spurious gaps occur at abutting face to face contacts. When voxelizing slender geometry it is important to ensure that the conduction path is maintained, warnings are now issued if this is not the case.

In V11 there is now no limit on the size of the mesh that can be used for Voxelization. Last but not least we’ve re-engineered the algorithm to make it on average x20 faster!

22nd September 2015, Ross-on-Wye

, , ,

21 September, 2015

Well of course cows can’t fly, not udder their own volition anyway. As with any body placed in an air steam, they will however experience lift and drag. Lift is the force experienced perpendicular to the air flow direction, drag is the force experienced parallel to it. Fundamental and well studied phenomena when it comes to aircraft, less so with farm animals. Until now that is! In this second part of this blog series Sergio and I look at lift and drag at various oncoming air speeds and pose the question “At what air speed will the lift force outweigh the cow?”

AeroShape3DFloEFD can trace its roots back to the Moscow Institute of Physics and Technology where it was developed in the 1980s, first released as the aerodynamics CFD code AeroShape-3D. The USSR did not have access to the same compute power that was becoming widely available in the West and so the CFD technology that was developed at that time had to satisfy not only the primary requirement of accuracy, but also only requiring limited computational effort. Such a foundation serves FloEFD well today, being able to produce accurate results using few mesh cells, providing results on industrial design timescales.

CowLiftDragUsing values of air speed for breeze, wind, gale, storm and hurricane (according to the Beaufort Scale) we used FloEFD to compute the overall lift and drag force experienced by the cow with the wind approaching from the front and from the back (remember that we’re seeing if there’s any aerodynamic reason why cows always face away from the oncoming air). Easy enough to do in FloEFD, just requesting the net force in the relevant direction over a set of CAD surfaces, in this case all surfaces that make up the cow, results summarised in the two graphs.

As far as drag is concerned, it makes little difference which direction the cow is facing. Lift is another matter though. When facing front the cow experiences much more lift compared to when it is facing the other way!

Is this the reason why they face the other way? Has Darwin ensured that those cows that did have a tendency to face the wind didn’t last long enough to bear more cows? Will we witness a future where plane wings are shaped as cows?


We’ll reveal the real reason later…

Suffice to say that at some air speed the lift force will be enough to counter the cow’s weight. A simple extrapolation of the lift force vs. wind speed diagram indicates that this will occur at ~1000 km/h. At that point the cow won’t be able to stop being lifted off the ground. (OK, OK, let’s gloss over the fact that the drag force will have already pushed the cow backwards, likely onto its face. Let’s also be aware of the fact that no such ground level air speed has ever been recorded, not without a lot of heat and destruction going on as well). Turn that around and we’d also see that when a cow ran at 1000 km/h, it would take off.  (OK, OK, let’s gloss over the fact that no cow I’ve seen can run that fast. Let’s also be aware of the fact that as soon as it took off it would stop being able to run and would crash back down).

So, technically cows can fly, they just don’t know it. At such speeds things also tend to get a bit supersonic. If for no other reason that to explore the formation of shocks over a cow’s face, we’ll get onto Part 3 next.


Cow Velocity Streamlines

Please note: no cows were injured in the making of this blog.

If you can’t wait for the next part in this blog series then check out our white paper debunking the 10 Myths of Computational Fluid Dynamics!

Sergio Antioquia. Graduated as an Aerospace Engineer in Universidad Politécnica de Madrid in 2012, followed by an MSc in Cranfield University in 2013. That same year he joined Mentor Graphics as Customer Support Engineer for the CFD family. In his free time he enjoys cycling, cinema and origami.

Sergio Antioquia. Graduated as an Aerospace Engineer in Universidad Politécnica de Madrid in 2012, followed by an MSc in Cranfield University in 2013. That same year he joined Mentor Graphics as Customer Support Engineer for the CFD family. In his free time he enjoys cycling, cinema and origami.

21st September, Hampton Court (Sergio), Ross-on-Wye (Robin)

, ,

17 September, 2015

It has been observed that cows tend to stand with their rumps facing the oncoming wind. There has been much debate (if you know where to look), stretching back almost weeks, as to why this might be. We’ll come back to this pressing question at the end of this blog series. In the mean time I’ll present some simulation studies performed by a colleague, Sergio Antioquia (bio at the end of this blog), that investigate the aerodynamic nature of cows, using FloEFD, our MCAD embedded highly automated CFD (Computational Fluid Dynamics) software product.

CGI_COWCows haven’t evolved to fly. Quite the opposite. Actually the only people known to have witnessed flying cows have been Helen Hunt and Bill Paxton. So what kind of wind forces must cows withstand as they munch away? What chance is there of them flying off Cow_purchasewhen the wind picks up? Sticking something in an oncoming air flow and simulating the resulting air flow and noting the cow’s integrated surface pressure distribution is a very straight forward with FloEFD.

The original CAD image of the cow that we used is shown here. Hardly distinguishable from real life, it’s no surprise that the web site I downloaded it from had this disclaimer!

Over the coming parts of this blog we’ll be using FloEFD’s unique octree splitting, polyhedral meshing system and its integral boundary layer approach to study lift and drag coefficients, the effect of the Beaufort Scale and how windy it will have to get for the cow to lift off!

For now, a sneak peek at FloEFD’s adaptive mesh refinement technology, mesh just where you need it, automatically:


and cow surface pressure distribution and 2D streamlines shown using arrows on a downstream plane:


More in Part 2 but if you want to learn about FloEFD’s meshing approach in the mean time, check out this 5 minute quick tips video.

Sergio Antioquia

Sergio Antioquia. Graduated as an Aerospace Engineer in Universidad Politécnica de Madrid in 2012, followed by an MSc in Cranfield University in 2013. That same year he joined Mentor Graphics as Customer Support Engineer for the CFD family. In his free time he enjoys cycling, cinema and origami.

17th September, Hampton Court (Sergio), Ross-on-Wye (Robin)

, ,

17 September, 2015

FloTHERM V11 is now released and contains a wealth of interesting and useful features. In this blog series I’ll select my favourite top 7 and explain each one in some detail. To start with, Joule heating, also know as resistive or Ohmic heating. Joule heating is the power lost to heat as electrical current flows down a conductor. I^2R, VI, we were all first introduced to this way back in school. From an electronics thermal simulation perspective it requires a full 3D DC electrical flow simulation and from that the power dissipation distribution that feeds into the thermal simulation in the usual way.

Previous versions of FloTHERM had a rudimentary Joule heating capability where a current was prescribed, together with a block by block current flow direction. From that the power dissipation as determined. In V11 electrical boundary conditions are imposed on the periphery of a 3D solid representation of the conductor, the subsequent 3D electro-thermal simulation process solves for current and voltage potential and uses the Joule heating power as a cell by cell source term in the solution of temperature.

Typical applications will include busbars, PCB/BGA substrate power and ground planes, leadframes, even fuses. Anywhere where the resistive heating may play a dominant role in the total power dissipation in the system (rather the power density).

FuseHere’s a simple well recognised example of a fuse, mounted on a simple PCB (fuse housing hidden for clarity). A current value is defined at the trace face leading up to the fuse, a fixed voltage value defined on the edge of the ground plane on the underside of the PCB. A via connects the trace to the ground return.

Heat flow, air flow, current flow, they all are flowing continuums that FloTHERM has the ability to animate. Useful for appreciating the flow direction, flow obstructions etc. The animation shows how the electrical current flows through the circuit.DC_Current_Flow

Fuse_Joule_HeatingThe speed of the arrows (electron-arrows?) is derived from the current density which in turn is closely related to the resulting power dissipation and temperature. Note the high current density in the winding fuse section, achieved by design. FloTHERM can also plot the resulting Joule heating power dissipation. Being a 3D simulation the power density is shown in power per volume, in this case /mm^3.

Fuse_TemperatureThe resulting temperature though is the item of most interest. Here I’ve just plotted the hotter temperatures which exist in the central section of the fuse.

Fusing involves a coupling between the electrical and thermal worlds. An increase in temperature will result in a decrease in electrical resistivity which will increase the current density, which will increase the Joule heating power which will increase the temperature and so on. If the heat is removed fast enough a balance is achieved and things settle down to a constant temperature rise. If the coupling is too strong, specifically under high current conditions, temperature will run away until the fuse gets so hot it melts. FloTHERM can handle this coupling through its temperature dependent electrical resistivity material property (Also the temperature dependent thermal conductivity though this is a secondary contributor to the runaway condition).

GND_geomHere’s another example showing the effects of Joule heating in a PCB power delivery net, imported from Xpedition xPCB. FloTHERM has a unique technology for the representation of such complex 3D EDA defined geometries, which can be included in a Joule heating simulation as well. Resulting plots of voltage potential (all about the same, the PDN is working as expected, providing that voltage potential all over), magnitude of current density, the resulting Joule heating power dissipation and finally the resulting temperature.


In this case a very small temperature rise above ambient. For ‘typical’ digital electronics it’s the power dissipation in the die of active devices that dominate the thermal behaviour of the system, not the Joule heating in the PDNs.

Eager to find out more about the new FloTHERM V11 features and don’t want to wait for me to finish this bog series? Well, you can check out Byron Blackmore’s FloTHERM V11 webinar right now!

17th September 2015, Ross-on-Wye.

, , , ,

7 September, 2015

Blogs are a great outlet if you are passionate about a subject. I’ve been running this blog on for over 6 years now and I hope you’ve enjoyed reading them as much as I have writing them! Long may it continue. Here are a couple of other electronics thermal blogs that may also be of interest:

Chris Hill’s at NXP, ‘The accidental thermal engineer’: Chris takes a look at various thermal issues associated with power semiconductor thermal design.

Eduardo H. Pacheco at Flux Thermal Design: Eduardo not only shows the application of thermal simulation, but also physical teardowns as well.



7 August, 2015

I haven’t got very big hands, quite the opposite in fact, so it’s not as if I spend an inordinate amount of time standing there with my just washed hands under a convective hand dryer in a public/office toilet (who has these things at home anyway?). Whenever I do though I’m always wondering whether I’m doing it right.  Should I rotate my hands, leave them in one position, if so, which position? Why didn’t they teach these things at school? I’ve got better things to do than just stand here wishing there were some paper towels to dry my hands with instead. What’s the fastest way to dry your hands under such a dryer? Just the sort of question that can be answered with FloEFD, MCAD embedded CFD (computational fluid dynamics) at its best.

HandArrowsAirTempPlanePlotAlways a good idea to deconstruct a question to ensure it is answered correctly. What does ‘dry’ mean? In terms of hand drying I found out that it is  common to consider a hand dry when it has lost 90% of the initial water that was clinging to the skin. FloEFD has a neat ‘water film’ feature where the amount of water on a surface can be simulated, including the transient effects of evaporation and condensation. A transient simulation requires an initial condition of the thickness of the water film when drying commences. I chose 25 microns (though I did find references of anything up to 100 micron water film thickness after hands are submerged and retracted from a water bath).

I modelled just a single hand at 10 different orientations and tracked the reduction in water film mass over time when the hand was placed under a hot convective flow. The relative reduction of these orientations, together with a comparison of the drying rate when the hand rotated, is shown in the graph below (click to enlarge):


When the hand is vertically orientated it reaches the 90% dry condition fastest (Design Point 10). Both sides of the wet hand are well dried by the hot air stream that passes over both sides at once. The slowest drying is when the hand is near horizontal (Design Point 7). Here the back of the hand is very well shielded from the hot air and, although the water mass initially decreases quickly (as the palm of the hand gets all the drying) the back of the hand takes much longer.

Further insight into the drying process can be seen when animating the reduction in water film thickness over time, red represents a thick water film, blue represents dry skin:

The fingers dry first due to their large surface area in proportion to their volume, the palm finishing last.

I had assumed that a rotating hand would dry quickest, this was not the case. Although more hand surface area is apparent to the hot air flow in a given time period, it doesn’t stay still long enough for the water film to heat up to aid drying. Sure, in the end it’s the fastest for complete drying, but by that time you could be back at the bar enjoying your next beer.

So, next time you’re drying your hands keep them vertical, be patient and use the time to consider whether it’s more environmentally friendly to use an electric convective hand dryer or paper towels (if available).

If you want to try out FloEFD now, sign up for a cloud based trial:

7th August 2015, Ross-on-Wye

, , , , , ,

1 July, 2015

Holiday themed simulation blogs are very de rigueur of late so I thought I’d jump on the bandwagon in time for the July 4th independence day celebrations in the US. A series of events led up to the Declaration of Independence from Great Britain in 1776, one of the more notable being the Boston Tea Party that occurred on December 13th 1773. The tea ships the Dartmouth, the Eleanor and the Beaver, moored in Boston harbour, were boarded by a group of some 130 men who proceeded to dump all of their 342 chests of tea into the water. I’ve been to a few wild parties in my time but this party might have trumped them all.

TeaPotTea is a quintessentially British drink. It is rather symbolic, and maybe of no surprise, that the act of dumping such a British cargo was a key part of the American Revolution. The reason was not primarily associated with the high tax being levied, more that the tax should not have been levied without representation of the American colonies in the British parliament. The British parliament was not amused, toughened its stance and imposed other punitive laws. The American colonies were even less amused and the rest, as they say, is history.

CoolDownAfternoon tea was a social event for the (British) upper classes in the C17th and C18th, held at 4pm and involving a pot of tea with some cake. The brewing of the tea in a tea pot is essential. Not long enough and the brew is weak, too long and the brew will be too cool and over stewed. So, with a tenuous skip and a jump to tie in some CFD simulation I thought I’d study how a pot of tea cools down, using our FloEFD general purpose CFD tool.

FloEFD works within an MCAD environment, easily allowing 3D CAD geometry to be studied for its thermal and air flow behaviour. A transient analysis, where the water in the pot starts at 100degC, shows how the temperature (liquid, air and solid pot) reduces over time as the energy stored in the water convects, conducts and radiates out to the ambient.

PotMeshAll CFD codes require a mesh of tessellated volumes to be created, covering all the model. The meshing in FloEFD takes a so called ‘boundary last’ approach, where a volume mesh is created first then, using an octree subdivision method, the mesh is refined to capture solid/solid and solid/fluid interfaces. Very little user interaction is required to prep this automated meshing feature. The quality of the mesh elements (Cartesian in nature, but split into multiple control volumes at solid interfaces for accurate surface representation) results in highly assured convergence when the governing equations are integrated over them and iteratively solved.

Post processing allows the complex liquid and air flow patterns to be studied and appreciated.


One thing FloEFD excels at is the ability to represent complex geometric features, be it cluttered assemblies or small gaps, due to the meshing approach and a unique treatment for the resolution of the convective boundary layers. A small gap between the lid and the tea pot is automatically resolved, the thermal insulation of the lid seen in the resulting temperature distribution, here after a few minutes of the cool down:

HotPotA recently added post precessing feature is the ability to plot streamlines using a line integral convolution approach (very Van Gogh, a little bit Munch), click to enlarge:

PotStreamLinesAs a Brit I have mixed feelings about July 4th. Sure, the British empire is long dead and even the Commonwealth seems less relevant today than it did even a decade or so ago. We all live in a global village now so in some ways are closer together than ever, in other ways as disparate as we’ve ever been throughout history. Either way, happy July 4th American cousins!

1st July 2015, Hampton Court, Great Britain

, , , , ,

30 April, 2015

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

, , , ,

31 March, 2015

AngledSteppedThe shape of the small piece of geometry that is added so as to successively ‘relieve’ the design determines the overall ‘jaggedness’ of the final geometry. A square section rod can only lead to a stair stepped representation of angled portions of the shape, at worse resulting in a 41% increase (2/root2) in surface area in those regions. Increase in surface area, thus heat transfer, might be offset by the increase in surface friction thus reduction in through flow. But why risk relying on a cancelling of effects? It’s obvious that those jaggedy edges really want to be smooth. So why not (manually) smooth them?

The geometry was exported out of FloTHERM as STEP, via FloMCAD Bridge, and imported into FloTHERM XT. Think of FloTHERM XT as FloTHERM’s younger sister, an MCAD centric implementation with more arbitrary geometry support. I used the Chamfer command in FloTHERM XT  to smooth out those stair steps then went on to simulate the reduction in thermal resistance.

Stepped_ChamferedEven though we’re looking at 2D front projections, don’t forget this is full 3D:


The reduction in Rth was only 1.8% for the cancelling out of effects reasons mentioned above (though sure, in a fixed dP environment, not a fixed mass flow, the chamfered Rth reduction would have been greater).

I’m not sure that any other geometric section shape of the additive geometry would have removed this jaggedness effect. A hexagonal shape would be slightly better at resolving 45degree angled sections but not so good at axis aligned portions. As any player of Lego or user of FloTHERM knows, squares are good. Squares tessellate, are simple to handle and as has been shown here, together are capable of representing the most organic of geometries.

The Constructal Law, whose hand is very much at play in the above heatsink, is best described by its father, Professor Adrian Bejan. The concept goes beyond shapes and technology, into the very essence of the design by evolution and the preservation of living systems, including us humans:

“With science, we predict and construct our future”

1st April 2015, Ross-on-Wye

, , , ,

25 March, 2015

LightningAdrian Bejan’s Constructal Law states: “For a finite-size system to persist in time (to live), it must evolve in such a way that it provides easier access to the imposed currents that flow through it.” This can be seen at play in both animate and inanimate systems, from trees to lighting, from river systems to lungs. Such persistent systems tend to carry something between a volume and point. Lightning-electricity, trees-water, lungs-air, rivers-water. A heatsink is no exception. Taking heat from a point to a volume, or inversely taking cold from a volume to quench a point of heat. ‘Evolving in such a way that it provides easier access…’ is at the heart of the additive design process.

The iterative procedure to grow the heatsink geometry:

  1. Start with a minimal section of heatsink base, a thin sliver.
  2. Simulate to see how hot it gets
  3. Where its surface is hottest ‘grow’ the geometry there by a very small amount
  4. GoTo 2
  5. Repeat until a design space has been filled

is actually slightly more refined. If the addition of a small piece of geometry leads to an increase in heatsink base temperature (or not a substantial enough decrease), then that piece of geometry is removed and that location marked so as not to add there subsequently. The next hottest location is then considered, and so on.

The end of the first year of growth occurred when no geometry could be added anywhere without extending beyond the design space, or causing an increase in base temperature. For the second year of growth, all those location that were marked as being detrimental were cleared and the iterative process repeated afresh.


A large surface area was achieved in the spindly growth of the first year. The second year saw a large ‘trunk’ develop that facilitated the flow of heat to the outer extremities. ‘Evolving in such a way that it provides easier access…’

The third year of growth further enhanced this flow of heat by thickening out ‘branches’ between the ‘trunk’ and the outer ‘leaves'(?)


It’s worth noting that the resulting complexity is a function of just a very basic set of growth criteria instructions. In much the same way that a seed is an instruction set for the consumption and conversion of local matter and energy into the resulting tree.

“Mighty oaks from little acorns grow”

No further reduction in growth could be achieved in subsequent years of trying. The additive process ended. That isn’t the end of the story though. The stepped nature of the geometry, due to the choice of the additive geometry shape, had opportunity to be further refined. More on chamfering in the next blog in this series.

25th March 2015, Ross-on-Wye.

, , , ,