C POUMAS    SOURCE    CHAT      05/01/13    02:19:22     5004
      SUBROUTINE POUMAS(REL,LRE,CARAC,COORD,WORK,KERRE)
C-----------------------------------------------------------------------
C  ROUTINE DE CALCUL DE LA MATRICE DE MASSE ELEMENTAIRE DE L ELEMENT DE
C  POUTRE DROITE DANS LES AXES GLOBAUX
C
C  ENTREE
C          LRE     DIMENSION DU TABLEAU REL
C          CARAC   TABLEAU DE CARACTERISTIQUES GEOMETRIQUES ET
C                  MATERIELLES DE LA POUTRE  ( 10 VALEURS )
C          COORD   COORDONNEES DES 2 NOEUDS
C
C  SORTIE
C          REL     MATRICE DE MASSE ELEMENTAIRE
C          KERRE   INDICE NON NUL SI PROBLEME , NUL SINON
C  TRAVAIL
C          WORK(300)
C    VIENT DE TEDEL AOUT 84
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(*)
C
      KERRE=0
      XINY=CARAC(2)
      XINZ=CARAC(3)
C
C  CORRECTION STCAN LE 6/7/89 : ON PREND L'INERTIE POLAIRE EN TORSION
C
      XINX=XINY+XINZ
      SD=CARAC(4)
      DO 1 I=1,3
1     VECT(I)=CARAC(6+I)
      RHO=CARAC(10)
      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 MASSE EN AXES LOCAUX
C
      CALL POMALO(WORK,XL,RHO,SD,XINX,XINY,XINZ)
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 MASSE EN AXES GLOBAUX
C
      CALL POUROT(REL,LRE,P,WORK)
      RETURN
999   KERRE=1
      RETURN
      END

