t4ct2
C T4CT2 SOURCE CHAT 05/01/13 03:30:18 5004 C======================================================================= C C CALCUL TENSORIEL C = A : D C C - C TENSEUR D ORDRE 2 symetrique C - A TENSEUR D ORDRE 4 C - D TENSEUR D ORDRE 2 symetrique C C Remarque : En entree le tenseur D est en notation de VOIGT C======================================================================== C C CREATION : F.CORMERY C E.N.S.M.A - LMPM C DEC 1992 C C======================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C************************************************************************ C DIMENSION ET DATA C************************************************************************ C N9 N18 DIMENSION A(3,3,3,3),B(6),CC(6),D(3,3),C(3,3) C************************************************************************ C PASSAGE DU TENSEUR B : tenseur d ordre 1 en tenseur d ordre 2 C************************************************************************ D(1,1)=B(1) D(2,2)=B(2) D(3,3)=B(3) D(2,3)=B(4) D(3,2)=B(4) D(1,3)=B(5) D(3,1)=B(5) D(1,2)=B(6) D(2,1)=B(6) C************************************************************************ C CALCUL DU PRODUIT TENSORIEL : C = A : D C************************************************************************ DO 10 I=1,3 DO 10 J=1,3 C(I,J)=0.D0 DO 10 K=1,3 DO 10 L=1,3 C(I,J)=C(I,J)+A(I,J,K,L)*D(K,L) 10 CONTINUE C------------------------------------------------------------------------ C Verification C------------------------------------------------------------------------ DO 20 I=1,3 DO 20 J=1,3 IF(ABS(C(I,J)-C(J,I)).GT.1E-5)THEN WRITE(MT,1000) 1000 FORMAT(1X,'ERREUR DANS T4CT2C.FOR : TENSEUR A+ non symetrique') DO 21 M=1,3 WRITE(MT,*)(C(M,N),N=1,3) 21 CONTINUE C STOP ENDIF 20 CONTINUE C************************************************************************ C PASSAGE DU TENSEUR C EN NOTATION DE VOIGT C************************************************************************ CC(1)=C(1,1) CC(2)=C(2,2) CC(3)=C(3,3) CC(4)=C(2,3) CC(5)=C(1,3) CC(6)=C(1,2) C------------------------------------------------------------------------ DO 132 I=1,6 IF(ABS(CC(I)).LE.1E-15)CC(I)=0.D0 132 CONTINUE C------------------------------------------------------------------------ RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales