Abaqus-Umat子程序理论基础与代码编写
本期内容将详细讲解Abaqus二次开发之非线性强化Umat代码,通过这次的学习,只要是应用Mises屈服法则,率无关的任何非线性强化均可适用。
模型介绍:
弹性模量20GPa,泊松比0.3,延续上一节Umat的模型,硬化曲线方程:

材料设置:


编写流程:
计算弹性雅克比矩阵、更新弹性试应力、读取状态变量(弹性应变和塑性应变以及等效塑性应变)、编写计算强化系数和等效Mises应力的子程序(方便随时调用)、屈服后计算等效塑性增量、计算当前应力、弹性应变、塑性应变、调用Mises子程序、计算弹塑性雅克比矩阵、更新状态变量。

本次代码中用到了13个状态变量,1~6个为弹性应变,7~12个为塑性应变,13为等效塑性应变。
代码讲解:
部分代码如下(篇幅有限):
Props(1)代表杨氏模量,
Props(2)代表泊松比,
Props(3)代表初始屈服应力,
Props(4)~Props(6)非线性强化相关系数。
38~69行:计算弹性雅克比矩阵,更新弹性试应力;
73~77行:读取状态变量;
83行:调用计算非线性强化系数子程序;
88~89行:调用等效Mises应力子程序;
97~103行:

107~119行:(其中112~119行的循环结构要看懂)

123~133行:

138~145行:调用等效Mises应力,更新弹塑性雅克比矩阵;
150~154行:将弹性应变、塑性应变、等效塑性应变储存在状态变量中。
160~185行:编写计算非线性强化系数子程序;
187~217行:编写等效Mises应力子程序。
本次的代码原本要为大家验证一下的,打开Abaqus的时候才发现子程序关联失常,就把代码先写出来吧,有兴趣大家可以自行验证,然后一起交流。
注:篇幅有限,故在本文中仅展示部分代码,源代码请在我的公众号:“易木木响叮当”内回复:“非线性强化”,自动获取。