lump5
C LUMP5 SOURCE CHAT 05/01/13 01:27:12 5004 c==================================================================== c c utilisé par l'opérateur LUMP pour le coq2 c c remplissage de RE à partir de c rel (lre,lre) matrice de rigidite triangulaire c inferieure. 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 c c on suppsoe que RE est initialisée à 0 c c==================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION REL(LRE,*),RE(LRE,*) * * * NTRA = 2 IF (IFOUR .EQ. 1) NTRA = 3 c on traite ux uy uz c boucle sur les noeuds DO 430 I=1,2 c boucle sur les ddl ux uy uz locaux DO 420 J=1,NTRA IDERIJ = (NTRA+1)*(I-1) + J SUM = 0.D0 DO 410 K=1,2 DO 400 L=1,NTRA IDERKL= (NTRA+1)*(K-1)+L SUM = SUM + REL(IDERIJ,IDERKL) 400 CONTINUE 410 CONTINUE RE(IDERIJ,IDERIJ) = SUM 420 CONTINUE 430 CONTINUE c c on traite maintenant les ddl de rotation c TRAC = REL(NTRA+1,NTRA+1) + REL(2*NTRA+2,2*NTRA+2) RE(NTRA+1,NTRA+1) = TRAC / 2.D0 RE(2*NTRA+2,2*NTRA+2) = RE(3,3) * * cas des déformations planes généralisées * la diagonalisation est différente pour les ddl transverses IF ( IFOUR .EQ. -3) THEN * inconnue RX RE(LRE-1,LRE-1)=(REL(LRE-1,LRE-1)+REL(LRE,LRE))/2.D0 * inconue RY RE(LRE,LRE)=RE(LRE-1,LRE-1) * inconnue UZ RE(LRE-2,LRE-2)=RE(LRE-1,LRE-1) ENDIF * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales