Download dslambda.eso

Back to the list

   1 : C DSLAMBDA  SOURCE    AM        12/02/28    21:15:10     7291           
   2 :       SUBROUTINE dsiglambda(x1,x2,P2,pi2,ag,fc,fb,lcp,rkappait,
   3 :      .                  parahot3,idimpara3,U,H66,sigma,dsiglt,dsiglc)
   4 :      
   5 : c     This subroutine calculates the DERIVATIVE OF THE STRESS VECTOR with respect to THE PLASTIC MULTIPLIER 
   6 : c     corresponding to the plastic multipliers Dlambdat = x1 and Dlambdac = x2
   7 : 
   8 :       IMPLICIT REAL*8 (A-B,D-H,O-Z)
   9 :       implicit integer (I-K,M,N)
  10 :       implicit logical (L)
  11 :       implicit character*10 (C)
  12 :       
  13 :       dimension sigma(6),d2gc(6,6),d2gt(6,6),trav66(6,6),H66(6,6)
  14 :       dimension trav66b(6,6),B1(6,6),dgt(6),dgc(6),trav6(6)
  15 :       dimension trav6b(6),dsiglt(6),dsiglc(6),pi2(6),P2(6,6)
  16 :       dimension parahot3(idimpara3),U(6,6)
  17 :            
  18 :       Dlambdat = x1
  19 :       Dlambdac = x2
  20 :       
  20 :       call ddsigrank(sigma,d2gt,1,2,3,4,5,6,lcp,parahot3,idimpara3)
  20 :       call ddsiggc(sigma,d2gc,ag,P2,pi2,1,6,fc,fb,lcp)
  21 :       
  21 :       call mulAB(H66,d2gt,trav66,6,6,6,6)
  22 :       do jloc=1,6
  23 :         do iloc=1,6
  24 :           trav66(iloc,jloc) = Dlambdat * trav66(iloc,jloc)
  25 :         end do
  26 :       enddo
  26 :       call mulAB(H66,d2gc,trav66b,6,6,6,6)
  27 :       do jloc=1,6
  28 :         do iloc=1,6
  29 :           trav66b(iloc,jloc) = Dlambdac * trav66b(iloc,jloc)
  30 :         end do
  31 :       enddo
  32 :       do jloc=1,6
  33 :         do iloc=1,6
  34 :           B1(iloc,jloc) = U(iloc,jloc) + trav66(iloc,jloc) + 
  35 :      .                                   trav66b(iloc,jloc)
  36 :         end do
  37 :       enddo
  37 :       call invert9(B1,6,6)
  38 :       
  38 :       call dsigRank(sigma,dgt,3,6,parahot3,idimpara3,rkappait,lcp)
  38 :       call dsiggc(sigma,dgc,ag,P2,pi2,1,6,fc,fb,lcp)
  39 :       
  39 :       call mulAB(H66,dgt,trav6,6,6,6,1)
  39 :       call mulAB(H66,dgc,trav6b,6,6,6,1)
  40 :       
  40 :       call mulAB(B1,trav6,dsiglt,6,6,6,1)
  40 :       call mulAB(B1,trav6b,dsiglc,6,6,6,1)
  41 :       
  42 :       do iloc=1,6
  43 :         dsiglt(iloc) = -dsiglt(iloc)
  44 :         dsiglc(iloc) = -dsiglc(iloc)
  45 :       enddo
  46 :       
  47 :       RETURN
  48 :       END
  49 :  

© Cast3M 2003 - All rights reserved.
Disclaimer