最近将J2弹塑性用户材料子程序UMAT的编写的基本理论和编程实践进行了一些总结,记录一下留存。弹塑性材料主要包含屈服条件,流动法则,硬化准则。
屈服函数主要是表征屈服条件,一般用F表示,表明应力满足某种关系时材料到达屈服,进入塑性。常见的有Mises屈服,tresca屈服,Drucker-prager屈服,Mohr—Coulomb屈服等。如果以主应力分量建立笛卡尔坐标系,则这些屈服条件在坐标系中可表征为一个曲面形状。常见的屈服面形状如下图:
其中,Mises屈服面和Drucker-prager屈服面是光滑的,没有棱角,而Tresca屈服面和Mohr—Coulomb屈服面具有棱角,而这种有棱角的屈服面在塑性计算时编程会更为复杂,因为涉及到棱角处屈服面扩张的方向的确定。同时,Mises屈服和Tresca屈服存在一定关系,Drucker-prager屈服和Mohr—Coulomb屈服也存在一定的对应关系。
流动法则主要是表征进入塑性后塑性应变的流动方向,即进入塑性后各个方向塑性应变的具体分量是如何计算出来的。
如果上式中的采用屈服函数F,则这种流动法则称为关联流动法则,否则称为非关联流动法则。在关联流动法则下,塑性应变增量的方向与屈服面的方向垂直。
硬化准则常见的有三种:各向同性硬化,随动硬化和混合硬化,最后一种是前两者的结合,目前已完成混合硬化子程序的编写。前者表明屈服函数随着等效塑性应变的增大,屈服面不断扩大。后者表明屈服面随着塑性流动的发生屈服面本身的形状不变,但是位置发生移动。如果对于单向加载,同样参数下,各向同性硬化和随动硬化没有区别。在往复加载下,随动硬化的反向屈服强度会降低,这种行为叫做包辛格效应。
二维应力状态下的各向同性硬化与随动硬化
随动硬化又可以分为Prager演化和Ziegler演化。对于三维实体单元,平面应变单元,轴对称单元,二者一般没有区别,对于平面应力单元,二者有所区别。同时要注意的是,通常的参考书上背应力更新实际上采用的是Ziegler演化下对背应力的偏应力分量进行更新,而abaqus默认的材料则是对背应力的全应力分量进行更新,因此如果自编子程序和abaqus自带的随动硬化材料对比时会存在应力,应变,塑性应变结果完全一致而背应力结果不一致的情况出现。如下图所示:
可以看到背应力分量SDV14与自带的材料alpha不一致。对自带的材料求偏应力分量,即获得与SDV14一致的结果。
【完】
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删