C DSLAMBDA SOURCE AM 12/02/28 21:15:10 7291 SUBROUTINE dsiglambda(x1,x2,P2,pi2,ag,fc,fb,lcp,rkappait, . parahot3,idimpara3,U,H66,sigma,dsiglt,dsiglc) c This subroutine calculates the DERIVATIVE OF THE STRESS VECTOR with respect to THE PLASTIC MULTIPLIER c corresponding to the plastic multipliers Dlambdat = x1 and Dlambdac = x2 IMPLICIT REAL*8 (A-B,D-H,O-Z) implicit integer (I-K,M,N) implicit logical (L) implicit character*10 (C) dimension sigma(6),d2gc(6,6),d2gt(6,6),trav66(6,6),H66(6,6) dimension trav66b(6,6),B1(6,6),dgt(6),dgc(6),trav6(6) dimension trav6b(6),dsiglt(6),dsiglc(6),pi2(6),P2(6,6) dimension parahot3(idimpara3),U(6,6) Dlambdat = x1 Dlambdac = x2 call ddsigrank(sigma,d2gt,1,2,3,4,5,6,lcp,parahot3,idimpara3) call ddsiggc(sigma,d2gc,ag,P2,pi2,1,6,fc,fb,lcp) call mulAB(H66,d2gt,trav66,6,6,6,6) do jloc=1,6 do iloc=1,6 trav66(iloc,jloc) = Dlambdat * trav66(iloc,jloc) end do enddo call mulAB(H66,d2gc,trav66b,6,6,6,6) do jloc=1,6 do iloc=1,6 trav66b(iloc,jloc) = Dlambdac * trav66b(iloc,jloc) end do enddo do jloc=1,6 do iloc=1,6 B1(iloc,jloc) = U(iloc,jloc) + trav66(iloc,jloc) + . trav66b(iloc,jloc) end do enddo call invert9(B1,6,6) call dsigRank(sigma,dgt,3,6,parahot3,idimpara3,rkappait,lcp) call dsiggc(sigma,dgc,ag,P2,pi2,1,6,fc,fb,lcp) call mulAB(H66,dgt,trav6,6,6,6,1) call mulAB(H66,dgc,trav6b,6,6,6,1) call mulAB(B1,trav6,dsiglt,6,6,6,1) call mulAB(B1,trav6b,dsiglc,6,6,6,1) do iloc=1,6 dsiglt(iloc) = -dsiglt(iloc) dsiglc(iloc) = -dsiglc(iloc) enddo RETURN END