| 查看: 1727 | 回复: 9 | |||
| 当前主题已经存档。 | |||
[交流]
【求助】设置迭代次数为200时,结果报错
|
|||
| 求助:我初学fluent,在做2维气流的模拟时,设置迭代次数为200时,结果报错,说无效的数字浮点,它只显示到23左右。这大概是哪方面的原因造成的?谢谢 |
» 猜你喜欢
实验室接单子
已经有6人回复
假如你的研究生提出不合理要求
已经有11人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
woshilsh
荣誉版主 (职业作家)
- 应助: 43 (小学生)
- 贵宾: 10.33
- 金币: 21115.1
- 散金: 737
- 红花: 22
- 帖子: 3777
- 在线: 639.7小时
- 虫号: 293038
- 注册: 2006-11-04
- 专业: 计算机应用技术
- 管辖: 仿真模拟

2楼2009-05-06 19:39:55
3楼2009-05-07 13:32:58
rewind
至尊木虫 (正式写手)
- 仿真EPI: 1
- 应助: 25 (小学生)
- 贵宾: 0.02
- 金币: 15629.7
- 红花: 13
- 帖子: 926
- 在线: 98.5小时
- 虫号: 562631
- 注册: 2008-05-24
- 专业: 流体力学

4楼2009-05-24 19:23:42
lxx244lxx
木虫 (小有名气)
虫
- 应助: 0 (幼儿园)
- 金币: 1896.2
- 散金: 6
- 红花: 1
- 帖子: 150
- 在线: 159小时
- 虫号: 707889
- 注册: 2009-02-24
- 性别: GG
- 专业: 化学反应工程

5楼2009-06-01 15:35:34
padian
木虫 (著名写手)
- 应助: 51 (初中生)
- 金币: 2399.2
- 散金: 841
- 红花: 7
- 帖子: 1141
- 在线: 229.3小时
- 虫号: 500995
- 注册: 2008-02-13
- 专业: 凝聚态物性 II :电子结构
6楼2009-06-03 15:58:32
streamkite
铁杆木虫 (著名写手)
- 应助: 5 (幼儿园)
- 金币: 7410.9
- 散金: 295
- 红花: 7
- 帖子: 1201
- 在线: 240.5小时
- 虫号: 617643
- 注册: 2008-10-05
- 性别: GG
- 专业: 内流流体力学
7楼2009-07-21 00:42:15
728728
木虫 (正式写手)
- 应助: 4 (幼儿园)
- 金币: 4940.1
- 散金: 239
- 帖子: 519
- 在线: 397.7小时
- 虫号: 92818
- 注册: 2005-09-11
- 性别: GG
- 专业: 可再生与替代能源利用中的
8楼2009-07-21 01:21:44
streamkite
铁杆木虫 (著名写手)
- 应助: 5 (幼儿园)
- 金币: 7410.9
- 散金: 295
- 红花: 7
- 帖子: 1201
- 在线: 240.5小时
- 虫号: 617643
- 注册: 2008-10-05
- 性别: GG
- 专业: 内流流体力学
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
kuhailangyu(金币+3,VIP+0):感谢参与讨论 7-22 21:31
小木虫(金币+0.5):给个红包,谢谢回帖交流
kuhailangyu(金币+3,VIP+0):感谢参与讨论 7-22 21:31
|
从数值计算方面看,计算机所执行的运算在计算机内是以浮点数(floating point number)来表示的。那些由于用户的非法数值计算或者所用计算机的限制所引起的错误称为floating point error。 1)非法运算:最简单的例子是使用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 error。 |
9楼2009-07-22 18:29:08
10楼2009-07-22 19:02:56












回复此楼
帮你顶起来