3
3
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,JSTEP,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)
double precision y
double precision E, G
double precision A, B, C
integer k1, k2
E0=props(1)
v=props(2)
k=props(3)
y=coords(2)
if(kinc==1)then
statev(1)=y
else
statev(1)=statev(1)
endif
E=E0+k*statev(1)
statev(2)=E
G=E/(2*(1+v))
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
RETURN
END