Download lump6.eso

Back to the list

   1 : C LUMP6     SOURCE    CHAT      05/01/13    01:27:17     5004           
   2 :       SUBROUTINE LUMP6(REL,LRE,RE)
   3 : c====================================================================
   4 : c
   5 : c     utilisé par l'opérateur lump pour les éléments pout timo et tuya
   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 ddl de rotation on prend la trace divisée par le
  16 : c     nombre de termes
  17 : c
  18 : c     ce travail est realisé dans le repere global
  19 : c
  20 : c     on suppsoe que re est initialisée à 0
  21 : c
  22 : c====================================================================
  23 :       IMPLICIT INTEGER(I-N)
  24 :       IMPLICIT REAL*8(A-H,O-Z)
  25 :       DIMENSION REL(LRE,*),RE(LRE,*)
  26 : *
  27 : *
  28 : *
  29 : c      on traite ux uy uz
  30 : c       boucle sur les noeuds
  31 :       NTRA = 3
  32 :       IF (LRE .NE. 12 ) THEN
  33 :         WRITE(*,*) 'Erreur dans lump6.eso'
  33 :         CALL ERREUR(5)
  34 :       ENDIF
  35 :  
  36 :       DO 430 I=1,2
  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,2
  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 :               RE(IDERIJ,IDERIJ) = SUM
  48 :  420      CONTINUE
  49 :  430  CONTINUE
  50 : c
  51 : c        on traite maintenant rx ry rz
  52 : c
  53 :       NTRA = 3
  54 :       TRAC = 0.D0
  55 : c       boucle sur les noeuds
  56 :       DO 530 I=1,2
  57 : c         boucle sur les ddl rx ry rz
  58 :           DO 520 J=1,NTRA
  59 :               IDERIJ = (NTRA+3)*(I-1) + 3 + J
  60 :               TRAC = TRAC + REL(IDERIJ,IDERIJ)
  61 :  520      CONTINUE
  62 :  530  CONTINUE
  63 : c
  64 :       DO 630 I=1,2
  65 : c         boucle sur les ddl rx ry rz  remplir re()
  66 :           DO 620 J=1,NTRA
  67 :               IDERIJ = (NTRA+3)*(I-1) + 3 + J
  68 :               RE(IDERIJ,IDERIJ) = TRAC / 6.D0
  69 :  620      CONTINUE
  70 :  630  CONTINUE
  71 : *
  72 :       RETURN
  73 :       END
  74 :  
  75 :  

© Cast3M 2003 - All rights reserved.
Disclaimer