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