C POUKSG SOURCE CHAT 05/01/13 02:19:11 5004 SUBROUTINE POUKSG(REL,LRE,CONT,CARAC,COORD,WORK,KERRE) C----------------------------------------------------------------------- C ROUTINE DE CALCUL DE LA MATRICE DE RAIDEUR GEOMETRIQUE DE L ELEMENT D C POUTRE DROITE DANS LES AXES GLOBAUX C C ENTREE C LRE DIMENSION DU TABLEAU REL C CONT CONTRAINTES C CARAC TABLEAU DE CARACTERISTIQUES GEOMETRIQUES C DE LA POUTRE ( 9 VALEURS ) C COORD COORDONNEES DES 2 NOEUDS C C SORTIE C REL MATRICE DE RIGIDITE GEOMETRIQUE ELEMENTAIRE C KERRE CODE D ERREUR NON NUL SI PROBLEME , NUL SINON C TRAVAIL C WORK(300) C C MAI 85 MILLARD C----------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION REL(LRE,*),CARAC(*),COORD(3,*),VECT(3),P(3,3), . XE(2),YE(2),ZE(2),WORK(*),CONT(*) C KERRE=0 DO 1 I=1,3 1 VECT(I)=CARAC(6+I) DO 2 I=1,2 XE(I)=COORD(1,I) YE(I)=COORD(2,I) 2 ZE(I)=COORD(3,I) XL=(XE(2)-XE(1))**2+(YE(2)-YE(1))**2+(ZE(2)-ZE(1))**2 XL=SQRT(XL) IF(XL.EQ.0.) GO TO 999 C C CALCUL DE LA RIGIDITE EN AXES LOCAUX C SIGM=0.5D00*(CONT(1)+CONT(7)) CALL POKSLO(WORK,XL,SIGM) C C CALCUL DE LA MATRICE DE PASSAGE C CALL POUPAS(XE,YE,ZE,VECT,P,KERRE) IF(KERRE.NE.0) RETURN C C PASSAGE DE LA MATRICE DE RIGIDITE EN AXES GLOBAUX C CALL POUROT(REL,LRE,P,WORK) RETURN 999 KERRE=1 RETURN END