Télécharger t1.eso

Retour à la liste

Numérotation des lignes :

  1. C T1 SOURCE CHAT 05/01/13 03:29:34 5004
  2. SUBROUTINE T1(SIG,DSIG,YOUN,ANU,RT1,RT2,H1,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)
  11. Y=YOUN/(1.D0-ANU*ANU)
  12. IF(RT1.LT.1.E-10) THEN
  13. H1=0.D0
  14. RT1=0.D0
  15. ENDIF
  16. C
  17. C--------------------------------------------
  18. C BOITE D ECOULEMENT DE TRACTION 1
  19. C--------------------------------------------
  20. C
  21. C-----------------------------------------------
  22. C ON SE PLACE DANS LE REPERE DE FISSURATION
  23. C-----------------------------------------------
  24. C
  25. CALL CHREP(SIG,SFG,ANG)
  26. CALL CHREP(DSIG,DSFG,ANG)
  27. IF(IIMPI.EQ.9) WRITE(IOIMP,9999)
  28. 9999 FORMAT(1X,'T1 ECOULEMENT SUIVANT TRACTION 1',/)
  29. 1 DL1=(SFG(1)+DSFG(1)-RT1)/(Y-H1)
  30. IF(DL1.LT.0.D0) THEN
  31. IDAM(1)=0
  32. RETURN
  33. ENDIF
  34. C
  35. C----------------------------------------------------------------
  36. C CAS OU LA LIMITE EN TRACTION RESTE SUPERIEURE A 0 (1000)
  37. C----------------------------------------------------------------
  38. C
  39. IF((RT1-H1*DL1).GE.-1.E-10) GOTO 1000
  40. C
  41. C--------------------------------------------------------
  42. C CAS OU LA LIMITE EN TRACTION DEVIENT NULLE
  43. C--------------------------------------------------------
  44. C
  45. DL1=RT1/H1
  46. EPC(1)=DL1
  47. EPC(2)=0.D0
  48. EPC(3)=0.D0
  49. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  50. X=0.D0
  51. IF(DSFG(1).NE.0.D0) X=(SFC(1)-SFG(1))/DSFG(1)
  52. DO 10 ITYP=1,3
  53. SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP)
  54. 10 DSFC(ITYP)=(1.D0-X)*DSFG(ITYP)
  55. CALL CDP(SFC,ADP,RDP,VCDP)
  56. CALL CTRAF(SFC(2),RT2,VCTR2)
  57. CALL CCOAF(SFC(2),XLAM2,VCCO2)
  58. IF(VCTR2.GT.0.D0) GOTO 2000
  59. IF(VCCO2.GT.0.D0) GOTO 3000
  60. IF(VCDP.GT.0.D0) GOTO 4000
  61. RT1=0.D0
  62. H1=0.D0
  63. XLAM1=XLAM1+DL1
  64. DO 20 ITYP=1,3
  65. SFG(ITYP)=SFC(ITYP)
  66. 20 DSFG(ITYP)=DSFC(ITYP)
  67. GOTO 1
  68. 1000 EPC(1)=DL1
  69. EPC(2)=0.D0
  70. EPC(3)=0.D0
  71. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  72. DO 1010 ITYP=1,3
  73. 1010 SFC(ITYP)=SFG(ITYP)+DSFG(ITYP)-SFC(ITYP)
  74. C
  75. C-----------------------------------------------
  76. C ON REGARDE SI LES AUTRES CRITERES NE
  77. C SONT PAS ENDOMMAGES PENDANT L ECOULEMENT
  78. C-----------------------------------------------
  79. C
  80. CALL CDP(SFC,ADP,RDP,VCDP)
  81. CALL CTRAF(SFC(2),RT2,VCTR2)
  82. CALL CCOAF(SFC(2),XLAM2,VCCO2)
  83. C
  84. C------------------------------------
  85. C CRITERE DE TRACTION ENDOMMAGE
  86. C------------------------------------
  87. C
  88. IF(VCTR2.GT.0.D0) GOTO 2000
  89. C
  90. C----------------------------------------
  91. C CRITERE DE COMPRESSION ENDOMMAGE
  92. C----------------------------------------
  93. C
  94. IF(VCCO2.GT.0.D0) GOTO 3000
  95. C
  96. C------------------------------------
  97. C CRITERE DE DRUCKER ENDOMMAGE
  98. C------------------------------------
  99. C
  100. IF(VCDP.GT.0.D0) GOTO 4000
  101. C
  102. C--------------------------------------------------------
  103. C AUCUN AUTRE CRITERE ENDOMMAGE PENDANT L ECOULEMENT
  104. C--------------------------------------------------------
  105. C
  106. CALL CHREP(SFC,SIG,-ANG)
  107. DO 1020 ITYP=1,3
  108. 1020 DSIG(ITYP)=0.D0
  109. RT1=RT1-H1*DL1
  110. IF(RT1.LE.1.E-10) THEN
  111. H1=0.D0
  112. RT1=0.D0
  113. ENDIF
  114. IDAM(1)=0
  115. IDAM(2)=0
  116. IDAM(3)=0
  117. XLAM1=XLAM1+DL1
  118. RETURN
  119. C
  120. C----------------------------------------
  121. C CAS OU EN ENDOMMAGE LA TRACTION2
  122. C----------------------------------------
  123. C
  124. 2000 A(1)=DSFG(1)
  125. A(3)=DSFG(2)
  126. A(2)=-Y+H1
  127. A(4)=-Y*ANU
  128. DET=A(1)*A(4)-A(2)*A(3)
  129. IF(DET.EQ.0.D0) THEN
  130. IDAM(1)=1
  131. IDAM(2)=1
  132. IDAM(3)=0
  133. RETURN
  134. ENDIF
  135. B(1)=RT1-SFG(1)
  136. B(2)=RT2-SFG(2)
  137. CALL SYLIN2(A,B,X,DL1)
  138. EPC(1)=DL1
  139. EPC(2)=0.D0
  140. EPC(3)=0.D0
  141. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  142. DO 2010 ITYP=1,3
  143. DSFC(ITYP)=(1.D0-X)*DSFG(ITYP)
  144. 2010 SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP)
  145. CALL CDP(SFC,ADP,RDP,VCDP)
  146. IF(VCDP.GT.0.D0) GOTO 4000
  147. RT1=RT1-H1*DL1
  148. IF(RT1.LE.1.E-10) THEN
  149. H1=0.D0
  150. RT1=0.D0
  151. ENDIF
  152. IDAM(1)=1
  153. IDAM(2)=1
  154. IDAM(3)=0
  155. XLAM1=XLAM1+DL1
  156. CALL CHREP(DSFC,DSIG,-ANG)
  157. CALL CHREP(SFC,SIG,-ANG)
  158. RETURN
  159. C
  160. C----------------------------------------
  161. C CAS OU EN ENDOMMAGE LA COMPRESSION 2
  162. C----------------------------------------
  163. C
  164. 3000 A(1)=DSFG(1)
  165. A(3)=DSFG(2)
  166. A(2)=-Y+H1
  167. A(4)=-Y*ANU
  168. DET=A(1)*A(4)-A(2)*A(3)
  169. IF(DET.EQ.0.D0) THEN
  170. IDAM(1)=1
  171. IDAM(2)=-1
  172. IDAM(3)=0
  173. RETURN
  174. ENDIF
  175. B(1)=RT1-SFG(1)
  176. B(2)=-SFG(2)
  177. CALL SYLIN2(A,B,X,DL1)
  178. EPC(1)=DL1
  179. EPC(2)=0.D0
  180. EPC(3)=0.D0
  181. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  182. DO 3010 ITYP=1,3
  183. DSFC(ITYP)=(1.D0-X)*DSFG(ITYP)
  184. 3010 SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP)
  185. CALL CDP(SFC,ADP,RDP,VCDP)
  186. IF(VCDP.GT.0.D0) GOTO 4000
  187. RT1=RT1-H1*DL1
  188. IF(RT1.LE.1.E-10) THEN
  189. H1=0.D0
  190. RT1=0.D0
  191. ENDIF
  192. IDAM(1)=1
  193. IDAM(2)=-1
  194. IDAM(3)=0
  195. XLAM1=XLAM1+DL1
  196. CALL CHREP(DSFC,DSIG,-ANG)
  197. CALL CHREP(SFC,SIG,-ANG)
  198. RETURN
  199. C
  200. C----------------------------------------
  201. C CAS OU EN ENDOMMAGE LE DP
  202. C----------------------------------------
  203. C
  204. 4000 CONTINUE
  205. EPC(1)=1.D0
  206. EPC(2)=0.D0
  207. EPC(3)=0.D0
  208. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  209. E=Y-H1
  210. F=(SFG(1)-RT1)/E
  211. G=DSFG(1)/E
  212. DO 4010 ITYP=1,3
  213. SG(ITYP)=SFG(ITYP)-F*SFC(ITYP)
  214. 4010 DSG(ITYP)=DSFG(ITYP)-G*SFC(ITYP)
  215. CALL XDP(SG,DSG,RDP,ADP,X,ITEST)
  216. IF(ITEST.EQ.1) THEN
  217. IDAM(1)=1
  218. IDAM(2)=0
  219. IDAM(3)=1
  220. RETURN
  221. ENDIF
  222. DL1=(SFG(1)+X*DSFG(1)-RT1)/(Y-H1)
  223. EPC(1)=DL1
  224. EPC(2)=0.D0
  225. EPC(3)=0.D0
  226. RT1=RT1-H1*DL1
  227. IF(RT1.LE.1.E-10) THEN
  228. H1=0.D0
  229. RT1=0.D0
  230. ENDIF
  231. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  232. DO 4020 ITYP=1,3
  233. SFC(ITYP)=X*DSFG(ITYP)-SFC(ITYP)+SFG(ITYP)
  234. 4020 DSFC(ITYP)=DSFG(ITYP)*(1.D0-X)
  235. XLAM1=XLAM1+DL1
  236. CALL CHREP(DSFC,DSIG,-ANG)
  237. CALL CHREP(SFC,SIG,-ANG)
  238. IDAM(1)=1
  239. IDAM(2)=0
  240. IDAM(3)=1
  241. RETURN
  242. END
  243.  
  244.  

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