C HOOKMU    SOURCE    CHAT      05/01/13    00:25:47     5004
      SUBROUTINE HOOKMU(EPAIST,EXCEN,LHOOK,DDHOOK,DDHOMU)
*=======================================================================
*
* ENTREES
*     EPAIST       = EPAISSEUR
*     EXCEN        = EXCEN   POUR ELEMENT MULTI COUCHE
*     DDHOOK(LHOOK,LHOOK) = MATRICE DE HOOKE
*     LHOOK        = TAILLE MATRICE DE HOOKE
*  SORTIES
*     DDHOMU(LHOOK,LHOOK)=  1 BLOC 3 3  * EPAIST
*                         2 3 BLOC 3 3 * EPAIST*EXCEN
*                    4 BLOC 3 3 * (EPAIST**3)/12+EPAIST*EXCEN*EXCEN
*    EBERSOLT MAI 86
*
*=======================================================================
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      PARAMETER (UNDOU = .83333 33333 33333D-1)
      PARAMETER (XMAX = 1.D-10)
      DIMENSION DDHOOK(LHOOK,*),DDHOMU(LHOOK,*)
*
*       MISE A ZERO
*
      CALL ZERO(DDHOMU,LHOOK,LHOOK)
*
      EEAA = EPAIST*EXCEN
      EEEE = EEAA*EXCEN + EPAIST*EPAIST*EPAIST*UNDOU
*
*     ON MULTIPLIE
*
      IF (LHOOK.EQ.4) THEN
        DO 30 IC=1,2
          DO 30 ID=1,2
            DDHOMU(ID,IC ) = DDHOOK(ID,IC)*EPAIST
            DDHOMU(ID,IC+2) = DDHOOK(ID,IC)*EEAA
            DDHOMU(ID+2,IC ) = DDHOOK(ID,IC)*EEAA
            DDHOMU(ID+2,IC+2) = DDHOOK(ID+2,IC+2)*EEEE
   30   CONTINUE
      ELSE IF (LHOOK.EQ.6.OR.LHOOK.EQ.8) THEN
        DO 40 IC=1,3
          DO 40 ID=1,3
            DDHOMU(ID,IC ) = DDHOOK(ID,IC )*EPAIST
            DDHOMU(ID,IC+3) = DDHOOK(ID,IC )*EEAA
            DDHOMU(ID+3,IC ) = DDHOOK(ID,IC )*EEAA
            DDHOMU(ID+3,IC+3) = DDHOOK(ID+3,IC+3)*EEEE
   40   CONTINUE
      ENDIF
*
*      CAS DES COQUES AVEC CISAILLEMENT TRANSVERSE
*
      IF (LHOOK.EQ.8) THEN
        DO 50 IC=7,8
          DO 50 ID=7,8
            DDHOMU(ID,IC) = DDHOOK(ID,IC)*EPAIST
   50   CONTINUE
      ENDIF
*
      RETURN
      END

