This topic cropped up yesterday when helping a customer with a thermal simulation - a set of PCBs in an enclosure. The customer left the simulation running over the weekend but by Monday morning it still had not fully converged. He wanted to know if there were any tricks to help speed up the run time.
The obvious answer is to simplify the simulation by reducing the complexity of the geometry and using a less refined mesh - however, that might not always be a good move if the very best results are needed.
The alternative is to switch on a solver option called 'Flow Freezing'. This is simple to do and potentially can save you many hours of run time.
To illustrate and get some quantitative comparisons I created a simple test assy - a silicon chip with a copper heat sink on a PCB. The chip has 5W of power applied and gravity is enabled to achieve cooling via natural convection.
The assy is shown below ...
And here is a cut plot showing the converged temperature results and the mesh after running ...
Without 'Flow Freezing' enabled, the solver has to calculate the pressures, velocities and temperatures for each cell for each iteration. The pressure and velocity values often converge to a steady state faster than the temperatures - you can observe this if you plot global goals of pressure and velocity - as shown by the goal graphs below...
Here the static pressure converges after 25 iterations ...
... and the velocity converges after 60 iterations ...
Meanwhile the temperature takes a lot longer to converge ... over 150 iterations ...
The reason for this is that the temperatures are based on the solution of energy equations which are prone to greater fluctuations so take longer to solve.
With 'Flow Freezing' enabled for a particular iteration the solver concentrates on solving ONLY the energy calculations and assumes the pressures and velocities remain constant - i.e. they are 'frozen'. This does not mean that the fluid is not flowing, it simply that the fluid is assumed to be flowing with constant velocity values and pressures. This significantly shortens the calculation time for each iteration and enables a more rapid convergence of temperature.
Clearly this technique will only work if the pressure and velocities have already converged or are close to convergence. If the freezing were to happen at the start of the calculation (before velocity and pressure convergence) the whole solution is compromised and you can, in fact, extend the run time!
To counter this, 'Flow Freezing' has options to enable it to start part way through the solution and not immediately. The options are 'Permanent' freezing or 'Periodic'.
The 'Permanent' option starts after a user defined number of travels or iterations. It then stays on permanently until the solver finishes.
The 'Periodic' option has controls to switch 'Flow Freezing' on and off periodically. This means that if the velocities or pressure change they can be updated periodically as the solver proceeds. The user can specify when the Periodic freezing starts, how long freezing is enabled (i.e. the number of iterations) and how long it is disabled.
To enable the 'Flow Freezing' tool, users should right mouse click on 'Input Date' in the Flow tree and pick 'Calculation Control Options'. This opens a window and the 'Solving' tab should be selected. The 'Flow Freezing' can be enabled with the drop down and the Periodic or Permanent options selected as shown below ...
What does this mean for the user?
In the above example, without Flow Freezing enabled, the total solution time was 6 mins and 3 seconds.
With Permanent Flow Freezing enabled after 60 iterations, the total solution time was 3 mins and 35 seconds - a saving of 40% of run time in this example!!!
The results are very similar as shown below ...
However, you must be careful in your set up. If the freezing kicks in before the pressure and velocity have converged you can get wrong results and longer run times. This is the reason why I manually selected the Permanent freezing to start after 60 seconds - because I knew from a previous run that after 60 seconds the pressure and velocity were stable.
You might then ask, "but what if I have not run in advance and don't know when the pressure and velocity will have converged?" Good question - but there is a good answer. Whilst you can set up the Flow Freezing in advance, you can also set it up and enable it part way through a run. You simply pick the 'Calculation' option in the drop down menu at the top of the solver monitor window.
'Flow Freezing', while little known, can be a significant time saver. I would recommend it to any users who run large and complicated thermal Flow studies.
By Andy Fulcher
Solid Solutions Management Ltd