lump2
C LUMP2 SOURCE CHAT 05/01/13 01:26:58 5004 c==================================================================== c c utilisé par l'opérateur LUMP c c remplissage de RE à partir de c rel (lre,lre) matrice de rigidite triangulaire c inferieure. c c méthode HRZ c on diagonalise la matrice en conservant le rapport c des termes diagonaux de la matrice consistante c et en corrigeant pour assurer que la masse est conservée 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,*) * * IF ( IFOUR .EQ. -3) LRE=LRE-3 * * calcul de la masse de l'element * SUM1 = 0.D0 SUM2 = 0.D0 DO 200 IA=1,LRE DO 100 IB=1,LRE I = MAX(IA,IB) J = MIN(IA,IB) SUM1 = SUM1 + REL(I,J) 100 CONTINUE SUM2 = SUM2 + REL(IA,IA) 200 CONTINUE * * normalisation RAP = SUM1 / SUM2 DO 300 I=1,LRE RE(I,I)=REL(I,I)*RAP 300 CONTINUE * * 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+2,LRE+2)=(REL(LRE+2,LRE+2)+REL(LRE+3,LRE+3))/2.D0 * inconue RY RE(LRE+3,LRE+3)=RE(LRE+2,LRE+2) * inconnue UZ RE(LRE+1,LRE+1)=REL(LRE+1,LRE+1) LRE = LRE + 3 ENDIF * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales