山东建筑材料网络社区

假稳定现象、时间步长和舍入误差

只看楼主 收藏 回复
  • - -
楼主
  
点上方“模拟在线”查看更多“牛B”资讯!


近来在做一个瞬态传热分析的case的时候总遇到一种“假稳定”现象,困惑了我好久。现在问题解决了,把经验总结一下分享出来。

我所谓的“假稳定”现象是指计算过程中流场中的某些物理量稳定在了某个不可能的值或者不可能的范围内,比如传热计算时温度稳定在了远远低于目标值的范围内,或者计算压力场时,压力的分布稳定在了一个不合理的范围内。如果你遇到过这种情况,我的经历可以提供参考。

我的这个case是计算一个壁厚为5.8mm、初始温度为40℃的金属制件内部流过过温度在60~120℃之间高频波动的气体时的传热情况,时间步长设置为5e-5s/step。计算前预计金属制件的平均温度将在数分钟内升温到85℃,但实际计算到7s左右时,平均温度上升到42℃左右,之后无论计算多久都不再上升了,而是在原地反复波动。这种现象在时间步长为2e-5s/step和1e-5s/step时也会出现。

后来检查了计算输出的温度数据才明白这跟舍入误差有关。我采用的是单精度求解器,数据只能精确到小数点后7位。当时间步长为5e-5s/step时,相邻两步的温度增量只有约3e-5℃,这样每一步的舍入误差对温度增量的影响非常大,导致这种“假稳定”的出现。

解决方法非常简单:

1.采用双精度求解器

2.不影响计算精度的情况下增大时间步长。

双管齐下后计算出的平均温度终于以约0.6℃/s的速度逐渐升高。

这是一个舍入误差对数值计算的影响的非常典型的例子。小的时间步长并不一定使计算精度提高,也有可能使每一步的误差增大。

投稿邮箱:simuline@163.com

请注明“原创”或“转载”或“翻译”


·END·
 

模拟在线

资讯 · 共享 · 互助

模拟仿真的服务型媒体

微信号:sim_ol




举报 | 1楼 回复