Télécharger lump7.eso

Retour à la liste

Numérotation des lignes :

  1. C LUMP7 SOURCE CHAT 05/01/13 01:27:23 5004
  2. SUBROUTINE LUMP7(REL,LRE,RE,NBNO)
  3. c====================================================================
  4. c
  5. c utilisé par l'opérateur lump pour les éléments coq6 et coq8
  6. c
  7. c remplissage de re à partir de
  8. c rel (lre,lre) matrice de rigidite triangulaire
  9. c inferieure.
  10. c
  11. c nbno est les nombre de noeuds
  12. c
  13. c on diagonalise la matrice en somme les termes de la
  14. c meme lignes, somme que l'on met sur la diagonale
  15. c pour les dd de translation
  16. c
  17. c pour les ddl de rotation on prend la trace divisée par le
  18. c nombre de termes
  19. c
  20. c ce travail est realisé dans le repere global
  21. c
  22. c on suppose que re est initialisée à 0
  23. c
  24. c====================================================================
  25. IMPLICIT INTEGER(I-N)
  26. IMPLICIT REAL*8(A-H,O-Z)
  27. DIMENSION REL(LRE,*),RE(LRE,*)
  28. *
  29. *
  30. *
  31. c on traite ux uy uz
  32. c boucle sur les noeuds
  33. SUM2 = 0.D0
  34. SUM3 = 0.D0
  35. NTRA = 3
  36. DO 430 I=1,NBNO
  37. c boucle sur les ddl ux uy uz locaux
  38. DO 420 J=1,NTRA
  39. IDERIJ = (NTRA+3)*(I-1) + J
  40. SUM = 0.D0
  41. DO 410 K=1,NBNO
  42. DO 400 L=1,NTRA
  43. IDERKL= (NTRA+3)*(K-1)+L
  44. SUM = SUM + REL(IDERIJ,IDERKL)
  45. 400 CONTINUE
  46. 410 CONTINUE
  47. SUM2 = SUM2 + REL(IDERIJ,IDERIJ)
  48. SUM3 = SUM3 + SUM
  49. RE(IDERIJ,IDERIJ) = SUM
  50. 420 CONTINUE
  51. 430 CONTINUE
  52. c
  53. c si il s'agit du tri6 il faut appliquer la méthode HRZ sur les translations
  54. c
  55. IF (NBNO .EQ. 6) THEN
  56. RAP = SUM3/SUM2
  57. DO 730 I=1,NBNO
  58. c boucle sur les ddl ux uy uz locaux
  59. DO 720 J=1,NTRA
  60. IDERIJ = (NTRA+3)*(I-1) + J
  61. RE(IDERIJ,IDERIJ) = REL(IDERIJ,IDERIJ)*RAP
  62. 720 CONTINUE
  63. 730 CONTINUE
  64. ENDIF
  65. c
  66. c on traite maintenant rx ry rz
  67. c
  68. NTRA = 3
  69. TRAC = 0.D0
  70. c boucle sur les noeuds
  71. DO 530 I=1,NBNO
  72. c boucle sur les ddl rx ry rz
  73. DO 520 J=1,NTRA
  74. IDERIJ = (NTRA+3)*(I-1) +3 + J
  75. TRAC = TRAC + REL(IDERIJ,IDERIJ)
  76. 520 CONTINUE
  77. 530 CONTINUE
  78. c
  79. DO 630 I=1,NBNO
  80. c boucle sur les ddl rx ry rz remplir re()
  81. DO 620 J=1,NTRA
  82. IDERIJ = (NTRA+3)*(I-1) +3 + J
  83. RE(IDERIJ,IDERIJ) = TRAC / 3.D0 / NBNO
  84. 620 CONTINUE
  85. 630 CONTINUE
  86. *
  87. RETURN
  88. END
  89.  
  90.  
  91.  

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