C HOOKMU    SOURCE    CB215821  26/08/24    21:16:44     12622          
      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 51 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
   51   CONTINUE
      ELSE IF (LHOOK.EQ.6.OR.LHOOK.EQ.8) THEN
        DO 52 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
   52   CONTINUE
      ENDIF
*
*      CAS DES COQUES AVEC CISAILLEMENT TRANSVERSE
*
      IF (LHOOK.EQ.8) THEN
        DO 53 IC=7,8
          DO 50 ID=7,8
            DDHOMU(ID,IC) = DDHOOK(ID,IC)*EPAIST
   50   CONTINUE
   53   CONTINUE
      ENDIF
*
      RETURN
      END

 
