Abaqus的一个bug?一个在abaqus2024中发现的可能的bug
Abaqus是世界知名的通用有限元软件,以非线性分析能力著称,可以称得上是非线性有限元软件的标杆。目前,在通用有限元软件的角度,不仅国内没有任何一款国产有限元软件能够比得上abaqus,即使是世界范围内,能够比得上abaqus的软件也可以认为是寥寥无几。对于求解器研发人员来说,如果自己代码的计算结果和abaqus对不上,首先都会怀疑是自己弄错了,而不是abaqus出错了。当然,实际上Abaqus也不是永远不会出错。在本公 众号之前的推文Abaqus的薄壳S4R5,也许有一个bug?中,曾经写过abaqus2022版本关于S4R5转角输出是0的bug。实际上,在abaqus的2024及之后的版本中,S4R5的这个bug已经修复了。本文主要介绍Abaqus关于弹塑性+增强沙漏控制的一个bug,软件版本为abaqus2024版本。认为其属于bug是本人的个人看法,如有不同意见,欢迎评论区留言指正!众所周知,abaqus中的缩减积分单元C3D8R是常见的分析单元,并且是一阶六面体的默认单元类型,这种单元可以有效地消除自锁效应,计算效率通常也高于全积分/非协调单元,在隐式分析中经常使用,在显式分析中更加经常使用。C3D8R由于只有一个积分点,通常容易出现沙漏,即沙漏模态会引起的虚假应变能,从而导致计算结果不正确。通常有几种方法对沙漏进行控制:在默认情况下的use default,实际上和stiffness hourglass control是同一种方法,都是采用沙漏刚度的方式进行控制,这种方法的主要贡献者是Ted belytschko,在计算时需要选择一个合适的沙漏刚度系数,当然,abaqus已经将这个系数给我们选好了,具体值可以查看帮助文档。人为选择一个沙漏刚度系数,在逻辑上总是显得不够严密,而Enhanced hourglass control增强沙漏作为另一种方式,其不需要手动选择沙漏刚度系数,而是依据材料参数去计算刚度,这显然显得“更为物理”。Abaqus中的增强沙漏方法主要依据的文献是“Puso, M. A., “A Highly Efficient Enhanced Assumed Strain Physically Stabilized Hexahedral Element,” International Journal for Numerical Methods in Engineering, vol. 49, pp. 1029–1064, 2000.”,具体实现是一种类似于增强应变EAS的方式计算沙漏刚度和沙漏力。本文主要介绍增强沙漏方法与弹塑性材料共同使用时的一个可能的bug,具体如下:在这样一个基础的增强沙漏+弹塑性材料的静态分析中,分别采用1个增量步,10个增量步,100个增量步,其计算结果如下:使用1个增量步和100个增量步,位移从1.995e-2变为2.302e-2,差别达到14%左右。这其实是很难接受的。对于一个静态分析步,经典弹塑性且不包含蠕变或者其他率相关形式本构的简单模型来说,我个人认为使用不同的增量步计算结果应当是十分接近的,不应当出现这种差别极大的情况。当然,这种情况目前只在增强沙漏+弹塑性的情况下出现,如果采用全积分单元或者采用默认的刚度沙漏,是不会出现这种情况的。以下是采用默认的刚度沙漏的结果,可以看出虽然有些差别,但应力/塑性应变最大差别也在2%以内,位移差别更小,不会出现差别10%以上。以上,即是abaqus2024中增强沙漏+弹塑性的一个可能存在的bug。当然,最新版本的abaqus2026限于时间目前我还没有安装,不清楚在abaqus2026中这个问题是否得以修复。如有朋友对此bug有不同意见,也欢迎评论区留言表明看法。
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-06-29
最近编辑:1月前