C POUKS2    SOURCE    CB215821  26/10/26    21:15:55     12682          
C POUKS2    SOURCE    CHAT      89/05/26    21:32:11
      SUBROUTINE POUKS2(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,*),P(2,2),
     .          XE(2),YE(2),WORK(*),CONT(*)
C
      KERRE=0
      DO 2 I=1,2
      XE(I)=COORD(1,I)
      YE(I)=COORD(2,I)
  2   CONTINUE
      XL=(XE(2)-XE(1))**2+(YE(2)-YE(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(4))
      CALL POKSL2(WORK,XL,SIGM)
C
C  CALCUL DE LA MATRICE DE PASSAGE
C
      CALL POUPA2(XE,YE,P,KERRE)
      IF(KERRE.NE.0) RETURN
C
C  PASSAGE DE LA MATRICE DE RIGIDITE EN AXES GLOBAUX
C
      CALL POURO2(REL,LRE,P,WORK)
      RETURN
999   KERRE=1
      RETURN
      END


 
