DDEMSD(6,J)=DDEMSD(6,J)-SLPSPN(3,J)*STRESS(2) END IF
IF (NDI.GT.2) THEN
DDEMSD(5,J)=DDEMSD(5,J)-SLPSPN(2,J)*STRESS(3) DDEMSD(6,J)=DDEMSD(6,J)+SLPSPN(3,J)*STRESS(3) END IF
IF (NSHR.GE.1) THEN
DDEMSD(1,J)=DDEMSD(1,J)+SLPSPN(1,J)*STRESS(NDI+1) DDEMSD(2,J)=DDEMSD(2,J)-SLPSPN(1,J)*STRESS(NDI+1) DDEMSD(5,J)=DDEMSD(5,J)-SLPSPN(3,J)*STRESS(NDI+1) DDEMSD(6,J)=DDEMSD(6,J)+SLPSPN(2,J)*STRESS(NDI+1) END IF
IF (NSHR.GE.2) THEN
DDEMSD(1,J)=DDEMSD(1,J)-SLPSPN(2,J)*STRESS(NDI+2) DDEMSD(3,J)=DDEMSD(3,J)+SLPSPN(2,J)*STRESS(NDI+2) DDEMSD(4,J)=DDEMSD(4,J)+SLPSPN(3,J)*STRESS(NDI+2) DDEMSD(6,J)=DDEMSD(6,J)-SLPSPN(1,J)*STRESS(NDI+2) END IF
IF (NSHR.EQ.3) THEN
DDEMSD(2,J)=DDEMSD(2,J)+SLPSPN(3,J)*STRESS(NDI+3) DDEMSD(3,J)=DDEMSD(3,J)-SLPSPN(3,J)*STRESS(NDI+3) DDEMSD(4,J)=DDEMSD(4,J)-SLPSPN(2,J)*STRESS(NDI+3) DDEMSD(5,J)=DDEMSD(5,J)+SLPSPN(1,J)*STRESS(NDI+3) END IF
END DO END IF
C----- Shear strain-rate in a slip system at the start of increment: C FSLIP, and its derivative: DFDXSP C
ID=1
DO I=1,NSET
IF (I.GT.1) ID=ID+NSLIP(I-1)
CALL STRAINRATE (STATEV(NSLPTL+ID), STATEV(2*NSLPTL+ID), 2 STATEV(ID), NSLIP(I), FSLIP(ID), DFDXSP(ID), 3 PROPS(65+8*I)) END DO
C----- Self- and latent-hardening laws
CFIXA
CALL LATENTHARDEN (STATEV(NSLPTL+1), STATEV(2*NSLPTL+1), 2 STATEV(1), STATEV(9*NSLPTL+1),
3 STATEV(10*NSLPTL+1), NSLIP, NSLPTL, 4 NSET, H(1,1), PROPS(97), ND) CFIXB
C----- LU decomposition to solve the increment of shear strain in a C slip system C
TERM1=THETA*DTIME DO I=1,NSLPTL
TAUSLP=STATEV(2*NSLPTL+I) GSLIP=STATEV(I) X=TAUSLP/GSLIP
TERM2=TERM1*DFDXSP(I)/GSLIP TERM3=TERM1*X*DFDXSP(I)/GSLIP
DO J=1,NSLPTL TERM4=0. DO K=1,6
TERM4=TERM4+DDEMSD(K,I)*SLPDEF(K,J) END DO
WORKST(I,J)=TERM2*TERM4+H(I,J)*TERM3*DSIGN(1.D0,FSLIP(J))
IF (NITRTN.GT.0) WORKST(I,J)=WORKST(I,J)+TERM3*DHDGDG(I,J)
END DO
WORKST(I,I)=WORKST(I,I)+1. END DO
CALL LUDCMP (WORKST, NSLPTL, ND, INDX, DDCMP)
C----- Increment of shear strain in a slip system: DGAMMA TERM1=THETA*DTIME DO I=1,NSLPTL
IF (NITRTN.EQ.0) THEN
TAUSLP=STATEV(2*NSLPTL+I) GSLIP=STATEV(I) X=TAUSLP/GSLIP
TERM2=TERM1*DFDXSP(I)/GSLIP
DGAMMA(I)=0. DO J=1,NDI
DGAMMA(I)=DGAMMA(I)+DDEMSD(J,I)*DSTRAN(J) END DO
IF (NSHR.GT.0) THEN DO J=1,NSHR
DGAMMA(I)=DGAMMA(I)+DDEMSD(J+3,I)*DSTRAN(J+NDI) END DO END IF
DGAMMA(I)=DGAMMA(I)*TERM2+FSLIP(I)*DTIME
ELSE
DGAMMA(I)=TERM1*(FSLIP(I)-FSLIP1(I))+FSLIP1(I)*DTIME 2 -DGAMOD(I)
END IF
END DO
CALL LUBKSB (WORKST, NSLPTL, ND, INDX, DGAMMA)
DO I=1,NSLPTL
DGAMMA(I)=DGAMMA(I)+DGAMOD(I) END DO
C----- Update the shear strain in a slip system: STATEV(NSLPTL+1) - C STATEV(2*NSLPTL) C
DO I=1,NSLPTL
STATEV(NSLPTL+I)=STATEV(NSLPTL+I)+DGAMMA(I)-DGAMOD(I) END DO
C----- Increment of current strength in a slip system: DGSLIP DO I=1,NSLPTL DGSLIP(I)=0. DO J=1,NSLPTL
DGSLIP(I)=DGSLIP(I)+H(I,J)*ABS(DGAMMA(J)) END DO END DO
C----- Update the current strength in a slip system: STATEV(1) -
C STATEV(NSLPTL) C
DO I=1,NSLPTL
STATEV(I)=STATEV(I)+DGSLIP(I)-DGSPOD(I) END DO
C----- Increment of strain associated with lattice stretching: DELATS DO J=1,6
DELATS(J)=0. END DO
DO J=1,3
IF (J.LE.NDI) DELATS(J)=DSTRAN(J) DO I=1,NSLPTL
DELATS(J)=DELATS(J)-SLPDEF(J,I)*DGAMMA(I) END DO END DO
DO J=1,3
IF (J.LE.NSHR) DELATS(J+3)=DSTRAN(J+NDI) DO I=1,NSLPTL
DELATS(J+3)=DELATS(J+3)-SLPDEF(J+3,I)*DGAMMA(I) END DO END DO
C----- Increment of deformation gradient associated with lattice C stretching in the current state, i.e. the velocity gradient
C (associated with lattice stretching) times the increment of time: C DVGRAD (only needed for finite rotation) C
IF (NLGEOM.NE.0) THEN DO J=1,3 DO I=1,3
IF (I.EQ.J) THEN
DVGRAD(I,J)=DELATS(I) ELSE
DVGRAD(I,J)=DELATS(I+J+1) END IF END DO END DO
DO J=1,3 DO I=1,J
IF (J.GT.I) THEN