what's wrong with the UMAT subroutine

"'[email protected]' [email protected] [Abaqus]" <[email protected]> Fri, 7 Dec 2018 10:00:57 +0800
Newsgroups gmane.comp.mathematics.abaqus.user
Message-ID <[email protected]>
hi, 

    Thanks for your time and patience reading this email.

     Recently I've been trying to define a coordinate-dependent Young's modulus in a 2D plane stress model. I've write a user subroutine as below, but there's a error message ('Problem during compilation') when running the subroutine with ABAQUS/CAE. 

    Could anyone tell me what's going wrong with the subroutine?  Thanks again!  Frankey

      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),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)
     4 JSTEP(4)
C     VARIED YOUNG'S MODULUS WITH COORDINATE
      PARAMETER (poiss = .3D0, ONE = 1.D0, TWO= 2.D0, YY=20000.D0)
      X=COORDS(2)
      young = YY*X
      Lamda = young/(ONE - poiss*poiss)
      DO I=1,NTENS
       DO J=1,NTENS
        DDSDDE(I,J) = 0.
       ENDDO
      ENDDO
      DDSDDE(1,1) = Lamda
      DDSDDE(2,2) = Lamda
      DDSDDE(1,2) = Lamda*poiss
      DDSDDE(2,1) = Lamda*poiss
      DDSDDE(3,3) = (1.-poiss)*Lamda/TWO
      
      DO K=1,NTENS
       DO L=1,NTENS
          STRESS(K)=STRESS(K)+DDSDDE(K,L)* DSTRAIN(L)
       ENDDO
      ENDDO
      
      RETURN
      END




[email protected]