我发现有很多人找我讨论Abaqus中自动稳定该如何应用,以及它是否适合某些应用。通常,即使是在经验丰富的用户中,也存在一些错误理解和讨论。所以我觉得适合写一篇有关此话题的文章,希望这会启发那些对自动稳定存在一些误解的人。
首先,从解释什么是自动稳定开始,顾名思义,简单的理解就是这是一种自动稳定模型的方法。更进一步地讲,它是一种允许求解器在一定条件下从模型中耗散能量,从而增加获得收敛解的机会的方法。但是,通过允许求解器从模型中释放能量,其实正在人为地改变问题的物理性质,因此一定程度上改变了结果。
这种通过引入能量耗散提高模型稳定的方法有多种,但我发现最常见的方法是将“耗散能量分数”或“阻尼因子”应用于全局模型,这可能是因为它最容易定义。直接作为分析步定义的一部分(参见图片),选择其中之一会带来一些新选项,这些选项可以很方便地自动填充一些预设默认值。您现在所要做的就是单击“确定”,这是您最后需要考虑的问题。点击运行之后,会发现原来无法收敛的模型可以获得结果了。
但事实上,求解时就会有警告信息,“稳定化是对于高级用户而言,因为它可能会增加计算时间,可能产生不准确的结果”。显然,在对有问题的模型进行故障排除时,自动稳定并不是最好的选择。但是它有它的意义。确实,在解决接触问题发生不收敛时,开启自动稳定通常会有 较好的效果,使求解能正常完成。需要当心的是,如何判读自动稳定对模型的影响。对于不同的子稳定方法,对应会有一些不同的输出项,其中最多的ALLSD就是自动稳定引起的耗散能。在文档中有提到,ALLSD应该是模型内能(ALLIE)的“一小部分”。我们经常将“一小部分”量化为绝对不超过2%。意思是当ALLSD超过ALLIE的2%时,就要重新考虑这个问题了。
那么,如果稳定能量过大,该怎么办呢?这里有一些方法可以减少其对模型的影响。根据所使用的稳定性方法,这些可能包括:
将稳定应用于特定的时间步长;
2.将稳定应用于特定的相互作用;
3.降低稳定度(如耗散能比例);
4.对模型进行故障排除而不使用稳定。
希望大家对自动稳定有新的认识,在处理和调试模型时多一点信心。