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