Télécharger gradif.eso

Retour à la liste

Numérotation des lignes :

gradif
  1. C GRADIF SOURCE AM 11/05/26 21:15:35 6982
  2. SUBROUTINE GRADIF (da, force, q, Gradfs, Gradfq)
  3. C Routine permettant le calcul des dérivées de la surface de charge par rapport à l'effort et au vecteur force et d'écrouissage
  4.  
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. DIMENSION da(20),force(5),q(5),Gradfs(5),Gradfq(5),Xk9(4)
  8. *
  9. a=da(8)
  10. b=da(9)
  11. c=da(10)
  12. d=da(11)
  13. e=da(12)
  14. f=da(13)
  15.  
  16. gamma=1.
  17. if (force(1).le.0) then
  18. Xnum1=0
  19. Xnum2=0
  20. else
  21. Xnum1=((force(1))**c)*((gamma-force(1))**d)
  22. Xnum2=((force(1))**(c-e))*((gamma-force(1))**(d-f))
  23. endif
  24. Xk1 = force(2)/a
  25. Xk2 = force(3)*Xnum2/b
  26. Xk3 = force(4)/a
  27. Xk4 = force(5)*Xnum2/b
  28. Xk5 = q(1)*Xnum1
  29. Xk6 = q(2)*Xnum1
  30. Xk7 = q(3)*Xnum1
  31. Xk8 = q(4)*Xnum1
  32.  
  33. Xk9(1)=Xk1-Xk5
  34. Xk9(2)=Xk2-Xk6
  35. Xk9(3)=Xk3-Xk7
  36. Xk9(4)=Xk4-Xk8
  37.  
  38. if (force(1).le.0) then
  39. Xnum3=0
  40. Xnum4=0
  41. else
  42. Xnum3 = c*((force(1))**(c-1))*((gamma-force(1))**d)
  43. & -d*((force(1))**c)*((gamma-force(1))**(d-1))
  44. Xnum4 =(c-e)*((force(1))**(c-e-1))*((gamma-force(1))**(d-f))
  45. & -(d-f)*((force(1))**(c-e))*((gamma-force(1))*(d-f-1))
  46. endif
  47.  
  48. Gradfs(1) = -2*(Xk9(1)*q(1)*Xnum3-Xk9(2)
  49. & *(force(3)/b*Xnum4-q(2)*Xnum3) + Xk9(3)*q(3)*Xnum3
  50. & -Xk9(4)*(force(5)/b*Xnum4-q(4)*Xnum3)
  51. & +q(5)**2*Xnum1*Xnum3)
  52.  
  53. Gradfs(2) = 2*Xk9(1)/a
  54. Gradfs(3) = 2*Xk9(2)*Xnum2/b
  55. Gradfs(4) = 2*Xk9(3)/a
  56. Gradfs(5) = 2*Xk9(4)*Xnum2/b
  57.  
  58. if (force(1).le.0) then
  59. Xnum5=0
  60. Xnum6=0
  61. else
  62. Xnum5=((force(1))**c)*((gamma-force(1))**(d-1))
  63. Xnum6=((force(1))**(c-e))*((gamma-force(1))**(d-f-1))
  64. endif
  65.  
  66. Gradfq(1) = -2*Xk9(1)*Xnum1
  67. Gradfq(2) = -2*Xk9(2)*Xnum1
  68. Gradfq(3) = -2*Xk9(3)*Xnum1
  69. Gradfq(4) = -2*Xk9(4)*Xnum1
  70. Gradfq(5) = -2*q(5)*Xnum1**2
  71.  
  72. return
  73. end
  74.  
  75.  

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