弹塑性应力超过最大屈服应力?看ABAQUS官方是如何解决的
Abaqus是知名的非线性通用有限元软件。在十几年前,庄茁老师的关于Abaqus的书十分流行。当时学习那本书上的同学都遇到过下面这个从帮助文档中翻译过来的使用塑性材料计算的例子:这里采用了弹塑性材料,弹塑性的最大屈服应力是580Mpa,最终计算的应力结果如下:这里显示的应力超过了材料设置中的最大应力580Mpa。很显然,这与我们通常的认知有些不符,庄老师的书和abaqus的教程中给出了具体原因:有限元计算时应力是计算在积分点上的,而输出云图结果是绘制在节点上的,因此需要将积分点上的结果“外插”至节点,在外插的过程中,可能导致应力结果值大于材料的设定值,从而使得云图上的应力值大于材料的塑性参数设置的最大应力。实际上,对于这种情况,abaqus中还有一种专门的单元格式来解决:C3D8S,这种单元在实际工程中使用得不多,但是某些时候确实很好用,比如十分关注某个接触区域的应力,弹塑性材料的结构在受弯时外侧表面先进入塑性等。这种单元格式的本质,实际上是取消了有限元中常用的“高斯-勒让德积分”这种我们在有限元中最常使用的积分方法,而采用辛普森积分或者高斯-labatto积分。下面介绍下高斯-勒让德积分与C3D8S中使用得积分的差别。对于最常用的高斯-勒让德积分来说,其积分点位于单元内部而非单元节点,如下图所示:图上的,x1,x2,x3,x4是积分点,一共8个这里只显示了4个。在完成位移计算后,通过应变-位移关系及本构关系既可以获得积分点的应力值,而在绘制云图时需要获得节点1,2,3,4的应力值,此时就需要按照形函数将积分点的应力值外插。这就是导致云图绘制后应力大于最大应力的原因。而当单元选择C3D8S时,积分点位于节点和边/面的中点处,具体如下:此时,对于3维8节点单元,一共有27个积分点,这里只显示了9个。采用这种单元后,由于获得的x1-x4的积分点的值可以直接用于节点的应力云图绘制,由于积分点的值不可能超过最大的屈服应力,因此最终的应力云图也不会超过最大应力。采用C3D8S计算帮助文档的案例,最终应力结果如下:节点云图的最大应力没有超过定义的材料最大应力580Mpa。下面是另一个简单的对比,塑性材料定义的是理想弹塑性,屈服应力200Mpa采用C3D8S的最大应力完全与材料定义的理想弹塑性屈服应力一致,而C3D8由于应力外推,在云图显示上超过了最大应力。当然,实际上,这种只是计算结果后处理的区别,并不是说C3D8的结果就是不正确的,只是仿真人员在向设计师/客户解释后处理的结果需要增加一些后处理基本原理知识的介绍。当然,使用C3D8S也是有代价的,C3D8S采用27个积分点,相对于8个积分点是3.5倍的数量,计算效率上会低不少。但是,如果是实际工况中,塑性变形发生在结构的表面,此时使用C3D8S“理论上”是更准确一些的,因为表面的积分点可以及时准确地捕捉到“塑性”。以上,即是本文关于C3D8S用于解决应力云图后处理显示以及C3D8S这个单元本身的介绍。在实践中,这个单元并不太被人关注和使用,但实际上,这个单元在某些特定情况下是值得使用的,用一点点计算效率地牺牲,可以换取准确的应力后处理以及表面进入塑性时计算精度的提高。以上即是本文全部内容,感谢阅读 著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-08-26
最近编辑:1小时前