1 : C T1T2 SOURCE CHAT 05/01/13 03:29:41 5004 2 : SUBROUTINE T1T2(SIG,DSIG,YOUN,ANU,RT1,RT2,H1,H2,RDP,ADP, 3 : 1 XLAM1,XLAM2,IDAM,ANG) 4 : IMPLICIT INTEGER(I-N) 5 : IMPLICIT REAL*8(A-H,O-Z) 6 : -INC CCOPTIO 7 : DIMENSION SIG(3),DSIG(3),SFC(3),DSFC(3),TSFC(3),SFG(3),DSFG(3), 8 : 1 EPC(3),A(4),B(2),IDAM(3),SG(3),DSG(3),EPC1(3),EPC2(3),SG1(3), 9 : 1 DSG1(3),SG2(3),DSG2(3) 10 : Y=YOUN/(1.D0-ANU*ANU) 11 : IF(IIMPI.EQ.9) WRITE(IOIMP,9999) 12 : 9999 FORMAT(1X,'T1T2 COUPLAGE TRACTION 1 TRACTION 2 ',/) 13 : IF(RT1.LT.1.E-10) THEN 14 : H1=0.D0 15 : RT1=0.D0 16 : ENDIF 17 : IF(RT2.LT.1.E-10) THEN 18 : H2=0.D0 19 : RT2=0.D0 20 : ENDIF 21 : EPC1(1)=1.D0 22 : EPC2(2)=1.D0 23 : EPC2(1)=0.D0 24 : EPC1(2)=0.D0 25 : EPC2(3)=0.D0 26 : EPC1(3)=0.D0 27 : C 28 : C--------------------------------- 29 : C COUPLAGE DES TRACTIONS 30 : C--------------------------------- 31 : C 32 : C------------------------------------------------- 33 : C ON SE PLACE DANS LE REPERE DE FISSURATION 34 : C------------------------------------------------- 35 : C 35 : CALL CHREP(SIG,SFG,ANG) 35 : CALL CHREP(DSIG,DSFG,ANG) 36 : C 37 : C------------------------------------------ 38 : C OBTENTION DU SYSTEME EN DL1 DL2 39 : C------------------------------------------ 40 : C 41 : 1 B(1)=DSFG(1)+SFG(1)-RT1 42 : B(2)=DSFG(2)+SFG(2)-RT2 43 : A(1)=Y-H1 44 : A(4)=Y-H2 45 : A(2)=Y*ANU 46 : A(3)=A(2) 46 : CALL SYLIN2(A,B,DL1,DL2) 47 : C 48 : C------------------------------------- 49 : C CAS DES FAUX COUPLAGES 50 : C------------------------------------- 51 : C 52 : IF(DL1.LT.-1.E-10) IDAM(1)=0 53 : IF(DL2.LT.-1.E-10) IDAM(2)=0 54 : IF(IDAM(1).EQ.0.OR.IDAM(2).EQ.0) THEN 54 : CALL CHREP(SFG,SIG,-ANG) 54 : CALL CHREP(DSFG,DSIG,-ANG) 55 : RETURN 56 : ENDIF 57 : C 58 : C----------------------------------------------- 59 : C CAS OU LA LIMITE EN TRACTION 1 DEPASSE 0 60 : C----------------------------------------------- 61 : C 62 : IF((RT1-H1*DL1).GE.-1.E-10) GOTO 1000 63 : DL1=RT1/H1 64 : B(1)=-SFG(1)+DL1*Y 65 : B(2)=RT2-SFG(2)+DL1*Y*ANU 66 : A(1)=DSFG(1) 67 : A(3)=DSFG(2) 68 : A(2)=-Y*ANU 69 : A(4)=-Y+H2 69 : CALL SYLIN2(A,B,X,DL2) 70 : EPC(1)=DL1 71 : EPC(2)=DL2 72 : EPC(3)=0.D0 73 : IF((RT2-H2*DL2).LT.0.D0) GOTO 1001 73 : CALL CPHOOB(EPC,SFC,YOUN,ANU) 74 : DO 10 ITYP=1,3 75 : SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP) 76 : 10 DSFC(ITYP)=(1.D0-X)*DSFG(ITYP) 76 : CALL CDP(SFC,ADP,RDP,VCDP) 77 : IF(VCDP.GT.0.D0) GOTO 3000 78 : DO 20 ITYP=1,3 79 : SFG(ITYP)=SFC(ITYP) 80 : 20 DSFG(ITYP)=DSFC(ITYP) 81 : XLAM1=XLAM1+DL1 82 : XLAM2=XLAM2+DL2 83 : RT1=0.D0 84 : H1=0.D0 85 : RT2=RT2-DL2*H2 86 : IF(RT2.LT.1.E-10) THEN 87 : H2=0.D0 88 : RT2=0.D0 89 : ENDIF 90 : GOTO 1 91 : C 92 : C----------------------------------------------- 93 : C CAS OU LA LIMITE EN TRACTION2 DEPASSE 0 94 : C----------------------------------------------- 95 : C 96 : 1000 IF((RT2-H2*DL2).GE.-1.E-10) GOTO 2000 97 : 1001 DL2=RT2/H2 98 : B(1)=RT1-SFG(1)+DL2*Y*ANU 99 : B(2)=-SFG(2)+DL2*Y 100 : A(1)=DSFG(1) 101 : A(3)=DSFG(2) 102 : A(4)=-Y*ANU 103 : A(2)=-Y+H1 103 : CALL SYLIN2(A,B,X,DL1) 104 : EPC(1)=DL1 105 : EPC(2)=DL2 106 : EPC(3)=0.D0 106 : CALL CPHOOB(EPC,SFC,YOUN,ANU) 107 : DO 1010 ITYP=1,3 108 : SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP) 109 : 1010 DSFC(ITYP)=(1.D0-X)*DSFG(ITYP) 109 : CALL CDP(SFC,ADP,RDP,VCDP) 110 : IF(VCDP.GT.0.D0) GOTO 3000 111 : DO 1020 ITYP=1,3 112 : SFG(ITYP)=SFC(ITYP) 113 : 1020 DSFG(ITYP)=DSFC(ITYP) 114 : XLAM1=XLAM1+DL1 115 : XLAM2=XLAM2+DL2 116 : RT2=0.D0 117 : H2=0.D0 118 : RT1=RT1-DL1*H1 119 : IF(RT1.LT.1.E-10) THEN 120 : H1=0.D0 121 : RT1=0.D0 122 : ENDIF 123 : GOTO 1 124 : 2000 EPC(1)=DL1 125 : EPC(2)=DL2 126 : EPC(3)=0.D0 126 : CALL CPHOOB(EPC,SFC,YOUN,ANU) 127 : DO 2010 ITYP=1,3 128 : 2010 SFC(ITYP)=DSFG(ITYP)+SFG(ITYP)-SFC(ITYP) 129 : C 130 : C------------------------------------------------ 131 : C ON VERIFIE QUE LE DP N EST PAS ENDOMMAGE 132 : C PENDANT L 'ECOULEMENT (SINON 3000) 133 : C------------------------------------------------ 134 : C 134 : CALL CDP(SFC,ADP,RDP,VCDP) 135 : IF(VCDP.GT.0.D0) GOTO 3000 136 : C 137 : C------------------------------------------------ 138 : C CAS OU L ECOULEMENT SE FAIT ENTIEREMENT 139 : C MISE A JOUR DES VARIABLES D ENDOMMAGEMENT 140 : C------------------------------------------------ 141 : C 142 : XLAM1=XLAM1+DL1 143 : XLAM2=XLAM2+DL2 144 : IDAM(1)=0 145 : IDAM(2)=0 146 : IDAM(3)=0 147 : RT1=RT1-H1*DL1 148 : IF(RT1.LE.1.E-10) THEN 149 : H1=0.D0 150 : RT1=0.D0 151 : ENDIF 152 : RT2=RT2-H2*DL2 153 : IF(RT2.LE.1.E-10) THEN 154 : H2=0.D0 155 : RT2=0.D0 156 : ENDIF 157 : DO 2020 ITYP=1,3 158 : 2020 DSIG(ITYP)=0.D0 158 : CALL CHREP(SFC,SIG,-ANG) 159 : RETURN 160 : C 161 : C----------------------------------------------------- 162 : C CAS OU ON ENDOMMAGE LE DP PENDANT L ECOULEMENT 163 : C CALCUL DE X POUR ARRIVER SUR LE CRITERE 164 : C----------------------------------------------------- 165 : C 166 : 3000 CONTINUE 166 : CALL CPHOOB(EPC1,SG1,YOUN,ANU) 166 : CALL CPHOOB(EPC2,SG2,YOUN,ANU) 167 : B(1)=SFG(1)-RT1 168 : B(2)=SFG(2)-RT2 169 : A(1)=Y-H1 170 : A(4)=Y-H2 171 : A(2)=ANU*Y 172 : A(3)=A(2) 172 : CALL SYLIN2(A,B,DL11,DL21) 173 : DO 3010 ITYP=1,3 174 : 3010 SG(ITYP)=SFG(ITYP)-DL11*SG1(ITYP)-DL21*SG2(ITYP) 175 : B(1)=DSFG(1) 176 : B(2)=DSFG(2) 176 : CALL SYLIN2(A,B,DL12,DL22) 177 : DO 3020 ITYP=1,3 178 : 3020 DSG(ITYP)=DSFG(ITYP)-DL12*SG1(ITYP)-DL22*SG2(ITYP) 178 : CALL XDP(SG,DSG,RDP,ADP,X,ITEST) 179 : IF(ITEST.EQ.1) THEN 180 : IDAM(1)=1 181 : IDAM(2)=1 182 : IDAM(3)=1 182 : CALL CHREP(SFG,SIG,-ANG) 182 : CALL CHREP(DSFG,DSIG,-ANG) 183 : RETURN 184 : ENDIF 185 : C 186 : C------------------------------------------------ 187 : C L ECOULEMENT SE FAIT PARTIELLEMENT 188 : C MISE A JOUR DES VARIABLES D ENDOMMAGEMENT 189 : C ET DE L INCREMENT DSIGMA 190 : C------------------------------------------------ 191 : C 192 : IDAM(1)=1 193 : IDAM(2)=1 194 : IDAM(3)=1 195 : DL1=DL11+X*DL12 196 : DL2=DL21+X*DL22 197 : EPC(1)=DL1 198 : EPC(2)=DL2 199 : EPC(3)=0.D0 199 : CALL CPHOOB(EPC,SFC,YOUN,ANU) 200 : DO 3030 ITYP=1,3 201 : SFG(ITYP)=X*DSFG(ITYP)+SFG(ITYP)-SFC(ITYP) 202 : 3030 DSFG(ITYP)=(1.D0-X)*DSFG(ITYP) 203 : XLAM1=XLAM1+DL1 204 : XLAM2=XLAM2+DL2 205 : RT1=RT1-H1*DL1 206 : RT2=RT2-H2*DL2 207 : IF(RT1.LE.1.E-10) THEN 208 : H1=0.D0 209 : RT1=0.D0 210 : ENDIF 211 : IF(RT2.LE.1.E-10) THEN 212 : H2=0.D0 213 : RT2=0.D0 214 : ENDIF 214 : CALL CHREP(DSFG,DSIG,-ANG) 214 : CALL CHREP(SFG,SIG,-ANG) 215 : RETURN 216 : END 217 :
© Cast3M 2003 - All rights reserved.
Disclaimer