Download lump5.eso

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer