24 April, 2017
Some of you may have encountered challenges associated with convergence when solving cases involving natural convection and those involving high conductivity. In some cases, the solid or component temperatures reached steady-state values, but the temperature residuals never quite made it down to '1'. This occurred due to how the solver stores numbers during solving. We have now introduced the "double-precision thermal solver" which greatly improves convergence in such cases. The details of why this improves convergence are quite complex, so bear with me…
The temperature residual is the sum of the absolute error for all cells, normalised by scale. In previous versions of the 6SigmaET, solution matrix fields and temperature are stored and calculated in single-precision floating-point format during solving; this occupies 32 bits in computer memory, giving 6-9 significant decimal digit precision. When the change in temperature is very small for each cell this change is lost due to truncation, therefore there is no change in the absolute error and no change in the residual.
In Release 11, temperature and solution matrix fields are now stored and calculated in double-precision floating point-point format by default during solving; this occupies 64 bits in computer memory, allowing 15-17 significant decimal digit precision. This reduces the error due to truncation and allows small changes in temperature to be captured in the residual calculation. The term ‘double-precision’ can be misleading to those who haven’t encountered it before; the use of double-precision doesn’t give results that are twice as precise, it simply reduces truncation during solving.
Double-precision is turned on by default, so now you shouldn’t need to worry about convergence when solving cases where you have heat-pipes, PCB’s with explicit copper layers or equipment that relies solely on natural convection.
By: Matt Evans, Product Engineer