模型介绍:
弹性模量20GPa,泊松比0.3,延续上一节Umat的模型,硬化曲线方程:




本次代码中用到了13个状态变量,1~6个为弹性应变,7~12个为塑性应变,13为等效塑性应变。

代码讲解:
部分代码如下(篇幅有限):
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,2 TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,MATERL,NDI,NSHR,NTENS,3 NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT,4 DFGRD0,DFGRD1,NOEL,NPT,KSLAY,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 MATERLDIMENSION STRESS(NTENS),STATEV(NSTATV),1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),3 PROPS(NPROPS),COORDS(3),DROT(3,3),4 DFGRD0(3,3),DFGRD1(3,3)double precision, DIMENSION(NTENS)::deviatoricStressdouble precision misesEqualStress,hydroStaticPressure,W1 ,ONESY,DEQPL,SYIELDCDIMENSION EELAS(6),EPLAS(6),FLOW(6)PARAMETER (ONE=1.0D0,TWO=2.0D0,THREE=3.0D0,SIX=6.0D0)DATA NEWTON,TOLER/1000,1.D-6/INTEGER K1,K2,cnC PROPS(1) - EC PROPS(2) - NUC PROPS(3) - SYIELDC CALLS AHARD FOR CURVE OF SYIELD VS. PEEQC ELASTIC PROPERTIESCEMOD=PROPS(1)EMU=PROPS(2)EG2=EMOD/(ONE+EMU)EG=EG2/TWOEG3=THREE*EGELAM=EMOD*EMU/((ONE+EMU)*(ONE-TWO*EMU))CC ELASTIC STIFFNESSCDO K1=1,NTENSDO K2=1,NTENSDDSDDE(K2,K1)=0.0enddoenddoCDO K1=1,NDIDO K2=1,NDIDDSDDE(K2,K1)=ELAMenddoDDSDDE(K1,K1)=EG2+ELAMenddoDO K1=NDI+1,NTENSDDSDDE(K1,K1)=EGenddo......

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

123~133行:

138~145行:调用等效Mises应力,更新弹塑性雅克比矩阵;
150~154行:将弹性应变、塑性应变、等效塑性应变储存在状态变量中。
160~185行:编写计算非线性强化系数子程序;
187~217行:编写等效Mises应力子程序。
本次的代码原本要为大家验证一下的,打开Abaqus的时候才发现子程序关联失常

,就把代码先写出来吧,有兴趣大家可以自行验证,然后一起交流。
来源:易木木响叮当