fluent计算错误分析

2017-01-11  by:CAE仿真在线  来源:互联网

1. FlUENT

1.1 求解方面

1.1.1 floating point error是什么意思?怎样避免它?

Floating point error已经提过很多次了并且也已经对它讨论了许多。下面是在Fluent论坛上的一些答案:

从数值计算方面看,计算机所执行的运算在计算机内是以浮点数(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。

1.1.2 coupled和segregated求解有什么区别?

Coupled会同时求解所有的方程(质量守恒方程、动量守恒方程和能量守恒方 程)而不是单个方程求解(方程互相分离)。当速度和压力高度耦合(高压和高速)时应该使用耦合求解,但这样会需要较长的计算时间。

在耦合求解中,能量方程中总是包含组分扩散(Species Diffusion Term)项。


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:fluent计算错误分析 Fluent培训 Fluent流体培训 Fluent软件培训 fluent技术教程 fluent在线视频教程 fluent资料下载 fluent分析理论 fluent化学反应 fluent软件下载 UDF编程代做 Fluent、CFX流体分析 HFSS电磁分析 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com