好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Fluent计算中Floatingpointerror问题.doc

4页
  • 卖家[上传人]:平***
  • 文档编号:16075047
  • 上传时间:2017-11-06
  • 文档格式:DOC
  • 文档大小:33.45KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 专题讨论】Floating point error 问题Floating point error 在很多群里面已经提过很多次了并且也已经对它讨论了许多我在很多 群里面对这个问题也给出了自己解释希望】大家跟帖讨论,把这个问题搞清楚原理】 从数值计算方面看,计算机所执行的运算在计算机内是以浮点数(floating point number)来表示的那些由于用户的非法数值计算或者所用计算机的限制所引起的错误称为 floating point error1)非法运算:最简单的例子是使用 Newton Raphson 方法来求解 f(x)=0 的根时,如果执行第 N 次迭代时有,x=x(N),f’(x(N))=0,那么根据公式 x(N+1)=x(N)-f(x(N))/ f’(x(N))进行下一次迭代时就会出现被 0 除的错误2)上溢或下溢:这种错误是数据太大或太小造成的,数据太大称为上溢,太小称为下溢这样的数据在计算机中不能被处理器的算术运算单元进行计算3)舍入错误:当对数据进行舍入时,一些重的数字会被丢失并且不可再恢复例如,如果对 0.1 进行舍入取整,得到的值为 0,如果再对它又进行计算就会导致错误。

      避免方法】计算和迭代:设一个比较小的时间步长会比较好的或者改成小的欠松驰因子也会比较好经验来看,把欠松驰因子设为默认值的 1/3;降低欠松驰因子或使用耦合隐式求解;改变欠松驰因子,如果是非稳态问题可能是时间步长太大;改善 solver-control-limits 比例或许会有帮助;你需要降低 Courant 数;如果仍然有错误,不选择 compute from 初始化求解域,然后单击 init再选择你想从哪个面初始化并迭代,这样应该会起作用另外一个原因可能是courant 数太大,就样就是说两次迭代之间的时间步太大并且计算结果变化也较大(残差高)网格问题:缩放网格时就会发生这个错误在 Gambit 中,所有的尺寸都是以mm 为单位,在 fluent 按 scale 按钮把它转换成 m,然后迭代几百次时就会发生这种错误但是当不把网格缩放到 m 时,让它和在 Gambit 中一样,迭代就会成功;我认为你应当检查网格,网格数太多了,使用较少的网格问题就会解决;网格太多,计算机资源不够用,使使比较粗的网格边界条件:一个 wall 边界条件来代迭 axis 边界条件,结果 fluent 拒绝计算并告诉 floating point error。

      你的边界条件不能代表真实的物理现象;错误的边界条件定义可能会导致 floating point error例如把内边界设成interior;使用对称边界条件模拟 2D 区间时也遇到这种问题,把 symmetry 设为 axe symmetric,就发生了 floating point error;检查你设的湍流参数,减小湍流强度,先进行 50 次迭代多处理器问题,进行多处理器模拟时也遇到相似的问题问题的解决方法是在单个处理器上运行,这样就运算得很好错误迭代:以错误的条件来初始化,在开始迭代时就会发生 floating point errorError: Floating point error: invalid number原因: 数据矩阵求解过程中出现的问题方法:1、检查网格质量2、检查边界条件和初始条件43、对问题进行深入分析,对比模拟情况与真实情况之间的差距License for fluent expires 1-jan-0Error: sopenoutputfile: unable to open file for outputError Object: "c:\temp\kill-fluent696"原因: license 过期方法: 更新 license。

      absoulte pressure limitted to 5.000e+06 in 541 cells on zone 2temper limiteed to 5.000e+03 in 1008 cells on zone 2divergence detected temporarily reduceing courant number to 0.05 ang try againtime step reduced in 57 cellerror (large-than)invalid arguement{2}wrong type [not a number]error object: 1#inf' ]# `0 M9 i: G原因及方法:1. 超出受限的警告一般来说湍流粘性比比较多,这个尚不知道很好的解决办法2. 其他的变量受限,注意检查模型有没有错误,这个主要是力学模型要准确,受限制后解出来的解可能不是真实解,而大部分都是出现溢出错误,无法继续求解2. 解决方法是把 courant number 调小一点,把松弛因子调小一点Error: FLUENT received a fatal signal (SEGMENTATION VIOLATION)Error Object: ()原因: 非法关闭图片显示窗口导致的,出此错误后,再无法显示图片方法: 重新启动就可以了 (成功)Error: WARNING: Invalid axisymmetric grid: 71 nodes lie below the x-axis发生时机:将网格导入 fluent 后,检查网格时出现原因: 是对称轴和 x 轴没有完全重合,中间有较小的偏差的缘故方法: 先确定关键点,再连线,最后成面,然后划分网格。

      Error:Warning: The use of axis boundary conditions is not appropriate for a 2D/3D flow problem. Please consider changing the zone type to symmetry or wall, or the problem to axisymmetric发生时机:来我做的是一个球体,为了用二维仿真,我通过划一个半圆,然后将直径设置为 axis,在导入 fluent 后,将 space 设为 axisymmetric,检查网格时便出现了负体积将space 设为 2d 就不会有负体积存在了但是会有警告原因/方法: 设置 axisymmetric 或 axisymmetric Swirl 时,不仅需要将模型的对称轴设为X 轴,而且要旋转的面必须在 y 轴的正半轴一侧,只有这样才不会出现负体积如图所示,上图由于半圆在 y 负半轴一侧,划分网格并导入 fluent,设置 axisymmetric 或axisymmetric Swirl 后,检查网格就会出现负体积而另外一幅图由于半圆在 y 轴正半轴一侧,则不会出现负体积!。

      Error: File has wrong dimensions (2)Error Object: #f发生时机:用 gambit 输出了一个 3 维模型的网格,将网格导入到 fluent 时,选择了求解器 2d,导致错误产生原因/方法:输出的网格维数(二维或三维)与 fluent 求解器选择的维数(2d 或 3d)不一致!对应二维模型的网格在导入 fluent 时应选择求解器为 2d 或 2ddp,对应三维模型的网格应选择求解器为 3d 或 3ddp,:)turbulent viscosity limited to viscosity ratio of 1.000000e+005 in 2 cells & A2我的解决方法给你说一下希望对你有帮助:1:你在 solve----control-----limit 下改变 mix turbulent viscosity ratio 的设置值(默认是 100000)但是不建议轻易使用,因为这个可能会造成你的解有可能和工程真实解有出入2:重新设置一下边界条件,尤其要注意出口和入口(如果有)的湍流动能的设置3:检查一下你的速度设置在实际中是不是真实存在的,我有一次就是出现了这样的低级错误4:尽量把网格的质量提高上去,尽量使用结构化的网格这样的好处多多。

      以上的意见我想你能参考基本上问题可以解决。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.