Télécharger elpder.eso

Retour à la liste

Numérotation des lignes :

  1. C ELPDER SOURCE CHAT 05/01/12 23:36:25 5004
  2. SUBROUTINE ELPDER(XG,R,XR,XA,XB,XC,XDD,IDER,XVA)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * DERIVATION D'UNE FONCTION DANS 1,2,3,4 DIRECTION FIXES
  8. *
  9. * XG(1 A 5) F(R) ET SES 4 PREMIERES DERIVEES
  10. * XR LA DIRECTION UNITAIRE DE R
  11. * XA LA DIRECTION UNITAIRE DE DERIVATION 1
  12. * XB LA DIRECTION UNITAIRE DE DERIVATION 2
  13. * XC LA DIRECTION UNITAIRE DE DERIVATION 3
  14. * XDD LA DIRECTION UNITAIRE DE DERIVATION 4
  15. *
  16. *
  17. *
  18. * F,AB= A.RO B.RO F21 + A.B F22
  19. *
  20. *
  21. *
  22. * F,ABC= A.RO B.RO C.R0 F31 +( A.B C.RO + A.C B.RO + B.C A.RO) F3
  23. *
  24. * AVEC F31 = V''' - 3* V'' / R + 3*V' / R**2
  25. * F32 = V'' / R - V' / R**2
  26. *
  27. *
  28. * F,ABCD= A.RO B.RO C.R0 DRO F41
  29. * +( AD BRO CRO + 5 PERMUTATIONS ABCD )F42
  30. * +( AC BD + 2 PERMUTATIONS ABCD )F43
  31. *
  32. * AVEC F41 = V'''' - 6* V''' / R + 15*V''/ R**2-15 V' / R
  33. * F42 = F31 / R
  34. * F43 = F32 / R
  35. *
  36. * RO VECTEUR XR
  37. ************************************************************************
  38. DIMENSION XG (5)
  39. DIMENSION XR (2)
  40. DIMENSION XA (2)
  41. DIMENSION XB (2)
  42. DIMENSION XC (2)
  43. DIMENSION XDD (2)
  44. *
  45. IF (IDER .EQ. 1 ) THEN
  46. F1 = XG(2)
  47. AR = XR(1)*XA(1) +XR(2)*XA(2)
  48. XVA = AR * F1
  49. ELSEIF( IDER .EQ. 2 ) THEN
  50. F21= XG(3) - XG(2) / R
  51. F22= XG(2)/R
  52. AR = XR(1)*XA(1) +XR(2)*XA(2)
  53. BR = XR(1)*XB(1) +XR(2)*XB(2)
  54. AB = XB(1)*XA(1) +XB(2)*XA(2)
  55. XVA = AR *BR* F21+ AB*F22
  56. ELSEIF( IDER .EQ. 3 ) THEN
  57. F31= XG(4) - (3 * XG(3) / R) + (3 * XG(2) / (R*R))
  58. F32= XG(3) / R - ( XG(2) / (R*R))
  59. AR = XR(1)*XA(1) +XR(2)*XA(2)
  60. BR = XR(1)*XB(1) +XR(2)*XB(2)
  61. CR = XR(1)*XC(1) +XR(2)*XC(2)
  62. AB = XA(1)*XB(1) +XA(2)*XB(2)
  63. AC = XA(1)*XC(1) +XA(2)*XC(2)
  64. BC = XB(1)*XC(1) +XB(2)*XC(2)
  65. XVA = (AR *BR* CR) * F31 +
  66. & (AC*BR + BC*AR + AB*CR) * F32
  67. ELSE
  68. F41= XG(5) - (6 * XG(4) / R) + (15* XG(3) / (R*R))
  69. & - (15* XG(2) / (R*R*R))
  70. F31= XG(4) - (3 * XG(3) / R) + (3 * XG(2) / (R*R))
  71. F42 = F31 / R
  72. F32= XG(3) / R - ( XG(2) / (R*R))
  73. F43 = F32 / R
  74.  
  75. AR = XR(1)*XA(1) +XR(2)*XA(2)
  76. BR = XR(1)*XB(1) +XR(2)*XB(2)
  77. CR = XR(1)*XC(1) +XR(2)*XC(2)
  78. DR = XR(1)*XDD(1) +XR(2)*XDD(2)
  79.  
  80. AB = XA(1)*XB(1) +XA(2)*XB(2)
  81. AC = XA(1)*XC(1) +XA(2)*XC(2)
  82. AD = XA(1)*XDD(1) +XA(2)*XDD(2)
  83. BC = XB(1)*XC(1) +XB(2)*XC(2)
  84. BD = XB(1)*XDD(1) +XB(2)*XDD(2)
  85. CD = XC(1)*XDD(1) +XC(2)*XDD(2)
  86. *
  87. XVA = (AR *BR* CR * DR) * F41 +
  88. & (AB*CR*DR + AC*BR*DR + AD*BR*CR
  89. & + BC*AR*DR + BD*AR*CR + CD*AR*BR ) * F42 +
  90. & (AC*BD + BC*AD + AB*CD ) * F43
  91. ENDIF
  92.  
  93. RETURN
  94. END
  95.  
  96.  

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