编辑代码

*USER SUBROUTINES
      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,NSTATEV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
    INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*8 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATEV),
     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),DFGRD0(3,3),DFGRD1(3,3)
C
      PARAMETER (ONE=1.0D0, TWO=2.0D0)
      write(6,*) PROPS(1) , PROPS(2)
      E=PROPS(1)
      ANU=PROPS(2)
      ALAMDA=ANU*E/ (ONE+ANU)/(ONE-TWO*ANU)
      AMU=E/TWO/(ONE+ANU)
      DO I=1,NTENS
       DO J=1,NTENS
        DDSDDE(I,J)=0.0D0
       ENDDO
      ENDDO
      DDSDDE(1,1)=ALAMDA+TWO*AMU
      DDSDDE(2,2)=DDSDDE(1,1)
      DDSDDE(3,3)=DDSDDE(1,1)
      DDSDDE(4,4)=AMU
      DDSDDE(5,5)=AMU
      DDSDDE(6,6)=AMU
      DDSDDE(1,2)=ALAMDA
      DDSDDE(1,3)=ALAMDA
      DDSDDE(2,3)=ALAMDA      
      DDSDDE(2,1)=DDSDDE(1,2)
      DDSDDE(3,1)=DDSDDE(1,3)
      DDSDDE(3,2)=DDSDDE(2,3)
C      
      DO I=1,NTENS
        DO J=1,NTENS
        STRESS(I)=STRESS(I)+DDSDDE(I,J)*DSTRAN(J)
        ENDDO
      ENDDO
      RETURN
      END