首页/文章/ 详情

九十、浮点溢出Floating point exception怎么办??

1月前浏览1209

1. 浮点溢出floating point exception

1.1 浮点溢出介绍

浮点溢出是最常见的不收敛情况,此时文本控制栏会出现下面的文本:Error: floating point exception。


 


最后Fluent会直接停止计算,不要有任何的侥幸心理,你这次的计算是彻底的发散了,发散到Fluent都觉得没有计算下去的必要了。




5.2 为什么会出现浮点溢出?

实际上Floating point exception是一个计算机术语,指的是在执行浮点数运算时发生的错误。浮点异常通常包括以下几种情况:



a. 除以零:尝试除以零的操作会引发浮点异常。在数学上,除以零是未定义的,因此计算机在执行这样的操作时会报错。

 



b. 溢出:当计算的结果超出了浮点数能够表示的最大或最小值时,会发生溢出。double数可以表示的数字的绝对值范围大约是:-1.79E+308 ~ +1.79E+308

 



例如,一个非常大的数乘以它自身多次可能会导致溢出。


 



c. 下溢:当计算的结果非常接近于零,以至于无法在当前精度下表示时,会发生下溢。在这种情况下,结果可能会被设置为零。



d. 无效运算:某些运算在数学上是未定义的,比如负数的平方根,或者格式不正确的数(如NaN,即“非数字”)参与运算。

 


5.3 浮点溢出的解决办法

可以肯定的是出现浮点溢出一定是发散了,而且只能重新计算,不能在原来基础上继续计算。实际上,在原来的基础上你点计算也算不了。



实际上Fluent计算过程出现浮点溢出的原因并不好找,只能按照发散的方式来一点点检查设置。对于发散,可以参考下面一些常见的排查步骤和解决方法:


1. 检查初始条件和边界条件

确保所有初始条件和边界条件设置合理。例如,速度、压力、温度等数值在物理上应该是合理的。如果这些条件设置得过大或过小,可能会导致计算过程中的不稳定性。

 


尝试使用更接近实际情况的初始条件,或者用简单的初始条件开始计算,如零初始场或较为平滑的条件。



2. 改进网格质量

检查网格的质量,尤其是网格的体积、扭曲度、最小单元大小等参数。网格质量差(如高度扭曲的网格)可能会导致计算中产生数值不稳定。

 


3. 调整计算设置

如果进行瞬态计算,尝试减少时间步长,使得计算更稳定。在瞬态计算中增加每个时间步的迭代次数,以确保每个时间步都能充分收敛。

 


对于稳态计算,降低松弛因子来减缓计算的发散。


 


4. 验证物性参数

检查并确保物性参数(如密度、粘度、导热系数等)设置合理且符合物理意义。特别是在多相流或高温高压环境中,物性参数的变化可能导致计算不稳定。


 


5. 更改求解器设置

如果使用双精度求解器收敛性比较差,可以切换为单精度求解器。同样地,如果使用单精度求解器收敛性比较差,可以切换为双精度求解器。一般来说,双精度求解器通常可以提高计算精度,减少数值误差。

 


也可以尝试改变压力-速度耦合算法(如SIMPLE, PISO, Coupled等)来测试不同算法的稳定性。


 



6. 逐步简化问题

通过简化模型,如去除物理模型、简化几何结构、减少求解的物理量来尝试是否可以增强收敛


 




比如,仅求解流动场,忽略热或质量传递,看看是否还会出现问题。也就是我们经常说的只计算部分方程来增强收敛性。


 




7. 检查UDF

如果我们使用了UDF,出现了浮点溢出的问题,可以尝试去掉UDF,看看是否还会出现浮点溢出。如果浮点溢出消失了,那就说明是UDF的问题,需要检查UDF的代码。

 



要注意,上面的解决办法是出现发散的一般排除步骤,并不只针对浮点溢出问题。



2. 增强线性求解器的鲁棒性

文本控制栏还可能出现下面的文本


Stabilizing temperature to enhance linear solver robustness.


Stabilizing pressure using GMRES to enhance linear solver robustness.


这种文本通常还可能和浮点溢出floating point exception同时出现。

 



当只出现这种本文时,一般都是收敛性不够好的时候或者计算初期。可以先不必理会,先继续计算下去,观察这种情况是否就会消失。



 



如果一直存在这个问题,还说明收敛性不够好,但还没有达到彻底发散的地步。此时需要更改一些计算设置来增强收敛性。最常见的一些方式,如:减少时间步长、降低松弛因子等


 



来源:Fluent学习笔记
Fluent多相流UDF控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-10-14
最近编辑:1月前
Fluent学习笔记
博士 签名征集中
获赞 124粉丝 328文章 134课程 3
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈