C TIMBS2    SOURCE    CHAT      05/01/13    03:40:00     5004
C TIMBSG    SOURCE    AM        94/02/25    22:58:49     1061
      SUBROUTINE TIMBS2(FORCE,COORD,CONT,WORK,KERRE)
C-----------------------------------------------------------------------
C  ROUTINE DE CALCUL DES FORCES INTERNES B*SIGMA EN 2D
C             POUR LA POUTRE DROITE DE TIMOSHENKO SIMPLE ET MULTI-FIBRE
C
C  ENTREE
C          CONT    CONTRAINTES
C          VECT    ORIENTATION DE L'OY LOCAL
C          COORD   COORDONNEES DES 2 NOEUDS
C
C  SORTIE
C          FORCE   FORCES INTERNES
C          KERRE   INDICE D'ERREUR ( 0 SI PAS DE PB )
C  TRAVAIL
C          WORK(300)
C
C
C     DC 15/4/98 Passage en 2D d'apres TIMBSG
C-----------------------------------------------------------------------
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION CONT(*),COORD(3,*),P(2,2),
     .          XE(2),YE(2),FORCE(*),WORK(*)
      DATA P5/0.5D0/
C
      KERRE=0
      DO 2 I=1,2
      XE(I)=COORD(1,I)
  2   YE(I)=COORD(2,I)
      XL=(XE(2)-XE(1))**2+(YE(2)-YE(1))**2
      XL=SQRT(XL)
      IF(XL.EQ.0.) GO TO 999
C
C  VALEURS MOYENNES DANS L ELEMENT
C
C FX
      WORK(1) =-CONT(1)
      WORK(4) = CONT(1)
C FY
      WORK(2) =-CONT(2)
      WORK(5) = CONT(2)
C MZ
      WORK(3) =-CONT(3)  - CONT(2)*P5*XL
      WORK(6)= CONT(3)  - CONT(2)*P5*XL
C
C  CALCUL DE LA MATRICE DE PASSAGE
C
      CALL POUPA2(XE,YE,P,KERRE)
      IF(KERRE.NE.0) RETURN
C
C  PASSAGE DES FORCES EN AXES GLOBAUX
C
      CALL POUVE2(WORK,FORCE,P,2)
      RETURN
999   KERRE=1
      RETURN
      END


