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