1 : C CHREP3 SOURCE CHAT 05/01/12 22:01:54 5004 2 : SUBROUTINE CHREP3(ENT,SOR,XMAT,TXR,NSTRS,ICLE,IND,KERRE) 3 : * 4 : IMPLICIT INTEGER(I-N) 5 : IMPLICIT REAL*8(A-H,O-Z) 6 : -INC CCOPTIO 7 : DIMENSION ENT(*),SOR(*),XMAT(*) 8 : DIMENSION ROTS(10,10),TXR(3,*) 9 : DIMENSION XLOC(3,3),XGLOB(3,3) 10 : PARAMETER(DEUX=2.D0) 11 : 12 : C 13 : C---------------------------------------------- 14 : C CETTE ROUTINE PERMET DE CHANGER DE REPERE 15 : C UN CHAMP DE CONTRAINTE (ICLE=1) 16 : C OU UN CHAMP DE DEFORMATION (ICLE=2) 17 : C d'apres CHREP 18 : C CAS MASSIF 3D 19 : C 20 : C 21 : C EN PRATIQUE, IL FAUDRAIT PLUTOT APPELER 22 : C LES SOUS PROGRAMMES UTILISES DANS RTENS 23 : C---------------------------------------------- 24 : C 25 : IF(ICLE.EQ.1) THEN 26 : FAC1=1.D0 27 : FAC2=2.D0 28 : ELSE 29 : FAC1=2.D0 30 : FAC2=1.D0 31 : ENDIF 32 : * 32 : CALL ZERO(XGLOB,3,3) 32 : CALL ZERO(ROTS,10,10) 33 : * 34 : XLOC(1,1)=XMAT(3) 35 : IF(IND.EQ.1) THEN 36 : XLOC(2,1)=XMAT(4) 37 : XLOC(1,2)=XMAT(6) 38 : ELSE 39 : XLOC(2,1)=-XMAT(4) 40 : XLOC(1,2)=-XMAT(6) 41 : ENDIF 42 : XLOC(3,1)=XMAT(5) 43 : XLOC(2,2)=XMAT(7) 44 : XLOC(3,2)=XMAT(8) 45 : C 45 : CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR) 46 : * 47 : DO 1045 K=1,3 48 : DO 1045 J=1,3 49 : DO 1045 I=1,3 50 : XGLOB(K,J)=TXR(J,I)*XLOC(I,K)+XGLOB(K,J) 51 : 1045 CONTINUE 52 : * 53 : DO 1050 IC=1,3 54 : DO 1050 IL=1,3 55 : ROTS(IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC) 56 : 1050 CONTINUE 57 : C 58 : DO 1060 IL=1,3 59 : ROTS(IL,4)=FAC2*XGLOB(IL,1)*XGLOB(IL,2) 60 : ROTS(IL,5)=FAC2*XGLOB(IL,2)*XGLOB(IL,3) 61 : ROTS(IL,6)=FAC2*XGLOB(IL,1)*XGLOB(IL,3) 62 : 1060 CONTINUE 63 : C 64 : DO 1065 IC=1,3 65 : ROTS(4,IC)=FAC1*XGLOB(1,IC)*XGLOB(2,IC) 66 : ROTS(5,IC)=FAC1*XGLOB(2,IC)*XGLOB(3,IC) 67 : ROTS(6,IC)=FAC1*XGLOB(1,IC)*XGLOB(3,IC) 68 : 1065 CONTINUE 69 : C 70 : DO 1070 IL=4,6 71 : IL1=IL-3 72 : IL2=IL1+1 73 : IF(IL2.GT.3)IL2=IL2-3 74 : DO 1070 IC=4,6 75 : IC1=IC-3 76 : IC2=IC1+1 77 : IF(IC2.GT.3)IC2=IC2-3 78 : ROTS(IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+ 79 : . XGLOB(IL1,IC2)*XGLOB(IL2,IC1) 80 : 1070 CONTINUE 81 : DO 1075 IC=1,6 82 : AA=ROTS(6,IC) 83 : ROTS(6,IC)=ROTS(5,IC) 84 : ROTS(5,IC)=AA 85 : 1075 CONTINUE 86 : DO 1080 IL=1,6 87 : AA=ROTS(IL,6) 88 : ROTS(IL,6)=ROTS(IL,5) 89 : ROTS(IL,5)=AA 90 : 1080 CONTINUE 91 : * 92 : * CHGT D'AXES 93 : * 94 : DO 1090 I=1,6 95 : SOR(I)=0.D0 96 : DO 1090 J=1,6 97 : SOR(I)= SOR(I) +ROTS(I,J)*ENT(J) 98 : 1090 CONTINUE 99 : * 100 : RETURN 101 : END 102 : 103 : 104 :
© Cast3M 2003 - All rights reserved.
Disclaimer