4
4
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)
double precision v, E, G, A, B, C
IF (CMNAME(1:4) .EQ. 'MAT1') THEN
C young's modulus :
E=PROPS(1)
C poisson's ratio :
v=PROPS(2)
G=E/(2*(1+v))
C determination of DDSDDE :
C most of the elements of DDSDDE are zero . so first we generate a zero matrix
and then edit it .
DO K1=1, NDI
DO K2=1, NDI
DDSDDE(K1, K2)=0
END DO
END DO
A=(E*(v-1))/(2*(v**2)+v-1)
B=(-E*v)/(2*(v**2)+v-1)
C=G
C editing nonzero elements of DDSDDE :
DDSDDE(1,1)=A
DDSDDE(1,2)=B
DDSDDE(1,3)=B
DDSDDE(2,1)=B
DDSDDE(2,2)=A
DDSDDE(2,3)=B
DDSDDE(3,1)=B
DDSDDE(3,2)=B
DDSDDE(3,3)=A
DDSDDE(4,4)=C
DDSDDE(5,5)=C
DDSDDE(6,6)=C
C calculation of stresses
DO K1=1, NTENS
DO K2=1, NTENS
STRESS(K1)=STRESS(K1)+DDSDDE(K1, K2)*DSTRAN(K2)
END DO
END DO
ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THEN
C young's modulus :
E=PROPS(1)
C poisson's ratio :
v=PROPS(2)
G=E/(2*(1+v))
C determination of DDSDDE :
C most of the elements of DDSDDE are zero . so first we generate a zero matrix
and then edit it .
DO K1=1, NDI
DO K2=1, NDI
DDSDDE(K1, K2)=0
END DO
END DO
A=(E*(v-1))/(2*(v**2)+v-1)
B=(-E*v)/(2*(v**2)+v-1)
C=G
C editing nonzero elements of DDSDDE :
DDSDDE(1,1)=A
DDSDDE(1,2)=B
DDSDDE(1,3)=B
DDSDDE(2,1)=B
DDSDDE(2,2)=A
DDSDDE(2,3)=B
DDSDDE(3,1)=B
DDSDDE(3,2)=B
DDSDDE(3,3)=A
DDSDDE(4,4)=C
DDSDDE(5,5)=C
DDSDDE(6,6)=C
C calculation of stresses
DO K1=1, NTENS
DO K2=1, NTENS
STRESS(K1)=STRESS(K1)+DDSDDE(K1, K2)*DSTRAN(K2)
END DO
END DO
END IF
RETURN
END