C BAREP3    SOURCE    CHAT      05/01/12    21:33:47     5004
C BAREP3    SOURCE    DJER      89/05/26    22:54:40
      SUBROUTINE BAREP3(XE,DEPLA,DEFO,QSIGAU,POIGAU,NBPGAU,IB)
C-----------------------------------------------------------------------
C  ROUTINE DE CALCUL DES DEFORMATIONS POUR LA BARRE
C
C  ENTREE
C          DEPLA   DEPLACEMENTS
C          XE   XEONNEES NOEUDS
C
C  SORTIE
C          DEFO    DEFORMATION AUX POINTS D INTEGRATION
C-----------------------------------------------------------------------
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)

-INC PPARAM
-INC CCOPTIO
      DIMENSION DEFO(*),XE(3,*),V(3),B3(3),DEPLA(*),U(3)
      DIMENSION QSIGAU(*),POIGAU(*)
C
      KERRE=0
      V(3)=0.D0
      DO 1 I=1,IDIM
  1   V(I)=XE(I,3)-XE(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
*
      DO 2 I=1,3
      U(I)=0.D0
      DO 3 J=1,IDIM
       IG=(I-1)*IDIM+J
       U(I)=U(I)+(DEPLA(IG)*V(J))/XL
  3   CONTINUE
  2   CONTINUE
*
      DO 5 IGAU=1,NBPGAU
         X1=XL/2.D0*(QSIGAU(IGAU)+1.D0)
         B3(1)=(4.D0*X1/XL-3.D0)/XL
         B3(2)=(4.D0-8.D0*X1/XL)/XL
         B3(3)=(4.D0*X1/XL-1.D0)/XL
         DEFO(IGAU)=B3(1)*U(1)+B3(2)*U(2)+B3(3)*U(3)
  5   CONTINUE
C--------------------------------------------
*      NRE=LRE
*      WRITE(*,*) '**  DEPLA GLOBAL BAR3 (dans barep3)** ELEME:',IB
*      WRITE(*,1991) (DEPLA(IC),IC=1,NRE)
*      WRITE(*,*) '**  U LOCAL BAR3 (dans barep3)** '
*      WRITE(*,1991) (U(IC),IC=1,3)
*      WRITE(*,*) '**  QSIGAU   NBPGAU=',NBPGAU,'XL=',XL
*      WRITE(*,1991) (QSIGAU(IC),IC=1,NBPGAU)
*      WRITE(*,*) '**  POIGAU   '
*      WRITE(*,1991) (POIGAU(IC),IC=1,NBPGAU)
*      WRITE(*,*) '**  B BAR3 (dans barep3)** '
*      WRITE(*,1991) (B3(IC),IC=1,3)
*      WRITE(*,*) '**  DEFO BAR3 (dans barep3)** '
*      WRITE(*,1991) (DEFO(IC),IC=1,3)
*1991  FORMAT(18(1X,E12.5))
C--------------------------------------------
 100  CONTINUE
      RETURN
 999  KERRE=1
      RETURN
      END


