Télécharger t1t2.eso

Retour à la liste

Numérotation des lignes :

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

© Cast3M 2003 - Tous droits réservés.
Mentions légales