转载自:http://blog.sina.com.cn/s/blog_4ada3be301011rjp.html

用FLUENT计算非稳态问题,是不是在计算时必须保证在每个时间步timestep里都要收敛才行,否则计算结果就不对呢?也就是说,在iteration选项里,max iteration pertime step设为一个值,比如500,就是如果500次迭代后仍未收敛,进入下一步迭代,那对结果会有什么影响。

对于隐式非定常格式,原则上,每个时间步长内必须保证结果收敛。在fluent 的帮助中就有这样的话:"对于不可压流动,在每个时间步内,不可压解必须迭代直至收敛。"另外,我们回归到fluent内部计算的本源,它实质就是一种差分算法,通过不断逼近来获得真实解,这样我们就不难理解为什么在每个时间步长内需要收敛了。max iteration pertime step 设定的是最大时间步,在单一步长内,如果结果已经收敛,则会自动跳至下一时间进行计算。所以其设定要纵观全局。但对于周期性流动,这种收敛性的要求就相对松动一些。不过你需要多计算几个周期,等计算结果达到对时间的周期状态后,再对结果进行储存。

对于显式非定常格式,在Fluent帮助中这样说:"一定记住,对于显式非定常格式,每一个迭代就是一个时间步。"

如果每个时间步内结果没有得到收敛,则很有可能你所得到的结果是不真实的,但是一个时间步内的不真实性应该不 会影响到下一个时间步长内的计算。因为在每一个时间步开时,fluent 都会进行初始化。在单个时间步内,它实际是按照稳态进行计算的。

time step size的设定是根据你的计算需要,一般是你的特征长度(比如说管道的长度)除于特征速度(比如平均速度)的值再小一到两个量级即可,如果你的time stip size太大,计算会提示你的,改小即可。

number of time steps是这样设定的:number of time steps X time step size=实际时间积累。比如说,你计算一个射流,你需要计算到1秒时候的情况,那么(number of time steps)=1秒/(time step size)。

Fluent中非稳态时间步长设置

最近所做的非稳态计算,若设置太小,计算时间就太长,设置太大的话就会出现Global Courant Number飙升过大的不能继续进行下去的问题。

有网友建议:http://www.efluid.com.cn/dvbbs/dispbbs.asp?boardid=61&Id=3782

单元最小长度除于流场平均流速,不过这个值可能很小,你可以以这个值为基准进行调节,一开始可以取大些,如果没有问题,可以再放大些,这样可以缩短计算时间。

若按这种方法,计算下面这个例子:2mm,10个网格,流速1m/s。时间步长time steps=0.2/1000=0.0002。但是我在进行计算时,设置为1e-6,都无法进行下去。所以这种换算方法还是只能作为参考。

我现在采用的是自动调节时间步长,目前看来效果还可以。

怎么知道非稳态计算时间步长是合适的?

courant number与收敛

courant number实际上是指时间步长和空间步长的相对关系,系统自动减小courant数,这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,把局部的网格加密再试一下。在fluent中,用courant number来调节计算的稳定性与收敛性。一般来说,随着courant number的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。所以具体的问题,在计算的过程中,最好是把courant number从小开始设置,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加courant number的大小,根据自己具体的问题,找出一个比较合适的courant number,让收敛速度能够足够的快,而且能够保持它的稳定性。

时间步长与准确性

摘自《数值计算与工程仿真》第一期 作者gim

1 、在不计模型误差,而且计算稳定的前提下,数值计算的时间步长的选取存在一个恰当值,过大或过小都会影响模拟结果的准确性。

2 、具体数值模拟中,最好能有一定的实验数据或其它的可以认为准确的结果作为验证资料,这样才能恰当的选定时间步长,提高计算的准确性。

3 、FLUENT 软件采用隐式计算,这就需要设定每一次迭代的最大步数(Max Iterations per Time step ) ,如果达到最大步数前计算已经收敛,系统会自动进入下一步迭代。利用这一点可以采取如下方法确定迭代的时间步长:系统一般认为每一步的迭代次数应在10 一20 次之问,设定一个时间步长后如果在迭代次数内还没有收敛就应该减小时间步长,反之则应该增加时间步长。一般,都事先给定一个较小的时问步长进行迭代儿步,而后逐步调整。当然迭代次数也跟具体问题相关,还需要计算经验的不断积累。

tags: fluent,非稳态,时间步长

fluent迭代计算中,非定常问题的时间步长如何选取

显式时间积分方案:时间步长Δt<ρ(Δx)2 /2Γ;半隐式时间积分方案:时间步长Δt<ρ(Δx)2 /Γ;全隐式时间积分方案:时间步长没有限制。Δx是网格相邻节点的距离,Γ是扩散系数,不同问题有不同的物理意义

非稳态时间步长与迭代步数的讨论

在unsteady的计算求解中,大部分同学应该会对solver中设置比较迷惑,在这里,我想就我个人的理解对其时间步长与迭代步数进行一些分析讨论。

1、在进行unsteady 计算的时候,fluent是从前一个时间算到下一个时间(即time steps),而每个时间步长内的计算就相当于一个准稳态求解,因此需要设置Max Iterations per Time Step;在这个时间步长内的计算就是一个稳态过程,在达到iteration次数之前收敛完成,就跳到下一个time step,否则就将所规定的迭代次数算完在跳下一个time step。

2、时间步长的设置:(1)特征长度除以特征速度所得的时间小二个量级或者更小。这是理论值,实际上,如果不是工作站运行的话,花费的计算时间太长。因此,通常在fluent中选定这个比例的1/5到1/10,特别是一开始不知道如何设定的时候最好是打开adaptive 让它自动定义定义时间步长。但其中最小的时间尺度,个人认为最小也只能小到这个比例的1/100的这个水平上。(2)最小网格长度除以流速或者旋转流动速度。这个是保证每一次迭代都在一个网格范围内,不会因跨网格而导致结果误差,但实际中计算一段时间后可能加快计算速度,会将时间步长设置较大,最后为得到最终求解,再将时间步长调小,进行细微的计算。

3、时间步长里的迭代步数设置:保证每个时间步长达到收敛,或者能明显看到主要残差曲线趋于水平。

4、时间步数:看你需要计算多长时间,本人觉得至少需要计算3-5个流动循环周期才可能得到非定常的稳定流动周期状态。

转载于:https://www.cnblogs.com/liusuanyatong/p/11259758.html

Fluent 时间步长【转载】相关推荐

  1. 三十九、Fluent时间步长的估算与库朗数

    1. 库朗数 1.1 概念理解 什么是库朗数?库朗数是用来衡量数值计算稳定性的一个物理量,也被称为CFL数.CFL准则 在流体力学仿真软件中,都能找到库朗数(Courant number)的解释和定义 ...

  2. 【转】fluent时间步长设定

    [转]fluent时间步长设定 1.在不计模型误差,而且计算稳定的前提下,数值计算的时间步长的选取存在一个恰当值,过大或过小都会影响模拟结果的准确性. 2.具体数值模拟中,最好能有一定的实验数据或其它 ...

  3. android设置加密步长,非稳态计算时Fluent 时间步长如何设置(转载)

    用FLUENT计算非稳态问题,是不是在计算时必须保证在每个时间步timestep里都要收敛才行,否则计算结果就不对呢?也就是说,在iteration选项里,max iteration pertime ...

  4. 在fluent计算时如何设置非稳态时的时间步长

    1.先测出沿流向最小的网格长度 2.用该网格长度除以你的进口速度,这就是非稳态的时间步长,能够较好的表现流动特征,特别在计算升力.阻力系数时,能够使你的数据与实验对比较好!

  5. ansys workbench17.0 lsdyna模块设置时间步长

    笔者在通过workbench中的lsdyna模块计算显式动力学分析时,遇到了得出结果时间步长过长的问题.由于受fluent思维的影响一直想改变分析设置的时间步长设置,但是一直找不到,今日通过看另一位大 ...

  6. EFDC_EE如何设置自适应时间步长

    EFDC_EE如何设置自适应时间步长 下图是EFDC_EE的运行时间参数的设置界面,在时间步长的设置中,如果"Safety Factor"参数,设置为非0,即可实现自适应时间步长的 ...

  7. lstm timestep一般是多少_用LSTM中的不同时间步长预测使用keras

    我正在使用keras预测LSTM的时间序列,并且我意识到我们可以使用与我们用来训练的时间步不同的数据来预测.例如:用LSTM中的不同时间步长预测使用keras import numpy as np i ...

  8. Multisim10中仿真时间步长与数码显示管的类型有关

    用Multisim10仿真一个数字频率计数器,单个模块仿真很顺利,无论是计数部分还是秒脉冲发生电路都正常工作,但最后连起来仿真的时候就无语了,由于要测量1s内的输入信号的频率,按道理说如果输入信号是1 ...

  9. python步长什么意思_python – Numpy:在每个时间步长平均许多数据点

    这个问题可能在某个地方得到解答,但我找不到哪里,所以我会在这里问: 我有一组数据,每个时间步长有几个样本.所以,我基本上有两个数组,"时间",看起来像:(0,0,0,1,1,1,1 ...

最新文章

  1. php井字游戏,python实现井字棋游戏
  2. groovy --不注意的小错误(java.lang.String.positive() is applicable)
  3. springcloud api-gateway详解
  4. C#调用C++函数来与串口通信
  5. LeetCode 1037. 有效的回旋镖
  6. python匹配字符串_字符串匹配算法之Kmp算法(Python实现)
  7. cin cout加快
  8. ASP.NET【1】
  9. 181028每日一句
  10. 【信号与系统|吴大正】3:离散系统的时域分析
  11. 三星s9更新android9.0,三星Galaxy S9/S9+ Android 9.0系统更新新进展
  12. Ubuntu使用总结二
  13. 三维扫描仪为媒,虚拟试衣间下嫁普通制衣生产厂家
  14. 时序数据库详解和使用
  15. [Ynoi2016]炸脖龙I/Nephren Ruq Insania
  16. 医院挂号系统代码_智慧医院中心是怎样做的?分诊叫号系统如何正确使用!
  17. iOS 3DTouch 开发
  18. winscp是什么软件_文件传输软件WinSCP的使用
  19. hiredis-vip
  20. MS8413光纤同轴解码芯片

热门文章

  1. 读js高级程序设计中有感
  2. 高仿SinaWeibo新浪微博发布页面话题效果
  3. 众邮快递单号查询快递鸟API接口-众邮快递ZYE
  4. 微信小程序云开发实现问卷调查的创建与填写
  5. 2009年数学建模B题
  6. 关于mac中office文件不显示图标的解决方法
  7. 怎么写出一本程序员风格的修真小说
  8. 出包王女全集名字和顺序
  9. sql查询汉字首字母
  10. LTE射频拉远单元数字中频方案(五)