## You are here

# changing density for FGM in umat

Hello friends,

Here is the Abaqus user subroutine for Functionally Graded Material with direct integration method. This Umat is based on S.H.Song's Umat. Obviously the coefficient AAA in calculating E is the ratio of young moduli of two sides of the plate. With this method, one can change young modulus through the thickness.

But I have problem with changing density through the thickness, meaning from density of ceramic to density of metal.

I would be grateful if anyone can help me. Any help would be appreciated.

*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*80 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)

C Determine material properties based on global coordinates of gauss points.

C COORDS(1) is X-coordinates of gauss points.

C COORDS(2) is Y-coordinates of gauss points.

C COORDS(3) is Z-coordinates of gauss points.

C PROPS is defined by users.

C The function can be also defined by users.

C

C------------- CHNGE -------------------------------------------------------------------------------C

C---------------------------------------------------------------------------------------------------C

E=PROPS(1)*EXP(AAA*COORDS(1))

V=PROPS(2)

C---------------------------------------------------------------------------------------------------C

C---------------------------------------------------------------------------------------------------C

C

C Determine Lame's constantes

C amu is mu

C alambeda is lambda

AMU=E/2.0d0/(1.0d0+V)

ALAMBDA=E*V/(1.0d0+V)/(1.0d0-2*V)

C

C

C Determine the tangant or Jacobian matrix

C

C NDI is number of normal stresses

C NSHR is number of shear stresses

C NTENS is dimension of constitutive matrix

C

C

DO I=1,NDI

DO J=1,NDI

if (I.eq.J) then

ddsdde(I,I)=ALAMBDA+2*AMU

else

ddsdde(I,J)=ALAMBDA

endif

ENDDO

ENDDO

DO I=NDI+1,NTENS

ddsdde(I,I)=AMU

ENDDO

C

C Determine the stress and update the stress

C

DO I=1,NTENS

DO J=1,NTENS

STRESS(I)=STRESS(I)+ddsdde(I,J)*DSTRAN(J)

ENDDO

ENDDO

C

RETURN

END

## Recent comments