假稳定现象、时间步长、单双精度误差带来的问题
2016-10-06 by:CAE仿真在线 来源:互联网
有时候如果时间步长太小,导致每个step变化的值很小,如果采用单精度计算则会导致精度不够,从而引发数学上的误差积累。
所以我们看到ansys官方的推荐做法是,在进行粗略的快速分析的时候使用单精度,而在最终用于生产的情况则使用双精度进行计算。
下面是某个网友的值得借鉴的经验:
近来在做一个瞬态传热分析的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的速度逐渐升高。
这是一个舍入误差对数值计算的影响的非常典型的例子。小的时间步长并不一定使计算精度提高,也有可能使每一步的误差增大。
关于精度请看如下资料:
网上查了一下单精度和双精度的区别:
单精度:具有7位精确小数位。
双精度:具有15位精确小数位。
另外,双精度需要占用两倍的内存空间,需要更长的时间完成计算。
看了一遍FLUENT帮助文件中对如何选择单精度和双精度求解器的说明,翻译过来放在博客里,免得转眼就忘了。
**************************************************************************************************
对大多数算例来说,单精度求解器已经足够精确。但是对以下几种情况,双精度求解器更适合:
1.流域具有显著的长度尺度(例如一根细长的管道),用单精度表示点坐标可能不够精确。
2.流域是几个区域,彼此之间用小尺寸的管道连接起来(例如汽车发动机歧气管),其中的一个区域的气压大大高于整个流域的平均水平,这种情况有必要用双精度方案来求解压差。
3.对于涉及到高的热传导率的共轭问题(共轭问题,我的理解是两个区域的相邻边界传热或者边界和区域内流体相互传热)、或网格单元的长宽高尺寸比率很大的网格(扁的或狭长的网格),单精度求解器不能有效地传递边界信息,会导致计算不收敛和不精确。
4.对于采用了population balance模式求解particle size分布可能包含数个数量级跨度的statistical moments的的多相流问题,适合用双精度求解器。(没用过population balance模式,完全不知道这一条什么意思)
**************************************************************************************************
另外,我个人的经验,当计算瞬态问题的时间步长很小时,用双精度求解器可以获得更好的收敛性。
附:FLUENT帮助文件原文:
Single-Precision and Double-Precision Solvers
Both single-precision and double-precision versions of ANSYS FLUENT are available on all computer platforms. For most cases, the single-precision solver will be sufficiently accurate, but certain types of problems may benefit from the use of a double-precision version. Several examples are listed below:
If your geometry has features of very disparate length scales (e.g., a very long, thin pipe), single-precision calculations may not be adequate to represent the node coordinates.
If your geometry involves multiple enclosures connected via small-diameter pipes (e.g., automotive manifolds), mean pressure levels in all but one of the zones can be quite large (since you can set only one global reference pressure location). Double-precision calculations may therefore be necessary to resolve the pressure differences that drive the flow, since these will typically be much smaller than the pressure levels.
For conjugate problems involving high thermal-conductivity ratios and/or high-aspect-ratio meshes, convergence and/or accuracy may be impaired with the single-precision solver, due to inefficient transfer of boundary information.
For multiphase problems where the population balance model is used to resolve particle size distributions, which could have statistical moments whose values span many orders of magnitude.
开放分享:优质有限元技术文章,助你自学成才
相关标签搜索:假稳定现象、时间步长、单双精度误差带来的问题 Fluent培训 Fluent流体培训 Fluent软件培训 fluent技术教程 fluent在线视频教程 fluent资料下载 fluent分析理论 fluent化学反应 fluent软件下载 UDF编程代做 Fluent、CFX流体分析 HFSS电磁分析
编辑