Télécharger dslambda.eso

Retour à la liste

Numérotation des lignes :

dslambda
  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.  
  21. call ddsigrank(sigma,d2gt,1,2,3,4,5,6,lcp,parahot3,idimpara3)
  22. call ddsiggc(sigma,d2gc,ag,P2,pi2,1,6,fc,fb,lcp)
  23.  
  24. call mulAB(H66,d2gt,trav66,6,6,6,6)
  25. do jloc=1,6
  26. do iloc=1,6
  27. trav66(iloc,jloc) = Dlambdat * trav66(iloc,jloc)
  28. end do
  29. enddo
  30. call mulAB(H66,d2gc,trav66b,6,6,6,6)
  31. do jloc=1,6
  32. do iloc=1,6
  33. trav66b(iloc,jloc) = Dlambdac * trav66b(iloc,jloc)
  34. end do
  35. enddo
  36. do jloc=1,6
  37. do iloc=1,6
  38. B1(iloc,jloc) = U(iloc,jloc) + trav66(iloc,jloc) +
  39. . trav66b(iloc,jloc)
  40. end do
  41. enddo
  42. call invert9(B1,6,6)
  43.  
  44. call dsigRank(sigma,dgt,3,6,parahot3,idimpara3,rkappait,lcp)
  45. call dsiggc(sigma,dgc,ag,P2,pi2,1,6,fc,fb,lcp)
  46.  
  47. call mulAB(H66,dgt,trav6,6,6,6,1)
  48. call mulAB(H66,dgc,trav6b,6,6,6,1)
  49.  
  50. call mulAB(B1,trav6,dsiglt,6,6,6,1)
  51. call mulAB(B1,trav6b,dsiglc,6,6,6,1)
  52.  
  53. do iloc=1,6
  54. dsiglt(iloc) = -dsiglt(iloc)
  55. dsiglc(iloc) = -dsiglc(iloc)
  56. enddo
  57.  
  58. RETURN
  59. END
  60.  
  61.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales