Flotherm软件求解收敛常见问题及处理方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.引言
随着电子设备向高集成度方向发展,系统的热功率密度越来越大,因此热设计技术在电子设备中显得越来越重要。目前公司主要采用Flotherm商业热分析软件进行系统级、板级的热分析。热分析过程主要分为建造模型、为模型添加物性、网格划分、求解与后处理几个过程。在热分析的过程当中,准确的建造模型、添加物性固然重要,它将直接影响到结果的准确性,然而网格划分对于初学者来说也很重要,劣质的网格可能会导致求解发散,甚至会导致得到错误的结果。所有的错误都会体现在残差曲线中,本文主要讲述各种有问题的残差曲线,并详细讲述处理的方法。
2.Flotherm软件默认求解收敛设置
Flotherm软件实际上是采用Patankar与Spalding1972年提出的在计算流体力学及计算传热学中得到了广泛应用的SIMPLE算法来迭代求解一组由Navier-Stokes方程导出的耦合偏微分非线性方程,这种迭代自然伴随着收敛的相关判定与设置问题。Flotherm终止标准是基于系统的质量、动量和能量三个方面来设定的:
•质量平衡(压力场残差)
–终止标准= 0.005M(kg/s)
–强迫对流: M = Total Inlet or Outlet Flow Rate
–自然对流: M = .
: Air density
EFCV: Estimated Free Convection Velocity
A: Area perpendicular to the vertical
•动量平衡 (速度场残差)
–终止标准= MV(N)
–强迫对流: V = Fan or Fixed Flow maximum velocity
–自然对流: V = EFCV
•能量平衡(温度场残差)
– 终止标准 = Q (W)
– 如果在系统中有热源或热沉:
Q = Total Heat Sources or Sinks
– 如果系统中无热源或热沉:
Q = M Cp Ttyp Ttyp = 20 °C
3. 常见残差曲线分类
在利用Flotherm 进行求解中,我们直观的判断求解是否收敛的依据则是依靠残差曲线,通过残差
曲线我们可以了解求解是发散、振荡还是收敛,如下图所示。
Residual Error Iteration Residual
Error
Iteration > 10 Residual Error Iteration
>10
Residual Error Iteration
收敛
发散 低位震荡 低位稳定
高位震荡 高位稳定
Residual Error Iteration < 50
Residual
Error Iteration
<10
图一:残差曲线
1)对于大多数残差曲线收敛且监控点温度稳定的情况下,我们可以认为得到了稳定正确的数值解,当然有时也会由于温度梯度较大的位置网格数量不足或者两种不同的物体划分到同一网格得到具有较大误差的结果。
这里以仿真中遇到的某元件为例进行说明。元件是尺寸为5x4x1mm的QFN芯片,仿真采用的是component简化模型。在单板中共有3个该元件,其中,A-1和A-3功耗为,A -2的功耗为。首先在不加网格约束时,由于该元件较小,软件默认只在X方向划分了一个网格,在Y方向也只有3个网格,如图二a)所示;后面对该元件施加了至少划分5个网格的约束,并在其膨胀尺寸为10%的范围内施加最少2个网格的约束,划出的网格如图二b)所示。图二中红色线框位置表示的A元件所在的位置。
图二 a):不加网格约束时A元件的网格 b)施加网格约束时A元件的网格
两种不同的网格划分计算得到的结果如表一所示,其中A-1和A-3两元件温度分别相差度和度;A-2元件的温度则相差度。由此可见元件网格划分不足时,计算所得到的结果会远大于实际元件的温度。而功耗越大时,这种温度差就会越大。由此可以得出结论,仿真过程中对于尺寸较小而有功耗的元件,应关注元件上的网格划分,一般情况下应在各个方向保持5个以上的网格,必要时需对元件添加局部网格约束。元件的热流密度越大,元件对应的网格数量应越多。
表一:不同网格划分下单板上3个A元件的温度对比
元件A-1A-2A-3
未加网格约束
施加网格约束后
图三:未加网格约束时元件的温度图
图四:添加网格约束后元件的温度图
另外,在进行网格划分时,如果将两种不同的物体划分到同一网格内,比如将空气和芯片的一部分划分到同一网格内,得到的结果就可能与实际结果有一定的差异。在对散热片建模时,同样需要关注网格,为了更好的描述散热片的流体边界层、热边界层的变化,一般在散热片两齿之间至少应保持3个以上的网格。
2)对于高低位稳定、震荡的问题,可以通过调整虚拟时间步
长(False time step),False time step在Solve—Variable
Control中进行设置,如下图所示。残差曲线处于10到50之间高
位震荡时,需要减小False time Step即增加阻尼,减少每两步
迭代的差值;当残差曲线处于10到50之间高位稳定时,应当适
当增加False time Step即减小阻尼,增大每两步之间迭代的差
值。
需要指出的是:调整虚拟时间步长是处理高位稳定和高位震
荡问题的一个手段,但并不是所有的高位稳定和高位震荡问题都
可以通过调整虚拟时间步长解决的。
3)对于发散问题,首先检查在建造模型过程中是否产生了错误,比如在密闭系统中装有离心风扇或进入系统的热无法向外传递;然后查看网格设置,查看是否是由于网格不足无法捕获详细信息。对于发散问题的重新求解,一定要重新初始化。
4)对于低位稳定与低位震荡问题,残差曲线在10以下,而监控点温度已经稳定,这时可以认为求解收敛,也可以使用自动收敛设置 [Solve/Overall Control]。在自动收敛设置中,如下图所示软件默认设置的是温度收敛曲线降到10以下,温度监控点在连续30步迭代中保持在度范围内波动时,软件默认求解收敛并停止求解。