Flotherm软件求解收敛常见问题及处理方法 - 图文

更新时间:2024-04-04 01:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 引言

随着电子设备向高集成度方向发展,系统的热功率密度越来越大,因此热设计技术在电子设备中显得越来越重要。目前公司主要采用Flotherm商业热分析软件进行系统级、板级的热分析。热分析过程主要分为建造模型、为模型添加物性、网格划分、求解与后处理几个过程。在热分析的过程当中,准确的建造模型、添加物性固然重要,它将直接影响到结果的准确性,然而网格划分对于初学者来说也很重要,劣质的网格可能会导致求解发散,甚至会导致得到错误的结果。所有的错误都会体现在残差曲线中,本文主要讲述各种有问题的残差曲线,并详细讲述处理的方法。

2. Flotherm软件默认求解收敛设置

Flotherm软件实际上是采用Patankar与Spalding1972年提出的在计算流体力学及计算传热学中得到了广泛应用的SIMPLE算法来迭代求解一组由Navier-Stokes方程导出的耦合偏微分非线性方程,这种迭代自然伴随着收敛的相关判定与设置问题。Flotherm终止标准是基于系统的质量、动量和能量三个方面来设定的:

? 质量平衡(压力场残差)

– 终止标准= 0.005 M (kg/s)

– 强迫对流: M = Total Inlet or Outlet Flow Rate – 自然对流: M = ?.EFCV.A

?: Air density EFCV: Estimated Free Convection Velocity A: Area perpendicular to the vertical

? 动量平衡 (速度场残差)

– 终止标准= 0.005 MV (N)

– 强迫对流: V = Fan or Fixed Flow maximum velocity – 自然对流: V = EFCV

? 能量平衡(温度场残差)

– 终止标准 = 0.005 Q (W)

– 如果在系统中有热源或热沉:

Q = Total Heat Sources or Sinks

– 如果系统中无热源或热沉:

Q = M Cp ?Ttyp ?Ttyp = 20 °C

3. 常见残差曲线分类

在利用Flotherm进行求解中,我们直观的判断求解是否收敛的依据则是依靠残差曲线,通过残差曲线我们可以了解求解是发散、振荡还是收敛,如下图所示。

— 1 —

收敛

ResidualError ResidualError>10高位震荡 Iteration Iteration 高位稳定 Residual Error > 10 发散

ResidualErrorIteration Iteration 低位震荡 低位稳定 ResidualError IterationResidualError< 10<10 < 50 Iteration

图一:残差曲线

1) 对于大多数残差曲线收敛且监控点温度稳定的情况下,我们可以认为得到了稳定正确的数值 解,当然有时也会由于温度梯度较大的位置网格数量不足或者两种不同的物体划分到同一网格得到具有较大误差的结果。

这里以仿真中遇到的某元件为例进行说明。元件是尺寸为5x4x1mm的QFN芯片,仿真采用的是component简化模型。在单板中共有3个该元件,其中,A-1和A-3功耗为0.32W,A -2的功耗为0.22W。首先在不加网格约束时,由于该元件较小,软件默认只在X方向划分了一个网格,在Y方向也只有3个网格,如图二a)所示;后面对该元件施加了至少划分5个网格的约束,并在其膨胀尺寸为10%的范围内施加最少2个网格的约束,划出的网格如图二b)所示。图二中红色线框位置表示的A元件所在的位置。

— 2 —

图二 a):不加网格约束时A元件的网格 b)施加网格约束时A元件的网格

两种不同的网格划分计算得到的结果如表一所示,其中A-1和A-3两元件温度分别相差8.86度和8.06度;A-2元件的温度则相差6.24度。由此可见元件网格划分不足时,计算所得到的结果会远大于实际元件的温度。而功耗越大时,这种温度差就会越大。由此可以得出结论,仿真过程中对于尺寸较小而有功耗的元件,应关注元件上的网格划分,一般情况下应在各个方向保持5个以上的网格,必要时需对元件添加局部网格约束。元件的热流密度越大,元件对应的网格数量应越多。

表一:不同网格划分下单板上3个A元件的温度对比 元件 未加网格约束 施加网格约束后 A-1 88.447 79.5841 A-2 81.5798 75.3412 A-3 91.6441 83.58 图三:未加网格约束时元件的温度图 图四:添加网格约束后元件的温度图

另外,在进行网格划分时,如果将两种不同的物体划分到同一网格内,比如将空气和芯片的一部分划分到同一网格内,得到的结果就可能与实际结果有一定的差异。在对散热片建模时,同样需要关注网格,为了更好的描述散热片的流体边界层、热边界层的变化,一般在散热片两齿之间至少应保持3个以上的网格。

2) 对于高低位稳定、震荡的问题,可以通过调整虚拟时间步长(False time step),False time step在Solve—Variable Control中进行设置,如下图所示。残差曲线处于10到50之间高位震荡时,需要减小False time Step即增加阻尼,减少每两步迭代的差值;当残差曲线处于10到50之间高位稳定时,应当适当增加False time Step即减小阻尼,增大每两步之间迭代的差值。

需要指出的是:调整虚拟时间步长是处理高位稳定和高位震荡问题的一个手段,但并不是所有的高位稳定和高位震荡问题都可以通过调整虚拟时间步长解决的。

— 3 —

3) 对于发散问题,首先检查在建造模型过程中是否产生了错误,比如在密闭系统中装有离心风扇或进入系统的热无法向外传递;然后查看网格设置,查看是否是由于网格不足无法捕获详细信息。对于发散问题的重新求解,一定要重新初始化。

4) 对于低位稳定与低位震荡问题,残差曲线在10以下,而监控点温度已经稳定,这时可以认为求解收敛,也可以使用自动收敛设置 [Solve/Overall Control]。在自动收敛设置中,如下图所示软件默认设置的是温度收敛曲线降到10以下,温度监控点在连续30步迭代中保持在0.5度范围内波动时,软件默认求解收敛并停止求解。

但是在设置自动收敛设置时,需要关注所有监测点的温度曲线是否趋于平稳,为了有效的使用此选项,必须确保需要监测温度收敛的位置都放置了监测点。可以通过调整精度和迭代步长,调整判定监测点收敛的位置。

如果温度是趋于收敛的,如下图所示的求解结果沿着某一中心值上下震荡并最终趋于收敛的情况,下图中给出了软件接受收敛的位置。此时软件接受收敛位置的温度与计算真实值之间的误差小于Required Accuracy中设置的温度值。

但如果迭代的温度值是以如下图所示的恒定值在变化时,那么设置这种自动收敛设置时,可能会导

— 4 —

致得到的计算结果与实际结果有一定的差异。遇到这种情况时,需要将自动收敛设置设置的尽量严格些。

下面是在计算某单板的仿真时遇到残差曲线。我们可以看到该残差曲线中很多温度监控点的温度都是逐渐上升的,而且上升的幅度很小。根据对最终计算结果的粗略统计,如果采用软件默认的自动收敛设置,那么软件会在655步停止计算,计算结果和目前得到的结果相比最大会相差3.5度。遇到这种情况时,若设置自动收敛设置时则需设置的更严格些。

4. 问题残差曲线

在实际工程应用中,经常会遇到一些有问题的残差曲线,而每种错误残差曲线都有其产生的原因,只要依照残差曲线去修改设置就可以得到符合实际的结果。下面结合实际仿真应用中所遇到的几个有问题的残差曲线举例说明实际问题的产生原因与处理方法。

1)残差曲线发散

如下图所示,残差曲线在开始求解之后迅速发散,而温度监控点的曲线也出现了异常。通常来讲,有三种原因可能会导致残差曲线发散,求解不收敛。

最常见的原因是由于系统的模型存在一定的问题,主要是由于模型不能满足平衡方程的条件。如密

— 5 —

闭的系统中安装有离心风扇导致质量方程无法平衡;或者将求解域所有边界设置为对称,因而系统热量无法散出导致能量方程无法平衡。

其次,残差曲线发散的原因还可能是系统的网格存在一定的问题,主要是网格无法捕捉系统中温度、压力、速度方面的信息。比如在CSFC单板的仿真过程中,散热片是通过对heatsink进行decompose后,软件自动划分的网格可能会将散热片的齿与空气划分在同一网格内。

此外,软件的变量控制对话框中的设置也可能会导致求解得发散。我们知道Flotherm软件是迭代求解进行计算的,在软件的变量控制对话框中,可以调节风速、温度的虚拟时间步长,实际上是调节软件计算的收敛速度。当虚拟时间步长调节的不合适时,就可能导致计算发散。典型的案例是温度监测点围绕某一中心值上下波动,并且波动幅度越来越大最终发散,此时一般可以通过将虚拟时间步长调小来解决计算的发散问题。

2)残差曲线收敛,温控曲线仍在变化

如下图所示,残差曲线已经收敛,而系统的温度监测曲线仍然存在一定的斜率,也就是说温度仍然在变化。产生这种问题的原因是Flotherm软件有其默认的求解收敛设置,本文第二部分详细的介绍了软件关于温度场、压力场、速度场残差的默认设置。对于大多数系统来讲,默认总功耗0.5%的温度场残差是合适的;但是对于上千瓦的系统仿真来说,温度场就不宜再以总功耗的0.5%作为残差的收敛标准了,应当将此时的残差标准设置的更为严格。下图所示是某系统按照软件默认的0.5%的收敛标准计算所得的残差曲线,由于系统总功耗较大,所以默认残差收敛标准不够严格,最终导致残差曲线收敛而温度监控曲线并未走平。

— 6 —

若遇到上面这种残差曲线,需要重新设置软件的残差收敛设置。在实际仿真过程中,将压力、温度和速度的收敛设置成最小值后继续进行计算,得到的残差曲线如下图所示,从图中我们可以看到调整了收敛设置后软件继续计算了约125步,部分监测点的温度也发生了较大的变化。

— 7 —

3)残差曲线剧烈震荡后趋于收敛

如下图所示,温度残差曲线在开始求解进行一段时间后发生剧烈震荡,而后又趋于收敛。即使最后的结果是收敛的,结果的可信性仍然是需要打折扣的。发生类似问题时,首先检查模型是否正确,在模型正确的前提下检查固体区域的网格,主要注意观察能量方程残差出现的位置,重点检查该位置的网格质量。本例是由网友提供的,最后经检查本例主要是由于模型在建造方面存在一定的问题,同时在网格划分方面也存在问题,最后造成局部流速达到83 m/s。

5. 总结

本文主要讨论了Flotherm的网格划分与求解收敛的问题,首先介绍了求解收敛以质量、动量和能量三个方面的判断标准,接着对Flotherm中可能出现的几种残差曲线进行了分析,最后根据实际的仿真经历介绍了几种有代表性的问题残差曲线,并详细介绍了出现该类残差曲线时的解决方法。

— 8 —

本文来源:https://www.bwwdw.com/article/8evr.html

Top