Télécharger mfdkt2.eso

Retour à la liste

Numérotation des lignes :

mfdkt2
  1. C MFDKT2 SOURCE PV 07/11/23 21:17:52 5978
  2. SUBROUTINE MFDKT2 (X,Y,XEL,HDXY)
  3. ************************************************************************
  4. *
  5. * M F D K T 2
  6. * -----------
  7. *
  8. * FONCTION:
  9. * ---------
  10. *
  11. * CALCUL EN 1 POINT DE L'ELEMENT "DKT" DES DERIVEES SELON "X" ET "Y"
  12. * DE LA FONCTION DE FORME DE LA DEFLEXION.
  13. * (UTILE EN CAS D'EXCENTREMENT DE L'ELEMENT, POUR LE CALCUL DE LA
  14. * MATRICE-MASSE DUE A LA FLEXION)
  15. *
  16. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  17. * -----------
  18. *
  19. * X, Y (E) COORDONNEES REDUITES DU POINT DE L'ELEMENT.
  20. * XEL (E) COORDONNEES LOCALES DES NOEUDS DE L'ELEMENT
  21. * (1 NOEUD PAR COLONNE).
  22. * HDXY (S) DERIVEES DE LA FONCTION DE FORME DE LA DEFLEXION
  23. * (RANGEMENT "Z1", "TETAX1", "TETAY1", "Z2", ...).
  24. * HDXY(1..9) = DERIVEE PAR RAPPORT A "X",
  25. * HDXY(10..18) = DERIVEE PAR RAPPORT A "Y".
  26. *
  27. IMPLICIT INTEGER(I-N)
  28. IMPLICIT REAL *8 (a-h,o-z)
  29. REAL*8 X,Y,XEL(3,3),HDXY(18)
  30. *
  31. * VARIABLES:
  32. * ----------
  33. *
  34. REAL*8 Z,A,C
  35. *
  36. * CONSTANTES:
  37. * -----------
  38. *
  39. REAL*8 O1,O2,O3,O6
  40. PARAMETER (O1=1.D0, O2=2.D0, O3=3.D0, O6=6.D0)
  41. *
  42. * AUTEUR, DATE DE CREATION:
  43. * -------------------------
  44. *
  45. * PASCAL MANIGOT 11 JUIN 1987
  46. * P.M. 14/02/90: RECTIFICATION ET REMISE EN FORME DU PASSAGE DANS
  47. * LE REPERE GEOMETRIQUE LOCAL X-Y.
  48. *
  49. * LANGAGE:
  50. * --------
  51. *
  52. * FORTRAN77 + EXTENSION: DECLARATION "REAL*8".
  53. *
  54. ************************************************************************
  55. *
  56. Z = O1-X-Y
  57. *
  58. * DERIVEES PAR RAPPORT A "X":
  59. *
  60. A = Y*(Z-X)
  61. HDXY(1) = O6*Z*(Z-O1) + O2*A
  62. HDXY(2) = Z*(Z-O2*X) + A/O2
  63. HDXY(3) = -O2*Z*Y + A/O2
  64. HDXY(4) = O6*X*(O1-X) + O2*A
  65. HDXY(5) = O3*(X**2) - O2*X - A
  66. HDXY(6) = O2*X*Y + A/O2
  67. HDXY(7) = O2*A
  68. HDXY(8) = Y**2 + A/O2
  69. HDXY(9) = -A
  70. *
  71. * DERIVEES PAR RAPPORT A "Y":
  72. *
  73. A = X*(Z-Y)
  74. HDXY(10) = O6*Z*(Z-O1) + O2*A
  75. HDXY(11) = -O2*Z*X + A/O2
  76. HDXY(12) = Z*(Z-O2*Y) + A/O2
  77. HDXY(13) = O2*A
  78. HDXY(14) = - A
  79. HDXY(15) = X**2 + A/O2
  80. HDXY(16) = O6*Y*(O1-Y) + O2*A
  81. HDXY(17) = O2*X*Y + A/O2
  82. HDXY(18) = O3*(Y**2) - O2*Y - A
  83. *
  84. * PASSAGE DANS LE REPERE X,Y (DIRECTION "X" = COTE 1-2).
  85. *
  86. X21=XEL(1,2)-XEL(1,1)
  87. X31=XEL(1,3)-XEL(1,1)
  88. Y31=XEL(2,3)-XEL(2,1)
  89. X31Y31 = X31 / Y31
  90. X31X21 = X31 / X21
  91. X21Y31 = X21 / Y31
  92. *
  93. DO 100 IDX=0,6,3
  94. IDY = 9 + IDX
  95. HDXY(IDY+1) = HDXY(IDY+1)/Y31 - HDXY(IDX+1)*X31Y31/X21
  96. HDXY(IDX+1) = HDXY(IDX+1)/X21
  97. C = HDXY(IDX+2)*X31Y31 + HDXY(IDX+3)*X31X21*X31Y31
  98. & - HDXY(IDY+2)*X21Y31 - HDXY(IDY+3)*X31Y31
  99. HDXY(IDY+2) = HDXY(IDY+3) - HDXY(IDX+3)*X31X21
  100. HDXY(IDY+3) = C
  101. C = HDXY(IDX+3)/X21Y31
  102. HDXY(IDX+3) = - HDXY(IDX+2) - HDXY(IDX+3)*X31X21
  103. HDXY(IDX+2) = C
  104. 100 CONTINUE
  105. * END DO
  106. *
  107. END
  108.  
  109.  
  110.  

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