Télécharger c2.eso

Retour à la liste

Numérotation des lignes :

c2
  1. C C2 SOURCE CB215821 26/10/26 21:15:18 12682
  2. SUBROUTINE C2(SIG,DSIG,YOUN,ANU,RT1,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 A(4),B(2),IDAM(3),EPC(3),SG(3),DSG(3)
  11. Y=YOUN/(1.D0-ANU*ANU)
  12. C
  13. C--------------------------------------------
  14. C BOITE D ECOULEMENT DE COMPRESSION
  15. C--------------------------------------------
  16. C
  17. C-----------------------------------------------
  18. C ON SE PLACE DANS LE REPERE DE FISSURATION
  19. C-----------------------------------------------
  20. C
  21. IF(IIMPI.EQ.9) WRITE(IOIMP,9999)
  22. 9999 FORMAT(1X,'C2 ECOULEMENT SUIVANT COMP 2',/)
  23. CALL CHREP(SIG,SFG,ANG)
  24. CALL CHREP(DSIG,DSFG,ANG)
  25. DL2=(SFG(2)+DSFG(2))/Y
  26. C
  27. C------------------------------------------
  28. C CAS OU LA FISSURE RESTE OUVERTE
  29. C TOUT LE TEMPS DE L ECOULEMENT (1000)
  30. C-------------------------------------------
  31. C
  32. IF(DL2.GT.0.D0) THEN
  33. IDAM(2)=0
  34. RETURN
  35. ENDIF
  36. IF(DL2.GE.-XLAM2) THEN
  37. EPC(2)=DL2
  38. EPC(1)=0.D0
  39. EPC(3)=0.D0
  40. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  41. X=1.D0
  42. GOTO 1000
  43. ENDIF
  44. C
  45. C-------------------------------------------
  46. C CAS OU LA FISSURE EST FERME AVANT
  47. C LA FIN DE L ECOULEMENT
  48. C-------------------------------------------
  49. C
  50. DL2=-XLAM2
  51. EPC(2)=DL2
  52. EPC(1)=0.D0
  53. EPC(3)=0.D0
  54. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  55. C
  56. C------------------------------------------
  57. C ON CALCULE LA PARTIE DE DSIGMA
  58. C QU IL FAUT POUR FERMER LA FISSURE
  59. C------------------------------------------
  60. C
  61. IF(DSFG(2).EQ.0.D0) THEN
  62. X=0.D0
  63. DO 10 ITYP=1,3
  64. DSFC(ITYP)=DSFG(ITYP)
  65. SFC(ITYP)=SFG(ITYP)-SFC(ITYP)
  66. 10 CONTINUE
  67. XLAM2=0.D0
  68. DL2=0.D0
  69. GOTO 1010
  70. ENDIF
  71. X=(-SFG(2)+SFC(2))/DSFG(2)
  72. IF(X.LT.0.D0) THEN
  73. X=0.D0
  74. DO 15 ITYP=1,3
  75. DSFC(ITYP)=DSFG(ITYP)
  76. SFC(ITYP)=SFG(ITYP)-SFC(ITYP)
  77. 15 CONTINUE
  78. XLAM2=0.D0
  79. DL2=0.D0
  80. GOTO 1010
  81. ENDIF
  82. 1000 DO 20 ITYP=1,3
  83. DSFC(ITYP)=(1.D0-X)*DSFG(ITYP)
  84. SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP)
  85. 20 CONTINUE
  86. C
  87. C-----------------------------------------------
  88. C ON REGARDE SI LES AUTRES CRITERES NE
  89. C SONT PAS ENDOMMAGES PENDANT L ECOULEMENT
  90. C-----------------------------------------------
  91. C
  92. CALL CDP(SFC,ADP,RDP,VCDP)
  93. CALL CTRAF(SFC(1),RT1,VCTR1)
  94. CALL CCOAF(SFC(1),XLAM1,VCCO1)
  95. C
  96. C------------------------------------
  97. C CRITERE DE TRACTION ENDOMMAGE
  98. C------------------------------------
  99. C
  100. IF(VCTR1.GT.0.D0) GOTO 2000
  101. C
  102. C----------------------------------------
  103. C CRITERE DE COMPRESSION ENDOMMAGE
  104. C----------------------------------------
  105. C
  106. IF(VCCO1.GT.0.D0) GOTO 3000
  107. C
  108. C------------------------------------
  109. C CRITERE DE TRACTION ENDOMMAGE
  110. C------------------------------------
  111. C
  112. IF(VCDP.GT.0.D0) GOTO 4000
  113. C
  114. C---------------------------------------------------
  115. C AUCUN CRITERE ENDOMMAGE PENDANT L ECOULEMENT
  116. C---------------------------------------------------
  117. C
  118. 1010 DO 30 ITYP=1,3
  119. TSFC(ITYP)=DSFC(ITYP)+SFC(ITYP)
  120. 30 CONTINUE
  121. C
  122. C---------------------------------------------------
  123. C ON REGARDE SI L ECOULEMENT RESTANT N ENDOMMAGE
  124. C PAS LES CRITERES
  125. C---------------------------------------------------
  126. C
  127. IDAM(1)=0
  128. IDAM(2)=0
  129. IDAM(3)=0
  130. C=1.D0-1.D-10
  131. IF(X.GE.C) THEN
  132. GAM=1.D0
  133. GOTO 1500
  134. ENDIF
  135. GAMDP=10.D0
  136. GAMCO1=10.D0
  137. GAMTR1=10.D0
  138. CALL CDP(TSFC,ADP,RDP,VCDP)
  139. IF(VCDP.GT.0.D0) CALL GDP(SFC,DSFC,RDP,ADP,GAMDP)
  140. CALL CTRAF(TSFC(1),RT1,VCTR1)
  141. IF(VCTR1.GT.0.D0) CALL GAMTAF(SFC(1),DSFC(1),RT1,GAMTR1)
  142. CALL CCOAF(TSFC(1),XLAM1,VCCO1)
  143. IF(VCCO1.GT.0.D0) CALL GAMCAF(SFC(1),DSFC(1),GAMCO1)
  144. GAM=MIN(GAMTR1,GAMCO1,GAMDP)
  145. IF(GAM.GE.C) THEN
  146. GAM=1.D0
  147. GOTO 1500
  148. ENDIF
  149. IF(ABS(GAMCO1-GAM).LT.1.E-10) IDAM(1)=-1
  150. IF(ABS(GAMTR1-GAM).LT.1.E-10) IDAM(1)=1
  151. IF(ABS(GAMDP-GAM).LT.1.E-10) IDAM(3)=1
  152. XLAM2=0.D0
  153. DL2=0.D0
  154. 1500 DO 40 ITYP=1,3
  155. SFG(ITYP)=SFC(ITYP)+GAM*DSFC(ITYP)
  156. DSFG(ITYP)=(1.D0-GAM)*DSFC(ITYP)
  157. 40 CONTINUE
  158. CALL CHREP(SFG,SIG,-ANG)
  159. CALL CHREP(DSFG,DSIG,-ANG)
  160. XLAM2=XLAM2+DL2
  161. RETURN
  162. C
  163. C----------------------------------------
  164. C CAS OU EN ENDOMMAGE LA TRACTION1
  165. C PENDANT LA FERMETURE DE LA FISSURE
  166. C----------------------------------------
  167. C
  168. 2000 A(1)=DSFG(1)
  169. A(3)=DSFG(2)
  170. A(4)=-Y
  171. A(2)=A(4)*ANU
  172. DET=A(1)*A(4)-A(2)*A(3)
  173. IF(DET.EQ.0.D0) THEN
  174. IDAM(1)=1
  175. IDAM(2)=-1
  176. IDAM(3)=0
  177. RETURN
  178. ENDIF
  179. B(1)=RT1-SFG(1)
  180. B(2)=-SFG(2)
  181. CALL SYLIN2(A,B,X,DL2)
  182. EPC(2)=DL2
  183. EPC(1)=0.D0
  184. EPC(3)=0.D0
  185. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  186. DO 50 ITYP=1,3
  187. DSFC(ITYP)=(1.D0-X)*DSFG(ITYP)
  188. SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP)
  189. 50 CONTINUE
  190. CALL CDP(SFC,ADP,RDP,VCDP)
  191. IF(VCDP.GT.0.D0) GOTO 4000
  192. IDAM(2)=-1
  193. IDAM(1)=1
  194. IDAM(3)=0
  195. XLAM2=XLAM2+DL2
  196. CALL CHREP(DSFC,DSIG,-ANG)
  197. CALL CHREP(SFC,SIG,-ANG)
  198. RETURN
  199. C
  200. C----------------------------------------
  201. C CAS OU EN ENDOMMAGE LA COMPRESSION1
  202. C PENDANT LA FERMETURE DE LA FISSURE
  203. C----------------------------------------
  204. C
  205. 3000 A(1)=DSFG(1)
  206. A(3)=DSFG(2)
  207. A(4)=-Y
  208. A(2)=A(4)*ANU
  209. DET=A(1)*A(4)-A(2)*A(3)
  210. IF(DET.EQ.0.D0) THEN
  211. IDAM(1)=-1
  212. IDAM(2)=-1
  213. IDAM(3)=0
  214. RETURN
  215. ENDIF
  216. B(1)=-SFG(1)
  217. B(2)=-SFG(2)
  218. CALL SYLIN2(A,B,X,DL2)
  219. EPC(2)=DL2
  220. EPC(1)=0.D0
  221. EPC(3)=0.D0
  222. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  223. DO 150 ITYP=1,3
  224. DSFC(ITYP)=(1.D0-X)*DSFG(ITYP)
  225. SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP)
  226. 150 CONTINUE
  227. CALL CDP(SFC,ADP,RDP,VCDP)
  228. IF(VCDP.GT.0.D0) GOTO 4000
  229. IDAM(1)=-1
  230. IDAM(2)=-1
  231. IDAM(3)=0
  232. XLAM2=XLAM2+DL2
  233. CALL CHREP(DSFC,DSIG,-ANG)
  234. CALL CHREP(SFC,SIG,-ANG)
  235. RETURN
  236. C
  237. C----------------------------------------
  238. C CAS OU EN ENDOMMAGE LE DP
  239. C PENDANT LA FERMETURE DE LA FISSURE
  240. C----------------------------------------
  241. C
  242. 4000 CONTINUE
  243. EPC(1)=0.D0
  244. EPC(2)=1.D0
  245. EPC(3)=0.D0
  246. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  247. E=Y
  248. F=SFG(2)/E
  249. G=DSFG(2)/E
  250. DO 70 ITYP=1,3
  251. SG(ITYP)=SFG(ITYP)-F*SFC(ITYP)
  252. DSG(ITYP)=DSFG(ITYP)-G*SFC(ITYP)
  253. 70 CONTINUE
  254. CALL XDP(SG,DSG,RDP,ADP,X,ITEST)
  255. IF(ITEST.EQ.1) THEN
  256. IDAM(1)=0
  257. IDAM(2)=-1
  258. IDAM(3)=1
  259. RETURN
  260. ENDIF
  261. DL2=(SFG(2)+X*DSFG(2))/Y
  262. EPC(1)=0.D0
  263. EPC(2)=DL2
  264. EPC(3)=0.D0
  265. CALL CPHOOB(EPC,SFC,YOUN,ANU)
  266. DO 60 ITYP=1,3
  267. SFG(ITYP)=X*DSFG(ITYP)-SFC(ITYP)+SFG(ITYP)
  268. DSFG(ITYP)=DSFG(ITYP)*(1.D0-X)
  269. 60 CONTINUE
  270. XLAM2=XLAM2+DL2
  271. CALL CHREP(DSFG,DSIG,-ANG)
  272. CALL CHREP(SFG,SIG,-ANG)
  273. IDAM(1)=0
  274. IDAM(2)=-1
  275. IDAM(3)=1
  276. RETURN
  277. END
  278.  
  279.  
  280.  

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