SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,
1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,
2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,
3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
INCLUDE 'ABA_PARAM.INC'
CHARACTER*8 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),
1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS),
2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3),
3 DFGRD0(3,3),DFGRD1(3,3)
C UMAT FOR ISOTROPIC ELASTICITY
C CANNOT BE USED FOR PLANE STRESS
C ----------------------------------------------------------------
C PROPS(1) - E
C PROPS(2) - NU
C ----------------------------------------------------------------
C
LOGICAL FIRSTRUN
FIRSTRUN=.TRUE.
C
IF(FIRSTRUN .EQ. .TRUE.)THEN
WRITE(*,*)'PLEASE INPUT AN INTEGER :'
READ(*,*) KKTEMP
FIRSTRUN=.FALSE.
END IF
KKTEMP=1234
C
IF (NDI.NE.3) THEN
WRITE (6,*) 'THIS UMAT MAY ONLY BE USED '
C
CALL XIT
ENDIF
C
C ELASTIC PROPERTIES
EMOD=PROPS(1)
ENU=PROPS(2)
EBULK3=EMOD/(1-2*ENU)
EG2=EMOD/(1+ENU)
EG=EG2/2
EG3=3*EG
ELAM=(EBULK3-EG2)/3
C
C ELASTIC STIFFNESS
C
DO K1=1, NDI
DO K2=1, NDI
DDSDDE(K2, K1)=ELAM
END DO
DDSDDE(K1, K1)=EG2+ELAM
END DO
DO K1=NDI+1, NTENS
DDSDDE(K1 ,K1)=EG
END DO
C
C CALCULATE STRESS
C
DO K1=1, NTENS
DO K2=1, NTENS
STRESS(K2)=STRESS(K2)+DDSDDE(K2, K1)*DSTRAN(K1)
END DO
END DO
C
RETURN
END