接触了abaqus的umat以后,通过几天的学习,才真正理解umat和Usdfld的区别,umat其实是讲的应力和应变的关系,即本构方程,而usdfld讲的是强度失效后的刚度矩阵如何折减,目前的认识,不一定准确。在进行umat计算时发现,经常出现一些莫名其妙的错误,遂在网上找了一个简单的例子,并理解了这个例子,最后成功地利用了这个umat例子计算出了变形结果。
理论基础如下:
对于经典的各向同性材料,其应力-应变关系为:(可参考材料力学书)



由此可得到一个6*6矩阵的本构方程,此方程可用于实体单元。
根据此基础理论,编制一个相当简单的fortran程序,如下:
C AN EASY SUBROUTINE FOR STEEL MATERIALS
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,
2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATV),
1 DDSDDE(NTENS,NTENS),
2 DDSDDT(NTENS),DRPLDE(NTENS),
3 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
4 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)
C 5 JSTEP(4)
C ELASTIC USER SUB
PARAMETER (ONE = 1.D0,TWO = 2.D0)
C****************************
E= PROPS(1) !YOUNG'S MODULUS
ANU = PROPS(2) !POISON'S RATIO
ALAMBDA=E*ANU/(ONE+ANU)/(ONE-TWO*ANU)
AMU=E/(ONE+ANU)/2 !SHEAR MODULUS
DO I = 1, NTENS
DO J = 1, NTENS
DDSDDE(I,J)=0.0
END DO
END DO
DDSDDE(1,1) = (ALAMBDA+TWO*AMU)
DDSDDE(2,2) = (ALAMBDA+TWO*AMU)
DDSDDE(3,3) = (ALAMBDA+TWO*AMU)
DDSDDE(1,2) = ALAMBDA
DDSDDE(1,3) = ALAMBDA
DDSDDE(2,3) = ALAMBDA
DDSDDE(2,1) = ALAMBDA
DDSDDE(3,1) = ALAMBDA
DDSDDE(3,2) = ALAMBDA
DDSDDE(4,4) = AMU
DDSDDE(5,5) = AMU
DDSDDE(6,6) = AMU
DO I = 1, NTENS
DO J = 1, NTENS
STRESS(I)=STRESS(I)+ONE*DDSDDE(I,J)*DSTRAN(J)
END DO
END DO
RETURN
END

最后可成功进行计算 。