本帖最后由 372703015 于 2020-8-30 20:55 编辑
星辰技文|ABAQUS隐式分析不收敛该怎么办? 作者:星辰北极星
ABAQUS提供显式和隐式两种求解类型,其中显式计算方法是“有条件收敛的”,只需满足增量步小于限值,大多数情况均能顺利计算完成;而隐式计算方法,在非线性情况下极易出现不收敛的情况,比如:欠约束、接触、材料塑性或失效、断裂、屈曲失稳等,都可能导致多次迭代不收敛,增量步大小一降再降,直到满足终止条件而退出计算。作为老司机,使用了这么多年的软件总有点心得吧,总结了五条经验,分享给大家:
一、ABAQUS的任务提交流程
了解ABAQUS的任务提交流程,也就是让我们学会找错!当我们点击Submit后会有两个处理阶段:1)预处理;2)任务计算。
结合ABAQUS Job Monitor窗口进行讲解,两个阶段的分界点位于Data File子页面的内容是否完成;也就是说,当出现Error,而Message File和Status File未激活(生成)时,表明还处于预处理阶段,我们定义的模型一开始就存在问题,Errors子页面都会一一列出,通常会有:信息不完整、材料参数不符合本构模型、特殊定义之间冲突、关键字输入问题等,我们只需逐个修改即可。
当顺利进入任务计算阶段后,窗口上方的表格将实时更新为Status File(jobName.sta)中的内容,提示计算的进度,当后续再出现Error时,才可能是由于计算不收敛导致的错误。二、收敛的基本条件 模型收敛是什么?很多初学者估计都不太清楚,从而提出一些奇奇怪怪的问题,比如:“我用弹性材料可以计算,换成复杂材料模型就计算不了,为什么?”。所以了解有限元基本原理是非常必要的,而要了解ABAQUS的求解机制,就需要看帮助文档,个人认为:帮助文档分析手册第七章(AnalysisSolution and Control)的内容,是进阶的必修内容,然而目前市面上除了王鹰宇先生的译本,并没有书籍进行过归纳和总结,还是感觉挺遗憾的。
求解的总体思路就是:整个任务分为多个阶段(Steps);每个阶段分为若干个增量步(Increments);一个增量步进行若干迭代(Iterations),上图为二次迭代过程,而这个过程中cb=ub-ua需要小于一定限值,通过类似的多次迭代,外力P与内力I之间容差R小于给定限值,从而认为增量步达到收敛要求。 这些限制条件都有默认值,大多数情况下我们不需要进行修改,但对于一些特殊或难收敛的情况,可以适当进行调整:Step模块下->Other菜单->GeneralSolution Controls的Field Equations子页面进行设置,不同的场量计算均有自己的一套场控制参数。
除了迭代步的限制控制,还会有增量步大小控制,其中一些在定义分析步时进行设置;更多的则位于General Solution Controls窗口中的TimeIncrementation子页面,其中I0和IR为迭代步次数限制,用于控制增量步变大或缩小;IA则为允许出现不收敛迭代的次数,对应Monitor窗口中的IU至5U,对于大多数非线性情况,5次是远远不够的,需要增大。
三、不收敛的原因的排查过程
|