C TIMGR1    SOURCE    AM        10/09/20    21:15:26     6756
      SUBROUTINE TIMGR1(COORD,DEPLA,VECT,GRAD,WORK)
C-----------------------------------------------------------------------
C  ROUTINE DE CALCUL DES GRADIENTS 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 AU CENTRE 6 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 AU CENTRE
C
      GRAD(1)=(WORK(7)-WORK(1))/XL
      GRAD(2)=(WORK(8)-WORK(2))/XL
      GRAD(3)=(WORK(9)-WORK(3))/XL
      RETURN
      END


