C TIMGF1    SOURCE    AM        10/09/20    21:15:24     6756
      SUBROUTINE TIMGF1(COORD,DEPLA,VECT,GRAD,WORK)
C-----------------------------------------------------------------------
C  ROUTINE DE CALCUL DES GRADIENTS DE FLEXION POUR LA POUTRE DROITE
C  DE TIMOSHENKO SIMPLE OU MULTI-FIBRE
C
C  ENTREE
C          DEPLA   DEPLACEMENTS
C          VECT    ORIENTATION DE L'AXE OY LOCAL
C          COORD   COORDONNEES DES 2 NOEUDS
C
C  SORTIE
C          GRAD    GRADIENTS DE FLEXION  AU CENTRE 3 PAR NOEUD
C  TRAVAIL
C          WORK(300)
C-----------------------------------------------------------------------
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION WORK(*)
      DIMENSION GRAD(*),COORD(3,*),VECT(3),P(3,3),
     .          XE(2),YE(2),ZE(2),DEPLA(*)
C
      DO I=1,2
        XE(I)=COORD(1,I)
        YE(I)=COORD(2,I)
        ZE(I)=COORD(3,I)
      ENDDO
      XL=(XE(2)-XE(1))**2+(YE(2)-YE(1))**2+(ZE(2)-ZE(1))**2
      XL=SQRT(XL)
C
C  CALCUL DE LA MATRICE DE PASSAGE
C
      CALL POUPAS(XE,YE,ZE,VECT,P,KERRE)
C
C  PASSAGE DES DEPLACEMENTS EN AXES LOCAUX
C
      CALL POUVEC(DEPLA,WORK,P,1)
C
C  CALCUL DES GRADIENTS DE FLEXION AU CENTRE
C
      GRAD(1)=(WORK(10)-WORK(4))/XL
      GRAD(2)=(WORK(11)-WORK(5))/XL
      GRAD(3)=(WORK(12)-WORK(6))/XL
      RETURN
      END


