1 : C T4CT2 SOURCE CHAT 05/01/13 03:30:18 5004 2 : SUBROUTINE T4CT2(A,B,CC,MT) 3 : C======================================================================= 4 : C 5 : C CALCUL TENSORIEL C = A : D 6 : C 7 : C - C TENSEUR D ORDRE 2 symetrique 8 : C - A TENSEUR D ORDRE 4 9 : C - D TENSEUR D ORDRE 2 symetrique 10 : C 11 : C Remarque : En entree le tenseur D est en notation de VOIGT 12 : C======================================================================== 13 : C 14 : C CREATION : F.CORMERY 15 : C E.N.S.M.A - LMPM 16 : C DEC 1992 17 : C 18 : C======================================================================== 19 : IMPLICIT INTEGER(I-N) 20 : IMPLICIT REAL*8 (A-H,O-Z) 21 : C************************************************************************ 22 : C DIMENSION ET DATA 23 : C************************************************************************ 24 : C N9 N18 25 : DIMENSION A(3,3,3,3),B(6),CC(6),D(3,3),C(3,3) 26 : C************************************************************************ 27 : C PASSAGE DU TENSEUR B : tenseur d ordre 1 en tenseur d ordre 2 28 : C************************************************************************ 29 : D(1,1)=B(1) 30 : D(2,2)=B(2) 31 : D(3,3)=B(3) 32 : D(2,3)=B(4) 33 : D(3,2)=B(4) 34 : D(1,3)=B(5) 35 : D(3,1)=B(5) 36 : D(1,2)=B(6) 37 : D(2,1)=B(6) 38 : C************************************************************************ 39 : C CALCUL DU PRODUIT TENSORIEL : C = A : D 40 : C************************************************************************ 41 : DO 10 I=1,3 42 : DO 10 J=1,3 43 : C(I,J)=0.D0 44 : DO 10 K=1,3 45 : DO 10 L=1,3 46 : C(I,J)=C(I,J)+A(I,J,K,L)*D(K,L) 47 : 10 CONTINUE 48 : C------------------------------------------------------------------------ 49 : C Verification 50 : C------------------------------------------------------------------------ 51 : DO 20 I=1,3 52 : DO 20 J=1,3 53 : IF(ABS(C(I,J)-C(J,I)).GT.1E-5)THEN 54 : WRITE(MT,1000) 55 : 1000 FORMAT(1X,'ERREUR DANS T4CT2C.FOR : TENSEUR A+ non symetrique') 56 : DO 21 M=1,3 57 : WRITE(MT,*)(C(M,N),N=1,3) 58 : 21 CONTINUE 59 : C STOP 60 : ENDIF 61 : 20 CONTINUE 62 : C************************************************************************ 63 : C PASSAGE DU TENSEUR C EN NOTATION DE VOIGT 64 : C************************************************************************ 65 : CC(1)=C(1,1) 66 : CC(2)=C(2,2) 67 : CC(3)=C(3,3) 68 : CC(4)=C(2,3) 69 : CC(5)=C(1,3) 70 : CC(6)=C(1,2) 71 : C------------------------------------------------------------------------ 72 : DO 132 I=1,6 73 : IF(ABS(CC(I)).LE.1E-15)CC(I)=0.D0 74 : 132 CONTINUE 75 : C------------------------------------------------------------------------ 76 : RETURN 77 : END 78 : 79 :
© Cast3M 2003 - All rights reserved.
Disclaimer