Télécharger derivo.eso

Retour à la liste

Numérotation des lignes :

  1. C DERIVO SOURCE CB215821 16/04/21 21:16:24 8920
  2. SUBROUTINE DERIVO (SX,SY,RL,ABSI,ORD,HS4,HS5,HS6,EXX,EYY,
  3. / HXABS,HXORD,HYABS,HYORD)
  4. C
  5. C********************************************************************
  6. C CE SOUS PROGRAMME CALCULE LES DERIVEES DES FONCTIONS DE
  7. C FORME DES ROTATIONS BETAX ET BETAY
  8. C********************************************************************
  9. C
  10. IMPLICIT INTEGER(I-N)
  11. IMPLICIT REAL*8 (A-H,O-Z)
  12. DIMENSION EXX(3),EYY(3),HS4(9),HS5(9),HS6(9)
  13. DIMENSION HXABS(9),HXORD(9),HYABS(9),HYORD(9)
  14. DIMENSION DNABS(6),DNDORD(6)
  15. DIMENSION SX(3),SY(3),RL(3)
  16. *
  17. DNABS(1)=-3.D0+4.D0*ABSI+4.D0*ORD
  18. DNDORD(1)=DNABS(1)
  19. DNABS(2)=4.D0*ABSI-1.D0
  20. DNDORD(2)=0.D0
  21. DNABS(3)=0.D0
  22. DNDORD(3)=4.D0*ORD-1.D0
  23. DNABS(4)=4.D0*ORD
  24. DNDORD(4)=4.D0*ABSI
  25. DNABS(5)=-4.D0*ORD
  26. DNDORD(5)=4.D0-4.D0*ABSI-8.D0*ORD
  27. DNABS(6)=4.D0-8.D0*ABSI-4.D0*ORD
  28. DNDORD(6)=-4.D0*ABSI
  29. C
  30. DO 60 I=1,9
  31. HXABS(I)=EXX(1)*DNABS(4)*HS4(I)+EXX(2)*DNABS(5)*HS5(I)
  32. A+EXX(3)*DNABS(6)*HS6(I)
  33. 60 CONTINUE
  34. HXABS(2)=HXABS(2)-(-0.5D0*DNABS(5)*EYY(2)*EXX(2)
  35. A-0.5D0*DNABS(6)*EYY(3)*EXX(3))
  36. HXABS(3)=HXABS(3)-(-DNABS(1)-0.5D0*DNABS(5)*(EYY(2)**2)
  37. A-0.5D0*DNABS(6)*(EYY(3)**2))
  38. HXABS(5)=HXABS(5)-(-0.5D0*DNABS(6)*EYY(3)*EXX(3)
  39. A-0.5D0*DNABS(4)*EYY(1)*EXX(1))
  40. HXABS(6)=HXABS(6)-(-DNABS(2)-0.5D0*DNABS(6)*(EYY(3)**2)
  41. A-0.5D0*DNABS(4)*(EYY(1)**2))
  42. HXABS(8)=HXABS(8)-(-0.5D0*DNABS(4)*EYY(1)*EXX(1)
  43. A-0.5D0*DNABS(5)*EYY(2)*EXX(2))
  44. HXABS(9)=HXABS(9)-(-DNABS(3)-0.5D0*DNABS(4)*(EYY(1)**2)
  45. A-0.5D0*DNABS(5)*(EYY(2)**2))
  46. DO 70 I=1,9
  47. HXORD(I)=EXX(1)*DNDORD(4)*HS4(I)+EXX(2)*DNDORD(5)*HS5(I)
  48. A+EXX(3)*DNDORD(6)*HS6(I)
  49. 70 CONTINUE
  50. HXORD(2)=HXORD(2)-(-0.5D0*DNDORD(5)*EYY(2)*EXX(2)
  51. A-0.5D0*DNDORD(6)*EYY(3)*EXX(3))
  52. HXORD(3)=HXORD(3)-(-DNDORD(1)-0.5D0*DNDORD(5)*(EYY(2)**2)
  53. A-0.5D0*DNDORD(6)*(EYY(3)**2))
  54. HXORD(5)=HXORD(5)-(-0.5D0*DNDORD(6)*EYY(3)*EXX(3)
  55. A-0.5D0*DNDORD(4)*EYY(1)*EXX(1))
  56. HXORD(6)=HXORD(6)-(-DNDORD(2)-0.5D0*DNDORD(6)*(EYY(3)**2)
  57. A-0.5D0*DNDORD(4)*(EYY(1)**2))
  58. HXORD(8)=HXORD(8)-(-0.5D0*DNDORD(4)*EYY(1)*EXX(1)
  59. A-0.5D0*DNDORD(5)*EYY(2)*EXX(2))
  60. HXORD(9)=HXORD(9)-(-DNDORD(3)-0.5D0*DNDORD(4)*(EYY(1)**2)
  61. A-0.5D0*DNDORD(5)*(EYY(2)**2))
  62. DO 80 I=1,9
  63. HYABS(I)=EYY(1)*DNABS(4)*HS4(I)+EYY(2)*DNABS(5)*HS5(I)
  64. A+EYY(3)*DNABS(6)*HS6(I)
  65. 80 CONTINUE
  66. HYABS(2)=HYABS(2)-(+0.5D0*DNABS(5)*EXX(2)*EXX(2)
  67. A+0.5D0*DNABS(6)*EXX(3)*EXX(3)+DNABS(1))
  68. HYABS(3)=HYABS(3)-(+0.5D0*DNABS(5)*EYY(2)*EXX(2)
  69. A+0.5D0*DNABS(6)*EYY(3)*EXX(3))
  70. HYABS(5)=HYABS(5)-(+0.5D0*DNABS(6)*EXX(3)*EXX(3)
  71. A+0.5D0*DNABS(4)*EXX(1)*EXX(1))-DNABS(2)
  72. HYABS(6)=HYABS(6)-(+0.5D0*DNABS(6)*EYY(3)*EXX(3)
  73. A+0.5D0*DNABS(4)*EYY(1)*EXX(1))
  74. HYABS(8)=HYABS(8)-(+0.5D0*DNABS(4)*EXX(1)*EXX(1)
  75. A+0.5D0*DNABS(5)*EXX(2)*EXX(2)+DNABS(3))
  76. HYABS(9)=HYABS(9)-(+0.5D0*DNABS(4)*EYY(1)*EXX(1)
  77. A+0.5D0*DNABS(5)*EYY(2)*EXX(2))
  78. DO 90 I=1,9
  79. HYORD(I)=EYY(1)*DNDORD(4)*HS4(I)+EYY(2)*DNDORD(5)*HS5(I)
  80. A+EYY(3)*DNDORD(6)*HS6(I)
  81. 90 CONTINUE
  82. HYORD(2)=HYORD(2)-(+0.5D0*DNDORD(5)*EXX(2)*EXX(2)
  83. A+0.5D0*DNDORD(6)*EXX(3)*EXX(3)+DNDORD(1))
  84. HYORD(3)=HYORD(3)-(+0.5D0*DNDORD(5)*EYY(2)*EXX(2)
  85. A+0.5D0*DNDORD(6)*EYY(3)*EXX(3))
  86. HYORD(5)=HYORD(5)-(+0.5D0*DNDORD(6)*EXX(3)*EXX(3)
  87. A+0.5D0*DNDORD(4)*EXX(1)*EXX(1))-DNDORD(2)
  88. HYORD(6)=HYORD(6)-(+0.5D0*DNDORD(6)*EYY(3)*EXX(3)
  89. A+0.5D0*DNDORD(4)*EYY(1)*EXX(1))
  90. HYORD(8)=HYORD(8)-(+0.5D0*DNDORD(4)*EXX(1)*EXX(1)
  91. A+0.5D0*DNDORD(5)*EXX(2)*EXX(2)+DNDORD(3))
  92. HYORD(9)=HYORD(9)-(+0.5D0*DNDORD(4)*EYY(1)*EXX(1)
  93. A+0.5D0*DNDORD(5)*EYY(2)*EXX(2))
  94. RETURN
  95. END
  96.  
  97.  
  98.  
  99.  
  100.  

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