Télécharger ddsiggc.eso

Retour à la liste

Numérotation des lignes :

  1. C DDSIGGC SOURCE CB215821 16/04/21 21:16:18 8920
  2. SUBROUTINE ddsiggc(sigma,d2gc,ag,P2,pi2,i1,i6,fc,fb,lcp)
  3.  
  4. c This subroutine calculates the second derivative of the plastic potential in compression
  5. c
  6. c Plastic potential: gc = SQRT(3 J2) + ag I1 with J2 : 2nd invariant of the deviatoric stress
  7. c and I1 : 1st invariant of the stress
  8.  
  9. IMPLICIT REAL*8 (A-B,D-H,O-Z)
  10. implicit integer (I-K,M,N)
  11. implicit logical (L)
  12. implicit character*10 (C)
  13.  
  14. dimension vloc(6),vloc1(1),pi2(6),vloc2(1,6)
  15. dimension d2gc(6,6),p2(i6,i6),sigma(6),vloc6(6,6)
  16.  
  17. r1 = 1.
  18. r2 = 2.
  19.  
  20. do jloc=1,6
  21. do iloc=1,6
  22. d2gc(iloc,jloc) = 0.d0
  23. enddo
  24. enddo
  25. call mulAB(P2,sigma,vloc,6,6,6,1)
  26. call mulATB(sigma,vloc,vloc1,6,1,6,1)
  27. rloc = 0.5d0 * vloc1(1)
  28. if (rloc.le.0.d0) then
  29. psi2 = 0.d0
  30. else
  31. psi2 = SQRT(rloc)
  32. endif
  33. call mulATB(sigma,P2,vloc2,6,1,6,6)
  34. call mulAB(vloc,vloc2,vloc6,6,1,1,6)
  35. test = ag*(sigma(1)+sigma(2)+sigma(3))
  36. psi2lim=max(1.E-7*test,1.d-3)
  37. if (ABS(psi2).le.psi2lim) then
  38. continue
  39. c d2gc = 0
  40. else
  41. do jloc=1,6
  42. do iloc=1,6
  43. d2gc(iloc,jloc)=(P2(iloc,jloc)/(2.0d0*psi2))
  44. . - (vloc6(iloc,jloc)/(4.0d0*psi2*psi2*psi2))
  45. enddo
  46. enddo
  47. endif
  48.  
  49. RETURN
  50. END
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  

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