lump7
C LUMP7 SOURCE CHAT 05/01/13 01:27:23 5004 c==================================================================== c c utilisé par l'opérateur lump pour les éléments coq6 et coq8 c c remplissage de re à partir de c rel (lre,lre) matrice de rigidite triangulaire c inferieure. c c nbno est les nombre de noeuds c c on diagonalise la matrice en somme les termes de la c meme lignes, somme que l'on met sur la diagonale c pour les dd de translation c c pour les ddl de rotation on prend la trace divisée par le c nombre de termes c c ce travail est realisé dans le repere global c c on suppose que re est initialisée à 0 c c==================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION REL(LRE,*),RE(LRE,*) * * * c on traite ux uy uz c boucle sur les noeuds SUM2 = 0.D0 SUM3 = 0.D0 NTRA = 3 c boucle sur les ddl ux uy uz locaux DO 420 J=1,NTRA IDERIJ = (NTRA+3)*(I-1) + J SUM = 0.D0 DO 400 L=1,NTRA IDERKL= (NTRA+3)*(K-1)+L SUM = SUM + REL(IDERIJ,IDERKL) 400 CONTINUE 410 CONTINUE SUM2 = SUM2 + REL(IDERIJ,IDERIJ) SUM3 = SUM3 + SUM RE(IDERIJ,IDERIJ) = SUM 420 CONTINUE 430 CONTINUE c c si il s'agit du tri6 il faut appliquer la méthode HRZ sur les translations c RAP = SUM3/SUM2 c boucle sur les ddl ux uy uz locaux DO 720 J=1,NTRA IDERIJ = (NTRA+3)*(I-1) + J RE(IDERIJ,IDERIJ) = REL(IDERIJ,IDERIJ)*RAP 720 CONTINUE 730 CONTINUE ENDIF c c on traite maintenant rx ry rz c NTRA = 3 TRAC = 0.D0 c boucle sur les noeuds c boucle sur les ddl rx ry rz DO 520 J=1,NTRA IDERIJ = (NTRA+3)*(I-1) +3 + J TRAC = TRAC + REL(IDERIJ,IDERIJ) 520 CONTINUE 530 CONTINUE c c boucle sur les ddl rx ry rz remplir re() DO 620 J=1,NTRA IDERIJ = (NTRA+3)*(I-1) +3 + J 620 CONTINUE 630 CONTINUE * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales