找回密码
 注册
Simdroid-非首页
查看: 13222|回复: 179

[基础理论] 对time increment的根本理解

[复制链接]
发表于 2006-10-23 20:43:15 | 显示全部楼层 |阅读模式 来自 安徽合肥
abaqus的step里有maximum number of increment、initial increment、minimum increment 、maximum increment四个量许多网友不知怎样设置合理,合理设置是建立在深刻理解基础上的。
      要理解这个问题,首先需要了解abaqus的计算过程和有限元计算收敛性问题,abaqus首先用initial值输入进行叠代计算,如果计算结果收敛,则继续以这个值代入计算下一步,如果不收敛,则自动减小时间步长(time increment)重新计算直到收敛然后计算下一步。
       但是如果时间步长减小到最小值minimum时计算结果还是不收敛,则abaqus将停止计算,由此可知maximum值和minimum值分别是abaqus在收敛计算时时间步长的上下限,同时total time=求和(time increment*number),当时间步长很小时,需要计算的步数number相应增大(电脑计算花的时间也随之增大),因此number一般要设置较大值。minimum并不是越小越好,因为1)number即计算时间增大2)abaqus计算精度约在10^(-5),当时间步长小于这个值,计算结果已经没什么意义了。
      有限元计算收敛性与(最小空间步长/时间步长)值有关,若minimum设为10^(-5),还是不收敛,可适当减小空间步长(即把网格画细点),当然还有一些其他办法,如果实在计算不了,也许是模型本身有点问题,或改为显示explicit计算
     总而言之,maximun number要适当设置较大值,initial可适当改小(如-2,-3量级),minimum(-5量级)不要修改,maximum值影响不大,可不改

评分

1

查看全部评分

发表于 2006-10-24 06:36:01 | 显示全部楼层 来自 美国
Simdroid开发平台
两位朋友已经做了很好的总结,不过关于minimum time increment=10^5的这个问题,ydliu_zn的理解是对的。

1 .abaqus doc中的10^5是defalt值而已;

2.精度和科学计数法是两回事:
假如单精度的有效数字范围是10^5,是指有效数字不超过数点后5位,
比如0.1234567就是0.12345,因为后面2位无法存储;
科学技术法:0.12e-30, e前面的算作有效数字,后面的多大都可以,
比如0.1234567...e-10
0.12345e-10是有效的,后面的0.0000067e-10是系统随机分配的数据,是无意义的.

3.所以,minimum time increment=1.e-10 或者更小都是可以接受的。

4.另外,minimum time increment是根据具体问题具体分析,abaqus的 "analysis convergence control"里面也是这样的思想;

5.当然doc中有说明:min time increment是有一个下限的,低于它,系统就不稳定,abaqus的自动时间积分算法将停止。abaqus有对于瞬态问题给出一个理论公式;这个下限和模型的网格尺寸有关,是正比关系。网格细分,则相应min time increment可以表小

6.对于max time increment,abaqus没有要求,只要保证计算的稳定性就可以咯。
因为计算精度有tolerance and residual保证

[ 本帖最后由 aresaran 于 2006-10-24 06:37 编辑 ]

点评

赞同  发表于 2013-8-13 10:35

评分

1

查看全部评分

回复 4 不支持 0

使用道具 举报

发表于 2009-11-2 21:32:00 | 显示全部楼层 来自 重庆
对于楼上的一些见解有不同看法:
1、计算收敛后,步长会增大至1.5倍继续计算,直至达到最大步长。
2、单精度浮点计算的精度已经超过1e-5,并非abaqus的精度达不到1e-5。而是你设置的一个收敛的阈值。只要设置小一点,1e-8也照样计算。
3、在explicit当中,最小时间是按照波速来计算的,与网格尺寸有关。但是在standard当中,没有时间概念,计算不收敛是因为载荷的问题,而不是时间的问题,细化网格没用。

另外,收敛问题90%不是步长问题,你要检查msg文件,看看不收敛到底是哪里造成的。很多人只知道细化网格却不知道去看看提示信息。
回复 3 不支持 0

使用道具 举报

发表于 2009-11-2 18:55:47 | 显示全部楼层 来自 英国
我瞎搞了一下午,居然收敛了,不过是莫名其妙的收敛了,我还是不明白这里面的道理.
我把我的数据给出来,大侠们根据我的数据再给我解释一下呢?
我细化网格以后,
1. time period: 300, initial: 0.001, minimum: 1e-1 ...
popo10 发表于 2006-10-26 04:22

你的第一个设置很可能就出现问题。因为INITIAL设置了0.001,而TIME PERIOD设置300,这样ABAQUS第一步从你设置的INITIAL开始,也就是0.001,一步步计算,当计算收敛,就增加步长,比如0.001增加到0.002,这样子逐步增加。你的材料曲线可能比较不平?于是中间可能出现不平而调低计算步长。这样100000步计算完之后可能整条曲线还没走完,于是当然提示TOO MUCH INCREMENTS NEEDED。这不是说就不收敛,而可能是你设置的步数不够多,当已经计算完10万步之后程序自然就停止了。

你的第二个设置,初始步长为1,可能一下子把材料曲线初始时比较大变化的一部分都给跳过去了,于是ABAQUS会根据初始步长适当增长,每一步步长为1这么计算,很容易把可能不收敛的地方跳过去了,接下去的计算自然就很可能收敛了。但这样的计算有可能是不对的。

我的建议是,
1. 按比例在你的材料曲线上仔细查一下,看是否有比较陡峭的部分,有的话能否想法子让它平整一点,比如说前面的1/100多输几个点进去,让曲线光滑。
2. 在设置一里调整步数,看最终能否收敛,如果能证明你的模型应该是正确的。
3. 尽量多体会一下时间步的概念吧。假如是在静定情况下,时间步长跟时间是没有任何关联的,它代表的只是一个虚拟的时间概念,它的作用是表述一个加载的过程。所以时间设置为1和设置为300是没有任何区别的,假如你的初始步长和最大最小时间步都按比例来设定的话。
时间步长代表的其实就是你的材料曲线的走向。因此材料曲线越光滑就越容易收敛。当然收敛问题跟结构形状,接触,网格划分等等也有密切的关系。所以不收敛的话就要对每个方面都进行检查。
回复 1 不支持 0

使用道具 举报

发表于 2009-2-21 13:00:31 | 显示全部楼层 来自 重庆沙坪坝区
本人刚通过一个例子对time increment进行了实验,得出的结论是initial increment对计算时间的影响比较大。
同一个模型:1.initial increment设置成0.001时,用时24456秒
           2.initial increment设置成1时,用时3400.9秒
而他们计算得到的结果是完全一样的
结论:当模型本身的收敛性比较好时,可以将初始的增量步适当的设大些,这样可以极大的节约计算成本,min increment可以选用缺省值。
回复 1 不支持 0

使用道具 举报

发表于 2006-10-26 04:22:28 | 显示全部楼层 来自 美国
我瞎搞了一下午,居然收敛了,不过是莫名其妙的收敛了,我还是不明白这里面的道理.
我把我的数据给出来,大侠们根据我的数据再给我解释一下呢?
我细化网格以后,
1. time period: 300, initial: 0.001, minimum: 1e-10, maximum: 1, maximum number of increments: 100000 结果: 不收敛, 说too much increments needed
2. time period: 100, initial: 1, minimum: 0.0001, maximum: 10, maximum number of increments: 100000 结果: 收敛.
真的看不出这里面的关系,似乎第一次各个数据都很小,应该更容易收敛才对啊?

[ 本帖最后由 popo10 于 2006-10-26 04:23 编辑 ]
回复 1 不支持 0

使用道具 举报

发表于 2006-10-23 20:52:41 | 显示全部楼层 来自 江苏镇江
不错不错,受益菲浅阿。谢谢楼上的兄弟了!
发表于 2006-10-24 01:59:18 | 显示全部楼层 来自 德国
写得很精辟。  

zyxie 最近发了不少好贴,再多来点吧。
发表于 2006-10-24 03:36:31 | 显示全部楼层 来自 美国
太谢谢了!这下子清楚多了!困扰了我好长时间.
发表于 2006-10-26 03:25:24 | 显示全部楼层 来自 美国
理论上大概有了一个概念,可是具体操作还是有一些问题,就我的情况来说,似乎我只要改动的出现不收敛了,就怎么改也好不了了,不管minimum取多小.
我现在的模型重新细化网格以后大概13,000个单元,是2D的问题,应该是一个很小的模型,可是minimum已经是1e-10了,还是不收敛.难道是楼上各位说的模型本身的问题?
发表于 2006-10-26 09:43:37 | 显示全部楼层 来自 LAN
大家所说的是一般情况下abaqus的increment设置问题和相关意义,可以当作理论依据。依照你的实际情况,模型的收敛性一定不太好,想得到比较好的结果最好在其他方面找找原因,比如考虑一下是否在mesh、接触上有问题,或者模型本身的非线性造成了收敛困难等等。只靠修改increment是有风险性的,不那么保险

评分

1

查看全部评分

发表于 2007-5-9 14:48:37 | 显示全部楼层 来自 上海
time period 是什么意思?如何去定义的。在手册上说如果不定义,default value is one .(对于static)
回复 不支持

使用道具 举报

发表于 2007-5-9 15:28:03 | 显示全部楼层 来自 北京
原帖由 zyxie 于 2006-10-23 20:43 发表
abaqus的step里有maximum number of increment、initial increment、minimum increment 、maximum increment四个量许多网友不知怎样设置合理,合理设置是建立在深刻理解基础上的。
      要理解这个问题,首先 ...


这里提到的计算精度为10(-5),来自哪里的?学习一下
回复 不支持

使用道具 举报

发表于 2007-5-9 18:39:23 | 显示全部楼层 来自 LAN
收敛的问题 好像每次出现都很头大

谢谢 高手们的精辟解释

觉得是最小时间步长好像和精度没有这么直接的联系吧

“abaqus计算精度约在10^(-5),当时间步长小于这个值,计算结果已经没什么意义了”
回复 不支持

使用道具 举报

发表于 2007-5-9 19:24:46 | 显示全部楼层 来自 重庆沙坪坝区
LZ写的精辟,大家讨论的也精辟,学了不少。
回复 不支持

使用道具 举报

发表于 2007-5-22 15:54:32 | 显示全部楼层 来自 黑龙江哈尔滨
正被收敛问题搞得头大
回复 不支持

使用道具 举报

发表于 2007-9-28 10:30:42 | 显示全部楼层 来自 北京西城
嘿嘿,不错不错
回复 不支持

使用道具 举报

发表于 2007-11-30 21:44:40 | 显示全部楼层 来自 郑州大学
一直很困惑这个东西,谢谢楼主了,这次一定好好学习
回复 不支持

使用道具 举报

发表于 2007-12-26 15:25:49 | 显示全部楼层 来自 北京交通大学
喜欢
回复 不支持

使用道具 举报

发表于 2007-12-26 15:39:00 | 显示全部楼层 来自 山西吕梁
:D :D thank you
回复 不支持

使用道具 举报

发表于 2007-12-26 17:03:39 | 显示全部楼层 来自 广东深圳
隐性计算时好象可以调整这些参数
可是我做显性计算时好象不能调这些参数吧

还有Job里的时间增量步好多从1,2,。。。。。
我做显性的是从142,512,。。。。。。
这是怎么回事呢

这些增量步可以调么,请高手指教!!!!!!!!!!!
回复 不支持

使用道具 举报

发表于 2007-12-27 14:36:11 | 显示全部楼层 来自 江苏南京
不错不错,受益菲浅阿。谢谢楼上的兄弟了!
回复 不支持

使用道具 举报

发表于 2008-5-31 17:20:22 | 显示全部楼层 来自 江苏徐州
收益非浅呀
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-27 14:55 , Processed in 0.065727 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表