C CHGREP1   SOURCE    CHAT      05/01/12    21:56:44     5004
      SUBROUTINE CHGREP1(COSA,SINA,DHOOK,LHOOK)
*---------------------------------------------------------------------*
*                                                                     *
*  PASSAGE DU REPERE LOCAL DES ELEMENTS AU REPERE D'ORTHOTROPIE       *
*  POUR LA MATRICE DE HOOKE DANS LE CAS DE L'ELEMENT DST              *
*                                                                     *
*---------------------------------------------------------------------*
*                                                                     *
*   ENTREES :                                                         *
*   ________                                                          *
*                                                                     *
*        COSA, SINA = A angle de rotation entre le repère local et le *
*                     repère d'orthotropie                            *
*        DHOOK      = matrice de HOOKE                                *
*        LHOOK      = taille de la matrice de HOOKE                   *
*                                                                     *
*   SORTIES :                                                         *
*   ________                                                          *
*                                                                     *
*        DHOOK      = matrice de HOOKE après le changement de repère  *
*                                                                     *
*---------------------------------------------------------------------*
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
*
      DIMENSION DHOOK(LHOOK,LHOOK),RO1HOO(3,3),D3HOO1(3,3)
      DIMENSION D3HOO2(3,3),D6HOO1(3,3)
      DIMENSION D6HOO2(3,3),RO4HOO(3,3),RO3HOO(3,3)
      DIMENSION RO2HOO(2,2),D2HOO1(2,2),D2HOO2(2,2)
      PARAMETER (DEUX=2.D0)
*
      CALL ZERO(D3HOO1,3,3)
      CALL ZERO(D3HOO2,3,3)
      CALL ZERO(D6HOO1,3,3)
      CALL ZERO(D6HOO2,3,3)
*
            DO 1000 I=1,3
             DO 1000 J=1,3
               D3HOO1(I,J) = DHOOK(I,J)
               D6HOO1(I,J) = DHOOK(I+3,J+3)
 1000       CONTINUE
*

            COS2 = COSA**2
            SIN2 = SINA**2
            SINCOS = SINA * COSA
            RO1HOO(1,1) = COS2
            RO1HOO(1,2) = SIN2
            RO1HOO(1,3) = - SINCOS
            RO1HOO(2,1) = SIN2
            RO1HOO(2,2) = COS2
            RO1HOO(2,3) =  SINCOS
            RO1HOO(3,1) = DEUX*SINCOS
            RO1HOO(3,2) = - DEUX*SINCOS
            RO1HOO(3,3) = COS2 - SIN2
C
C        PASSAGE DANS LE REPERE DE L'ELEMENT:
            CALL PRODT (D3HOO2,D3HOO1,RO1HOO,3,3)
            CALL PRODT (D6HOO2,D6HOO1,RO1HOO,3,3)
            DO 1150 I=1,3
             DO 1150 J=1,3
               DHOOK(I,J) = D3HOO2(I,J)
               DHOOK(I+3,J+3) = D6HOO2(I,J)
 1150       CONTINUE
*
C
            DO 1100 I=1,2
             DO 1100 J=1,2
               D2HOO1(I,J) = DHOOK(I+6,J+6)
 1100       CONTINUE
*
            RO2HOO(1,1) = COSA
            RO2HOO(1,2) = -SINA
            RO2HOO(2,1) = SINA
            RO2HOO(2,2) = COSA
            CALL PRODT (D2HOO2,D2HOO1,RO2HOO,2,2)
            DO 1200 I=1,2
             DO 1200 J=1,2
                DHOOK(6+I,6+J) = D2HOO2(I,J)
 1200       CONTINUE
*
      RETURN
      END








