C DOHPTR    SOURCE    CHAT      05/01/12    22:54:04     5004
      SUBROUTINE DOHPTR(VELA,MATE,IFOU,WORK,LHOOK,DDHOOK,IRET)
C
C=======================================================================
C
C  MATRICE DE HOOK DES POUTRES
C
C  ENTREES
C     VELA() = materiau dans un tableau de travail
C     MATE   = Nom du materiau
C     IFOU   = num{ro d'harmonique de  fourier: IFOUR de CCOPTIO
C     WORK   = tabbleau contenant les caracteristiques de poutres
C     LHOOK  = taille de la matrice de hooke
C
C  SORTIES
C     DDHOOK(LHOOK,LHOOK) = matrice de hooke
C     IRET = 1 si option existante 0 SINON
C
C     Passage en nouveau CHAMELEM par I.Monnier le 4 05 90
C=======================================================================
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      CHARACTER*8 MATE
C
      DIMENSION VELA(*),DDHOOK(LHOOK,*),WORK(*)
C
      IRET=1
      CALL ZERO(DDHOOK,LHOOK,LHOOK)
C
C  ON RECUPERE LES CARACTERISTIQUES
C
      XINX=WORK(1)
      XINY=WORK(2)
      XINZ=WORK(3)
      SD=WORK(4)
      SREDY=WORK(5)
      SREDZ=WORK(6)
C
C  MATERIAU ISOTROPE
C
      IF(MATE.EQ.'ISOTROPE') THEN
C
C  LA MATRICE EST DIAGONALE
C
      IF(IFOU.EQ.2) THEN
      YOU=VELA(1)
      XNU=VELA(2)
      CISA=YOU*0.5D0/(1.D0+XNU)
C
      DDHOOK(1,1)=YOU*SD
      DDHOOK(2,2)=CISA*SREDY
      DDHOOK(3,3)=CISA*SREDZ
      DDHOOK(4,4)=CISA*XINX
      DDHOOK(5,5)=YOU*XINY
      DDHOOK(6,6)=YOU*XINZ
C
          ELSE
          IRET=0
          ENDIF
      ELSE
      IRET=0
      ENDIF
      RETURN
      END

