1 : C TUFIST SOURCE CHAT 05/01/13 03:56:20 5004 2 : SUBROUTINE TUFIST(VALMAT,XDDL,CAR,DD,BPSS,XDDLOC,XSTRS,KERRE) 3 : C================================================================= 4 : C CALCULE LES CONTRAINTES DU TUYAU FISSURE 5 : C ENTREES 6 : C VALMAT = TABLEAU DE MATERIAU 7 : C XDDL(12) = D.D.L. DU TUYAU FISSURE GLOBAUX 8 : C CAR(9) = CARACTERISTIQUES 9 : C CAR(1) = RAYON EXTERIEUR DU TUYAU 10 : C CAR(2) = EPAISSEUR DU TUYAU 11 : C CAR(3),CAR(4),CAR(5) AXE DU TUYAU 12 : C CAR(6),CAR(7),CAR(8) DIRECTION DE LA FISSU 13 : C CAR(9) = ANGLE DE LA FISSURE 14 : C DD(6,6) = MATRICE DE HOOKE 15 : C TRAVAIL 16 : C BPSS(3,3)= ... 17 : C XDDLOC(12) = D.D.L. LOCAUX 18 : C SORTIES 19 : C XSTRS(7) = CONTRAINTES 20 : C XSTRS(1),XSTRS(2),XSTRS(3) FORCES 21 : C XSTRS(4),XSTRS(5),XSTRS(6) MOMENTS 22 : C XSTRS(7) FACTEUR D INTENSITE DES CONTRAINTES 23 : C KERRE = CODE D'ERREUR CORRESPONDANT A LA POSITION RELATIVE DES 24 : C DEUX VECTEURS V1 ET V2 DEFINISSANT L'ELEMENT TUFI: 25 : C 0 SI PAS DE PROBLEME, 1 SINON. 26 : C 1 SI V2 EST NUL OU SI V1 ET V2 SONT COLINEAIRES. 27 : C 2 SI V1 EST NUL. 28 : C 3 SI TUYAU TROP EPAI 29 : C CODE EBERSOLT SEPTEMBRE 85 30 : C 31 : C================================================================= 32 : IMPLICIT INTEGER(I-N) 33 : IMPLICIT REAL*8(A-H,O-Z) 34 : C Include contenant quelques constantes dont XPI : 35 : -INC CCREEL 36 : PARAMETER(UN=1.D0,UNS2=.5D0,DEUX=2.D0) 37 : PARAMETER(EPS=1.D-10) 38 : C 39 : DIMENSION XDDL(*),V1(3),V2(3),BPSS(3,*),XDDLOC(*) 40 : DIMENSION XSTRS(*),DD(6,*),BV1(3),BV2(3),CAR(*) 41 : DIMENSION VALMAT(*) 42 : C 43 : C D6 = COEFFICIENT INTERVENANT POUR LES TERMES DE PENALISATION. 44 : C 45 : KERRE=0 46 : YOU=VALMAT(1) 47 : RAYO=CAR(1) 48 : EPAI=CAR(2) 49 : V1(1)=CAR(3) 50 : V1(2)=CAR(4) 51 : V1(3)=CAR(5) 52 : V2(1)=CAR(6) 53 : V2(2)=CAR(7) 54 : V2(3)=CAR(8) 55 : ANGL=CAR(9) 56 : * 57 : RAYMO= RAYO - (EPAI/DEUX) 58 : TETA1= ANGL*UNS2 59 : C CONVERSION DE TETA1 EN RADIAN 60 : TETA= (TETA1*XPI)/180.D0 61 : TESPI = TETA/XPI 62 : C 63 : C NORMALISATION DES VECTEURS V1 ET V2. 64 : C 65 : XNV1 = XZERO 66 : XNV2 = XZERO 67 : DO 5 I=1,3 68 : XNV1 = XNV1 + (V1(I)*V1(I)) 69 : XNV2 = XNV2 + (V2(I)*V2(I)) 70 : 5 CONTINUE 71 : IF (XNV1.LT.EPS) THEN 72 : KERRE = 2 73 : GOTO 666 74 : ENDIF 75 : IF (XNV2.LT.EPS) THEN 76 : KERRE = 1 77 : GOTO 666 78 : ENDIF 79 : XNV1 = UN/SQRT(XNV1) 80 : XNV2 = UN/SQRT(XNV2) 81 : DO 10 I=1,3 82 : BV1(I) = V1(I)*XNV1 83 : BV2(I) = V2(I)*XNV2 84 : 10 CONTINUE 85 : C 86 : C ORTHOGONALISATION ET RENORMALISATION DE V2. 87 : C 88 : PS = (BV1(1)*BV2(1))+(BV1(2)*BV2(2))+(BV1(3)*BV2(3)) 89 : C 90 : C TEST SUR LA COLINEARITE DE V1 ET V2. 91 : C 92 : IF(ABS(PS).GE.(.99D0)) THEN 93 : KERRE = 1 94 : GOTO 666 95 : ELSE 96 : XNV2 = UN/SQRT(UN-(PS**2)) 97 : DO 15 I=1,3 98 : BV2(I) = XNV2*(BV2(I)-(PS*BV1(I))) 99 : 15 CONTINUE 100 : ENDIF 101 : C 102 : C CALCUL DE LA MATRICE DE PASSAGE 103 : C LOCAL = BPSS * GLOBAL 104 : C V1 REPRESENTE L'AXE LOCAL DES Z 105 : C V2 REPRESENTE L'AXE LOCAL DES Y 106 : C 107 : DO 20 I=1,3 108 : BPSS(1,I) =BV1(I) 109 : BPSS(2,I) =BV2(I) 110 : 20 CONTINUE 111 : BPSS(3,1) = (BPSS(1,2)*BPSS(2,3))-(BPSS(1,3)*BPSS(2,2)) 112 : BPSS(3,2) = (BPSS(1,3)*BPSS(2,1))-(BPSS(1,1)*BPSS(2,3)) 113 : BPSS(3,3) = (BPSS(1,1)*BPSS(2,2))-(BPSS(1,2)*BPSS(2,1)) 114 : C 115 : C TRANSFORMATION DES DDL GLOBAUX EN DDL LOCAUX X AXE TUYAU 116 : C Y POSITION FISSURE 117 : C Z COMPLEMENT 117 : CALL MATVEC(XDDL,XDDLOC,BPSS,4) 118 : C 119 : C TRANCHANT AXE Y 120 : C 121 : XSTRS(2)= DD(2,2)*(XDDLOC(8 )-XDDLOC(2)) 122 : C 123 : C TRANCHANT AVEC L AXE Z 124 : C 125 : XSTRS(3)= DD(3,3)*(XDDLOC(9 )-XDDLOC(3)) 126 : C 127 : C TORSION AXE X 128 : C 129 : XSTRS(4)= DD(4,4)*(XDDLOC(10)-XDDLOC(4)) 130 : C 131 : C FLEXION AXE Y 132 : C 133 : XSTRS(5)= DD(5,5)*(XDDLOC(11)-XDDLOC(5)) 134 : C 135 : XX1= XDDLOC(7 )-XDDLOC(1) 136 : XX2= XDDLOC(12)-XDDLOC(6) 137 : C 138 : C OUVERTURE TUFI ET ROTATION TUFI 139 : C 140 : XSTRS(1)= XX1*DD(1,1)+XX2*DD(1,6) 141 : XSTRS(6)= XX1*DD(6,1)+XX2*DD(6,6) 142 : C 143 : C CALCUL DE A COEFFICIENT ZAHOR 144 : C 145 : RSURT=RAYMO / EPAI 146 : IF(RSURT.LE.10.D0.AND.RSURT.GE.4.9D0) THEN 147 : AXX = ( .125D0*RSURT - .25D0 ) **.25D0 148 : ELSE IF(RSURT.GT.10.D0.AND.RSURT.LE.35.D0) THEN 149 : AXX = ( .4D0*RSURT - 3.D0 ) **.25D0 150 : ELSE 151 : KERRE=3 152 : ENDIF 152 : CALL TUFIFP(TESPI,AXX,FP,FM,FMP,FOP,FOM) 153 : C 154 : C 155 : C FACTEUR D INTENSITE DES CONTRAINTES 156 : C 157 : IF(TETA1.LE.(0.5D0))THEN 158 : XSTRS(7)=XZERO 159 : GOTO 666 160 : ENDIF 161 : SQQ= XPI * RAYMO * TETA 162 : SQQ= SQRT(SQQ) 163 : XEX= SQQ * FOP/(DEUX * XPI * RAYMO *EPAI) 164 : XFL= SQQ * FOM/(XPI * RAYMO * RAYMO *EPAI) 165 : XSTRS(7)=XEX * XSTRS(1) - XFL * XSTRS(6) 166 : C 167 : C CALCUL DES AIRES DE BRECHE NOTE TECHNIQUE DRE/STRE/LMA 85/695 168 : C 169 : SIGM = XSTRS(1)/( DEUX * XPI * RAYMO * EPAI ) 170 : SIGF = XSTRS(6)/( XPI * RAYMO * RAYMO * EPAI ) 171 : XIM = XPI * RAYMO * RAYMO * DEUX * TETA * TETA * FP /YOU 172 : XIF = XIM * ( .75D0 +(.25D0 * COS ( TETA ))) 173 : XSTRS(8)=XIM * SIGM - XIF * SIGF 174 : C 175 : 666 CONTINUE 176 : RETURN 177 : END 178 : 179 : 180 : 181 : 182 :
© Cast3M 2003 - All rights reserved.
Disclaimer