abaqus分析收敛的个人经验整理
说一下自己在分析收敛方面的一些经验Xc`a `+Q
接触分析收敛不管怎么总还是一个很大的问题,而我们经常在一个地方卡了很长的时间,怎么也找不到解决和提高的办法。而aba_aba在abaqus常见问题汇总中给了我们模型改进的方向和一些方法。在我分析的过程当中,怎么找到模型中的影响收敛的关键问题所在也是一个很让我迷茫了很长时间。下面谈一下我个人的一些经验和看法。如有错误还望大家指出,也希望大家给出自己更多的经验分享。*@-kD Yc1{|m
abaqus的隐式求解的就是求算出一个很大的刚度矩阵的解,这个方程能否通过一次一次的迭代到最后达到一个系统默认的收敛准则标准的范围之内,就决定了这一次计算能否收敛。因此要收敛的话,系统与上一个分析步的边界条件区别越小的话,系统就越容易找到收敛解。针对这一点,我们可以得到下面的几种方法来尽可能的使系统的方程的解尽可能的接近上一步,以达到收敛。下面的方法的指导思想是:尽可能小的模型,前后两个分析步的改变尽可能的少。!Fi X9Qz&H{b
1. 接触分析真正加载之前,设置一个接触步让两个面接触上来,在这个步骤里面,接触面的过盈小一点好,比如0.001.接下去再把作用与两个接触体的力及接触方向的自由度放开。N.s`D#X C
2. 如果系统的载荷很多的话,将系统的载荷分做多步进行加载,一次性全上可能使系统无法在规定的迭代次数内收敛。所以根据需要分开,让abaqus的内核慢慢消化去。少吃多餐在这边好像也是成立的。
3. 系统有多个接触的话,也最好如载荷一样,分成几个step让他们接触上。这样的做法会让你以后在模型的修改中更有方向性。(R!rh%wL1O
4. 模型还是不收敛的话,你可以看一下是在哪一步或者那个inc不收敛。对于第一步直接不收敛的话,如果模型是像我上面把载荷和接触分成很多步建立的话,可以把载荷加载的顺序换一下。如果你把第二个加载的载荷换到第一步以后,计算收敛了,那影响收敛的主要问题应该就是原来第一个加载或着接触影响的。这种情况下面一般算到这个加载的时候还是不会收敛。这个时候可以考虑是否有什么其他办法能够使步骤的变化与上一步变动小一点,比如第一点里面提到,或者继续把这个载荷细分呢?
5. 对于接触分析不收敛的情况,可以自己看一下模型的接触面。有时候是overclosure,这个时候在assemble里面将模型相对位置稍微移动下或者用接触里面的那个adjust only to remove overclose,不过或一种方法会使你的网格扭曲变形。问题不大也是可以用的。有的时候是因为,模型中的两个接触面变成了一个点和一个面接触,而点或者面中有一个位置并不是很稳定。这个时候就会出现了dividing,有时候求解无法成功。这时候可以看一下是不是能够将模型该处稍微改一下呢?或者将该处的网格细化一下。a4I+[$]5q;G m\
6. 模型实在是比较大的话,可以修改solver的设定,将迭代次数改大一点。对于开始计算就不收敛的,而在迭代次数到了以后时间增量还不是很小的话,可以将initial和minimum改小一点。模型越大的话这边可以改的越小,特别是前后两个step变化比较大的情况下。但对于模型不是很大的情况下,太小的时间增量是意义不大的,问题应该从模型当中是否有错误去考虑。
7. 模型太大的话会导致求解的方程太大,不需要的不重要的接触最好从模型当中去除。这样的话对结果影响也不会很大,而且可以是计算时间大大的减少。
ls)\"A#{~ SfuY-[_'X
[[i] 本帖最后由 sunjt1986 于 2008-1-22 02:13 编辑 [/i]] 这么好的贴,我顶下哈:lol 狂顶!!! 支持了
lz提出了很好的方法
我以前遇到不收敛问题] T5A g?6F$Z)V3?
都是漫无目的的修改模型
导致走了不少弯路 very good, thanks! 谢谢大家支持,忙了很长时间的两个项目总算基本结束。也就得到这么点经验,希望对打加还能有用:) 谢谢楼主分享,说的很到位 楼主归纳的很全面阿!感谢分享 谢谢楼主分享~:P :o :$ 会总结的人才会学习! 还有一个初始步也很重要~~~~~
回复 11# 的帖子
不知道楼上对初始步有什么建议呢?初始步对模型的计算的影响还不是很清楚...d4Zmu3|
我考虑基本上是从第一步开始考虑,大部分是开始能算很好的话,只要中间模型没有问题的话基本上计算不会有太大的问题。找到了不能算的步骤,如果可以放到第一步来算的话我习惯是放到第一步来算的,这样才能尽快的修改让模型算出来。不过经常要做很多的工作才能让模型按照期望的算下去。 不错,这样的热心人多了论坛就热闹了! 先顶了再看 不错!相当有收益 很有收获,谢谢楼主 写的不错 学习一下 同感同感同感 好帖:lol 好贴,顶啊 总结的很好,多谢分享。
回复 12# 的帖子
对不起,我本想说初始步长~~因为我试过类似楼主的修改都不能收敛,却是修改初始步长而得到的收敛~~~ 学习一下! 己所积累,施教于人,感谢! Thank you very much. 说的很好,不过如果模型有100多万节点,你就知道,你的这种方法该有多浪费时间 谢谢.受益很多 好贴,楼主辛苦! :lol顶 这个帖子很好,收敛问题真是太普遍了,向楼主学习 感谢楼主无私奉献:lol :lol 好帖@@@ 我也顶一下 henhao ! 谢谢楼主的无私奉献 好贴,顶一下 说的很对啊,呵呵 顶!!!! 收敛是收敛了,计算结果合理吗?仅仅是算算而已,这不是有限元学习利用的目的!! 好帖啊!!