Fluent浮点数溢出的原因及解决方法.docx

上传人:p** 文档编号:753492 上传时间:2024-02-26 格式:DOCX 页数:4 大小:18.81KB
下载 相关 举报
Fluent浮点数溢出的原因及解决方法.docx_第1页
第1页 / 共4页
Fluent浮点数溢出的原因及解决方法.docx_第2页
第2页 / 共4页
Fluent浮点数溢出的原因及解决方法.docx_第3页
第3页 / 共4页
Fluent浮点数溢出的原因及解决方法.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《Fluent浮点数溢出的原因及解决方法.docx》由会员分享,可在线阅读,更多相关《Fluent浮点数溢出的原因及解决方法.docx(4页珍藏版)》请在第壹文秘上搜索。

1、floatingpointexception的问题原因及处理方法在fluent计算中,经常会遇到floatingpointexception的报错,让人很头疼。查找了一下,相关网上的原因,总结了这篇文章。内容不全部为原创。1.1 浮点数floatingpoint既然说了是浮点数溢出,那么先来看下什么是浮点数。我们都知道,fluent用的C语言写的。好的,我们来回顾下在C语言里,数据类型有哪些。表IC语言中的数据类型类型操作数类型存储长度char整数/字节8short整数/字16int整数/双字32longint整数/双字32Longlongint-2x32Char*整数/双字32Float单精

2、度浮点数32Double双精度浮点数32Longdouble扩展精度浮点数80/961.2 浮点数的表示方式在计算机中,采用科学计数法来存储浮点数,不同于平时见到以10为基数,计算机中以2为基数,表示浮点数。例如,要表示123456789,科学计数法表示为1.23456789*108或者,12.3456789*107o在计算机中,用科学计数法,并且要用规格化的形式,即小数点前只有一位非0数。这个是为了方便运算,统一的格式适合重复运算。1.3 浮点数的表示范围可以看到浮点数是有表示范围的,而且不仅有最大值,正数里有最小值,负数里有最小值,还有最大值。32位浮点数的规格化数表示为:018931S阶

3、码E尾数M第0位,表示正负第1-8位,表示阶码E第9-31位,表示尾数M浮点数表示的范围,负数-(l-2-24)2八127至J-2八-129正数2八-129到(1-2八-24)1.4 为什么会出现浮点数的溢出?浮点数溢出的问题,最主要的问题就是除以O,有的人会说了,那我的这里面都有值,都给了速度,但是,如果给的值过小的话,就会导致浮点数溢出。另外,如果网格质量差,在一些质量差的地方,会出现极小值,导致出现溢出的情况。1.5 浮点数溢出的解决方法常见的问题可能有边界条件设置有误,初始条件不合理,网格质量差,时间步长太大,松弛因子设置问题。使用upwindconvectionschemes引入了数

4、值扩散,可以确保在特定的情况下收敛。避免使用高阶项,因为更容易引起不收敛的问题。检查边界条件湍流动能是否为零,温度边界是否有未定义,可压缩流体中的压力是否为零。初始化初始化出现问题,瞬态计算的初始值设定是否合理。如果不合理,或者报错,可以修改或者细化。合适的步长步长太大导致计算不收敛,在开始的时候如果步长过大,流体的流速较小,会出现报错。使用亚松弛因子默认的计算方式,使用新计算的值代替旧值,但是如果都用旧值,可能出现在局部收敛的情况。亚松弛因子的原理,在新值产生之后,不全用新值代替旧值,而是给新值和旧值个一直权重,组合来进行。求解器尽可能使用耦合式求解器处理器在串联或者并联计算的时候,使用单个求解器可能会出现浮点数溢出。网格质量检查所有网格的质量,确保歪斜度skewness在0.8以下。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 论文 > 期刊/会议论文

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!