C TIFILO    SOURCE    CB215821  26/08/24    21:18:35     12622          
      SUBROUTINE TIFILO(RP,XL,LHOOK,DDHOOK)
C-----------------------------------------------------------------------
C
C    ROUTINE DE CALCUL DE LA MATRICE DE RIGIDITE ELEMENTAIRE D UNE
C    POUTRE DROITE DE TIMOSHENKO MULTI-FIBRE EN AXES LOCAUX
C    "D APRES TEDEL"
C
C  ENTREE
C    XL      LONGUEUR
C    DDHOOK(LHOOK,LHOOK) MATRICE DE HOOK
C
C  SORTIE
C    RP      MATRICE DE RIGIDITE ELEMENTAIRE 12X12
C
C-----------------------------------------------------------------------
C     Pierre Pegon (ISPRA) Juillet/Aout 1993
C-----------------------------------------------------------------------
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION RP(12,*)
      DIMENSION DDHOOK(LHOOK,*)
C
C  INITIALISATIONS
C
      DO 121 I=1,12
        DO 120 J=1,12
          RP(I,J)=0.D0
  120   CONTINUE
  121 CONTINUE
C
      RL=1.D00/XL
C
C  REMPLISSAGE DE LA MATRICE
C  FX1
      RP( 1, 1)=DDHOOK( 1, 1)*RL
      RP( 1, 5)=DDHOOK( 1, 5)*RL
      RP( 1, 6)=DDHOOK( 1, 6)*RL
      RP( 1, 7)=-RP( 1, 1)
      RP( 1,11)=-RP( 1, 5)
      RP( 1,12)=-RP( 1, 6)
C  FY1
      RP( 2, 2)=DDHOOK( 2, 2)*RL
      RP( 2, 4)=DDHOOK( 2, 4)*RL
      RP( 2, 6)=DDHOOK( 2, 2)/2.0D0
      RP( 2, 8)=-RP( 2, 2)
      RP( 2,10)=-RP( 2, 4)
      RP( 2,12)= RP( 2, 6)
C  FZ1
      RP( 3, 3)=DDHOOK( 3, 3)*RL
      RP( 3, 4)=DDHOOK( 3, 4)*RL
      RP( 3, 5)=-DDHOOK( 3, 3)/2.0D0
      RP( 3, 9)=-RP( 3, 3)
      RP( 3,10)=-RP( 3, 4)
      RP( 3,11)= RP( 3, 5)
C  MX1
      RP( 4, 4)=DDHOOK( 4, 4)*RL
      RP( 4, 5)=-DDHOOK( 4, 3)/2.0D0
      RP( 4, 6)=DDHOOK( 4, 2)/2.0D0
      RP( 4, 8)=-DDHOOK( 4, 2)*RL
      RP( 4, 9)=-DDHOOK( 4, 3)*RL
      RP( 4,10)=-RP( 4, 4)
      RP( 4,11)=RP( 4, 5)
      RP( 4,12)=RP( 4, 6)
C  MY1
      RP( 5, 5)=DDHOOK( 5, 5)*RL+DDHOOK( 3, 3)/(4.0D0*RL)
      RP( 5, 6)=DDHOOK( 5, 6)*RL
      RP( 5, 7)=-DDHOOK( 5, 1)*RL
      RP( 5, 9)=DDHOOK( 3, 3)/2.0D0
      RP( 5,10)=DDHOOK( 3, 4)/2.0D0
      RP( 5,11)=-DDHOOK( 5, 5)*RL+DDHOOK( 3, 3)/(4.0D0*RL)
      RP( 5,12)=-RP( 5, 6)
C  MZ1
      RP( 6, 6)=DDHOOK( 6, 6)*RL+DDHOOK( 2, 2)/(4.0D0*RL)
      RP( 6, 7)=-DDHOOK( 6, 1)*RL
      RP( 6, 8)=-DDHOOK( 2, 2)/2.0D0
      RP( 6,10)=-DDHOOK( 2, 4)/2.0D0
      RP( 6,11)=-DDHOOK( 6, 5)*RL
      RP( 6,12)=-DDHOOK( 6, 6)*RL+DDHOOK( 2, 2)/(4.0D0*RL)
C  FX2
      RP( 7, 7)=RP( 1, 1)
      RP( 7,11)=RP( 1, 5)
      RP( 7,12)=RP( 1, 6)
C  FY2
      RP( 8, 8)=RP( 2, 2)
      RP( 8,10)=RP( 2, 4)
      RP( 8,12)=-RP( 2, 6)
C  FZ2
      RP( 9, 9)=RP( 3, 3)
      RP( 9,10)=RP( 3, 4)
      RP( 9,11)=-RP( 3, 5)
C  MX2
      RP(10,10)=RP( 4, 4)
      RP(10,11)=-RP( 4, 5)
      RP(10,12)=-RP( 4, 6)
C  MY2
      RP(11,11)=RP( 5, 5)
      RP(11,12)=RP( 5, 6)
C  MZ2
      RP(12,12)=RP( 6, 6)
C
      DO 122 I=1,11
        DO 9 J=I+1,12
          RP(J,I)=RP(I,J)
    9   CONTINUE
  122 CONTINUE
      RETURN
      END


 
