C BARKSG    SOURCE    CHAT      05/01/12    21:34:27     5004
      SUBROUTINE BARKSG(REL,LRE,EFFORT,COORD,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          EFFORT  EFFORT
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-----------------------------------------------------------------------
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)

-INC PPARAM
-INC CCOPTIO
      DIMENSION REL(LRE,*),COORD(3,*),V(3)
C
      KERRE=0
      V(3)=0.
      DO 1 I=1,IDIM
  1   V(I)=COORD(I,2)-COORD(I,1)
      XL=(V(1)*V(1)+V(2)*V(2)+V(3)*V(3))
      XL=SQRT(XL)
      IF(XL.EQ.0.) GO TO 999
C
      FAC=EFFORT/XL
      DO 2 I=1,IDIM
      II=I+IDIM
      REL(I,I)=FAC
      REL(II,I)=-FAC
      REL(I,II)=-FAC
  2   REL(II,II)=FAC
      RETURN
999   KERRE=1
      RETURN
      END

