Download lump7.eso

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer