Télécharger lump5.eso

Retour à la liste

Numérotation des lignes :

  1. C LUMP5 SOURCE CHAT 05/01/13 01:27:12 5004
  2. SUBROUTINE LUMP5(REL,LRE,RE,IFOUR)
  3. c====================================================================
  4. c
  5. c utilisé par l'opérateur LUMP pour le coq2
  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 on diagonalise la matrice en somme les termes de la
  12. c meme lignes, somme que l'on met sur la diagonale
  13. c pour les dd de translation
  14. c
  15. c pour les
  16. c
  17. c on suppsoe que RE est initialisée à 0
  18. c
  19. c====================================================================
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8(A-H,O-Z)
  22. DIMENSION REL(LRE,*),RE(LRE,*)
  23. *
  24. *
  25. *
  26. NTRA = 2
  27. IF (IFOUR .EQ. 1) NTRA = 3
  28. c on traite ux uy uz
  29. c boucle sur les noeuds
  30. DO 430 I=1,2
  31. c boucle sur les ddl ux uy uz locaux
  32. DO 420 J=1,NTRA
  33. IDERIJ = (NTRA+1)*(I-1) + J
  34. SUM = 0.D0
  35. DO 410 K=1,2
  36. DO 400 L=1,NTRA
  37. IDERKL= (NTRA+1)*(K-1)+L
  38. SUM = SUM + REL(IDERIJ,IDERKL)
  39. 400 CONTINUE
  40. 410 CONTINUE
  41. RE(IDERIJ,IDERIJ) = SUM
  42. 420 CONTINUE
  43. 430 CONTINUE
  44. c
  45. c on traite maintenant les ddl de rotation
  46. c
  47. TRAC = REL(NTRA+1,NTRA+1) + REL(2*NTRA+2,2*NTRA+2)
  48. RE(NTRA+1,NTRA+1) = TRAC / 2.D0
  49. RE(2*NTRA+2,2*NTRA+2) = RE(3,3)
  50. *
  51. * cas des déformations planes généralisées
  52. * la diagonalisation est différente pour les ddl transverses
  53. IF ( IFOUR .EQ. -3) THEN
  54. * inconnue RX
  55. RE(LRE-1,LRE-1)=(REL(LRE-1,LRE-1)+REL(LRE,LRE))/2.D0
  56. * inconue RY
  57. RE(LRE,LRE)=RE(LRE-1,LRE-1)
  58. * inconnue UZ
  59. RE(LRE-2,LRE-2)=RE(LRE-1,LRE-1)
  60. ENDIF
  61. *
  62. RETURN
  63. END
  64.  
  65.  
  66.  

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