Télécharger damage.eso

Retour à la liste

Numérotation des lignes :

  1. C DAMAGE SOURCE CHAT 05/01/12 22:36:13 5004
  2. SUBROUTINE DAMAGE(ALFADV,ALFAD1,ALFAD2,VMELAS,DPELAS,DPELA1,DPELA2
  3. .,PORELA,R1,R2,R3,PENTE1,PENTE2,PENTE3,XLAMBD,SIGMA,DSIGMA,STOT,
  4. .SIGEL,TETAQ,YUNG,XNU,XLAMER,XLAMAX,DP2MIN,
  5. .PREC,RFSG,RFEP,RFPR,ITRAC,IDED,IDAM,KERRE)
  6. C
  7. IMPLICIT INTEGER(I-N)
  8. IMPLICIT REAL*8(A-H,O-Z)
  9. -INC CCOPTIO
  10. C
  11. DIMENSION SIGMA(*),DSIGMA(*),STOT(*),SIGEL(*),XLAMBD(*)
  12. DIMENSION SIGMAT(6),DSIGP(6)
  13. DIMENSION DELSIG(6),DDSIGP(6),DSIGEL(6),DSIGPR(6),DDF(6),DEPSP(6)
  14. DIMENSION SIS(6),SIGCRI(6),SIDEMI(6)
  15. DIMENSION DLAMBD(5),XLAMBO(5),CRI(5)
  16. C
  17. C CETTE ROUTINE GERE LES ITERATIONS INTERNES
  18. C ENTREE SIGMA AU DEBUT DU PAS
  19. C DSIGMA INCREMENT CALCULE ELASTIQUEMENT
  20. C STOT = SIGMA + DSIGMA
  21. C SIGMAT=STOT
  22. C LES CARACTERISTIQUES DU MODELE (ALFADV ... PENTE3)
  23. C LES ENDOMMAGEMENTS XLAMBD (5)
  24. C IDED = 0 AU DEPART
  25. C 1 POUR CISAILLEMENT DUCTILE
  26. C 2 POUR CISAILLEMENT FRAGILE
  27. C 3 POUR LES DEUX PRECEDENTS
  28. C IIMPI INDICE POUR LES IMPRESSIONS = 0 (PAS D IMPRESSIONS)
  29. C = 9 (ON IMPRIME)
  30. C SIGEL CONTRAINTES SUR CRITERE
  31. C EN SORTIE C EST LA SOLUTION PROJETTEE
  32. C DSIGP PARTIE PLASTIQUE DE L INCREMENT
  33. C XLAMER LAMBDA DE BUTEE POUR LE CISAILLEMENT FRAGILE ECROUISS.
  34. C SUR LA TRACTION
  35. C XLAMAX LAMBDA DE BUTEE POUR LE CISAILLEMENT FRAGILE ECROUISS.
  36. C SUR LE CISAILLEMENT FRAGILE NON ECROUISS.
  37. C IDAM INDICE D ENDOMMAGEMENT
  38. C = 1 LE PAS EST ELASTIQUE
  39. C > 1 NOMBRE DE FOIS -1 OU L ON ENDOMMAGE DANS
  40. C L ITERATION INTERNE
  41. C ICRIT1 INDICE DU 1-ER CRITERE ENDOMMAGE
  42. C ICRIT2 INDICE DU 2-EME CRITERE SI ICOUP = 2 (CAS DE COUPLAGE)
  43. C ITRI INDICE DU TRIAGE
  44. C ITRI=0 (CALCUL POUR TROUVER LA PREMIERE SURFACE ENDOMMAGEE)
  45. C ITRI=1 (CALCUL POUR TROUVER LA PREMIERE ESTIMATION DE L ECOULEMENT)
  46. C ITRI=2 (CALCUL POUR TROUVER LA CORRECTION DE DELTA LAMBDA)
  47. C
  48. IF(IIMPI.EQ.9)
  49. .WRITE(IOIMP,9999) ALFADV,ALFAD1,ALFAD2,VMELAS,
  50. .DPELAS,DPELA1,DPELA2,PORELA,R1,R2,R3,PENTE1,PENTE2,PENTE3,
  51. .(XLAMBD(I),I=1,5),(SIGMA(J),J=1,6),(DSIGMA(K),K=1,6),
  52. .(STOT(L),L=1,6),(SIGEL(M),M=1,6),
  53. .TETAQ,XLAMER,XLAMAX,PREC,RFSG,RFEP,RFPR,IDED
  54. C
  55. C INITIALISATIONS
  56. C
  57. VMELA0=VMELAS
  58. DPEL20=DPELA2
  59. POREL0=PORELA
  60. R01=R1
  61. R02=R2
  62. R03=R3
  63. IDAM=1
  64. ICOUP=1
  65. IBAB=0
  66. ICRIT1=0
  67. ICRIT2=0
  68. JCRIT2=0
  69. ICRIME=0
  70. ICRIMT=0
  71. ITRI=0
  72. IC5=0
  73. ITERA=0
  74. ITS=0
  75. ICTD=0
  76. KASTR=1
  77. XLMDF=(XLAMER-XLAMBD(5))*2.D0/(XLAMER+XLAMBD(5))
  78. IF(XLMDF.LE.PREC) KASTR=2
  79. XX=0.D0
  80. DPLAM=0.D0
  81. DGLAMP=0.D0
  82. DO 10 III=1,6
  83. SIS(III)=0.D0
  84. DELSIG(III)=0.D0
  85. 10 CONTINUE
  86. DO 20 III=1,5
  87. XLAMBO(III)=XLAMBD(III)
  88. DLAMBD(III)=0.D0
  89. 20 CONTINUE
  90. LMIC5=0
  91. XLMDF=(XLAMAX-XLAMBD(5))*2.D0/(XLAMAX+XLAMBD(5))
  92. IF(XLMDF.LE.PREC)LMIC5=1
  93. C
  94. C METTRE A JOUR LES VALEURS DES LIMITES ELASTIQUES DES CRITERES
  95. C
  96. VMELAS=VMELAS+PENTE1*XLAMBD(3)
  97. DPELA2=DPELA2+PENTE2*XLAMBD(5)
  98. PORELA=PORELA+PENTE3*XLAMBD(1)
  99. C
  100. DO 30 III=1,6
  101. 30 SIGMAT(III)=STOT(III)
  102. C
  103. 160 CALL TRIAGE(ITRI,ALFADV,ALFAD1,ALFAD2,VMELAS,DPELAS,DPELA1,
  104. .DPELA2,PORELA,R1,R2,R3,SIGMA,DSIGMA,SIGMAT,SIGEL,DSIGP,TETAQ,IDED,
  105. .ICAS,IDAM,ITRAC,KOUPLE,IMIN,JMIN,GAMIN,ICRIT1,KASTR,DP2MIN,DPLAM,
  106. .DPLAM,PENTE1,PENTE2,CC,SS,CS,ICRIME,ICRIMT,ITETA,IRZ,LMIC5,
  107. .PREC,RFSG,RFEP,RFPR,KERRE)
  108. C
  109. IF(IDAM.NE.1) GO TO 31
  110. DO 32 III=1,6
  111. SIGCRI(III)=SIGEL(III)
  112. 32 CONTINUE
  113. C
  114. 31 IF(IMIN.EQ.0) GO TO 40
  115. IF(IMIN.EQ.6) GO TO 50
  116. IF(KOUPLE.EQ.2) GO TO 60
  117. IF(KOUPLE.EQ.3) GO TO 152
  118. ICRIT1=IMIN
  119. C
  120. C LA PREMIERE ESTIMATION DE DELTA LAMBD ITRI=1
  121. C
  122. 170 ITERA=1
  123. IF(IIMPI.EQ.9) WRITE(IOIMP,5007) ITERA
  124. ITRI=1
  125. CALL KRITER(ICRIT1,ALFADV,ALFAD1,ALFAD2,VMELAS,DPELAS,DPELA1,
  126. .DPELA2,PORELA,PENTE1,PENTE2,PENTE3,DPLAM,SIGEL,FSIG,FCRIT,KERRE)
  127. IF(IIMPI.EQ.9)
  128. .WRITE(IOIMP,5001) ICRIT1,ICRIME,ICRIMT,VMELAS,
  129. .DPELAS,DPELA1,DPELA2,PORELA,DPLAM,FSIG,FCRIT,
  130. .(SIGEL(I),I=1,6),(DSIGP(J),J=1,6)
  131. C
  132. C ON CALCUL LA VALEUR DE SIDEMI =(SIGEL + 0.5 DE DSIGP)CAR ON FAIT
  133. C LA LINEARISATION DU SYSTEME AU VOISINAGE DE CETTE VALEUR
  134. C SOLUTIN RETENUE PARCE QU'ELLE EST VALABLE QUELQUE SOIT LA
  135. C VALEUR DE X ( L'ESTIMATION DE LA QUANTITE DE DSIGP A ECOULER )
  136. C PETITE= ON EST PROCHE DE LA SURFACE DE CHARGE DU 2EME CRITERE
  137. C GRANDE= ON EST LOIN DE LA SURFACE DE CHARGE DU 2EME CRITERE
  138. C
  139. DO 34 II=1,6
  140. SIDEMI(II)=SIGEL(II)+0.5D0*DSIGP(II)
  141. 34 CONTINUE
  142. C
  143. CALL CRILAM(ICRIT1,SIDEMI,SIGEL,DSIGP,ALFADV,ALFAD1,ALFAD2,VMELAS,
  144. .DPELAS,DPELA1,DPELA2,PORELA,PENTE1,PENTE2,PENTE3,YUNG,XNU,
  145. .DGLAMP,DGLAMM,DGLAM,DL,DI,ISOMET,KERRE)
  146. IF(IIMPI.EQ.9)
  147. .WRITE(IOIMP,5002) ICRIT1,DGLAMP,DGLAMM,DGLAM,DL,ITERA
  148. C
  149. C TEST POUR LES DECHARGES
  150. C
  151. IF(ISOMET.EQ.1) GO TO 13
  152. IF(DGLAM.GE.0.D0) GO TO 11
  153. GO TO 12
  154. 13 IF(ICRIT1.EQ.4.OR.ICRIT1.EQ.5)GO TO 14
  155. WRITE(IOIMP,1006) ICRIT1
  156. KERRE=640
  157. RETURN
  158. C
  159. 14 ALFAN1=-0.5D0/ALFAD1
  160. ALFAN2=-0.5D0/ALFAD2
  161. DPELN1=DPELA1*ALFAN1/ALFAD1
  162. DPELN2=DPELA2*ALFAN2/ALFAD2
  163. UPNUSE=(1.D0+XNU)/YUNG
  164. UMDNSE=(1.D0-2.D0*XNU)/YUNG
  165. SISDF1=DPELA1/(3.D0*ALFAD1)
  166. CONST1=UMDNSE*DPELA2/(3.D0*ALFAD2)
  167. CONST2=UMDNSE*PENTE2/(3.D0*ALFAD2)
  168. CONDP4=3.D0*(ALFAD1*ALFAD1+0.5D0)
  169. CONDP5=3.D0*(ALFAD2*ALFAD2+0.5D0)
  170. C
  171. CALL KRITER(ICRIT1,ALFADV,ALFAN1,ALFAN2,VMELAS,DPELAS,DPELN1,
  172. .DPELN2,PORELA,PENTE1,PENTE2,PENTE3,DPLAM,SIGMAT,FSIG,FCRIT,KERRE)
  173. IF(FCRIT.GT.0.D0) GO TO 11
  174. C
  175. C CAS OU ON SORT PAR LE SOMMET DU CONE ET SIGMA TOTAL EST A L INTERIEUR
  176. C DU CONE DES NORMALES :DANS CE CAS LA SOLUTION C EST DE PROGETER SUR LE
  177. C SOMMET ET PUIS DE CALCULER LA VALEUR DE DELTA LAMBDA
  178. C
  179. DO 15 I=1,6
  180. SIGMAT(I)= SIGEL(I)+DSIGP(I)
  181. SIGMA(I)=SIGEL(I)
  182. SIGEL(I)=0.D0
  183. 15 CONTINUE
  184. IF(LMIC5.EQ.1) GO TO 16
  185. IF(ICRIT1.EQ.4) GO TO 16
  186. C
  187. C CAS DU CRITERE DE DRUCKER ECROUSSABLE (5)
  188. C
  189. C LE PROBLEME C EST DE TROUVER SIGMA SOLUTION (SIGEL) QUI DEPEND DE
  190. C DELTA LAMBDA INCONNUE AU DEPART CE QUI REVIENT A RESOUDRE UN EQUATION
  191. C DE DEUXIEME DEGRET DE DELTA LAMBDA DONT LES CONSTANTS SONT:
  192. C AA,BB,CC ( AA L2 + BB L + CC = 0 )
  193. C
  194. CC1=(SIGMAT(1)-XNU*(SIGMAT(2)+SIGMAT(3)))/YUNG-CONST1
  195. CC2=(SIGMAT(2)-XNU*(SIGMAT(3)+SIGMAT(1)))/YUNG-CONST1
  196. CC3=(SIGMAT(3)-XNU*(SIGMAT(1)+SIGMAT(2)))/YUNG-CONST1
  197. CC4=UPNUSE*SIGMAT(4)
  198. CC5=UPNUSE*SIGMAT(5)
  199. CC6=UPNUSE*SIGMAT(6)
  200. CC=CC1*CC1+CC2*CC2+CC3*CC3+(CC4*CC4+CC5*CC5+CC6*CC6)*2.D0
  201. BB=(CC1+CC2+CC3)*CONST2*2.D0
  202. AA=3.D0*CONST2*CONST2-CONDP5
  203. C
  204. C RESOLUTION DE L EQUATION
  205. C
  206. DELTA=BB*BB-4.D0*AA*CC
  207. VRF=MAX(ABS(BB),RFPR)
  208. RFRF=VRF*VRF*PREC*PREC
  209. IF(ABS(DELTA).LE.RFRF.AND.DELTA.LE.0.D0) DELTA=0.D0
  210. IF(DELTA.LT.0.D0) GO TO 12
  211. RADEL=SQRT(DELTA)
  212. DLAM1=(-BB+RADEL)/(2.D0*CC)
  213. DLAM2=(-BB-RADEL)/(2.D0*CC)
  214. DLAM5=MAX(DLAM1,DLAM2)
  215. IF(ABS(DLAM5).LE.RFEP*PREC)DLAM5=0.D0
  216. IF(DLAM5.LT.0.D0) GO TO 12
  217. DLAMX=XLAMAX-XLAMBD(5)-DLAMBD(5)
  218. IF(DLAM5.LE.DLAMX) GO TO 17
  219. LMIC5=1
  220. KASTR=2
  221. DLAM5=DLAMX
  222. 17 SISDF2=(DPELA2+PENTE2*DLAM5)/(3.D0*ALFAD2)
  223. SIGEL(1)=SISDF2
  224. SIGEL(2)=SISDF2
  225. SIGEL(3)=SISDF2
  226. CONST3=SISDF2*UMDNSE
  227. DLAMBD(5)=DLAMBD(5)+DLAM5
  228. IF(LMIC5.EQ.0) GO TO 130
  229. C
  230. C CAS OU DELTA LAMBDA CALCULE EST PLUS GRAND QUE DLAMX DANS CE CAS LA ON
  231. C AURA UNE QUANTITE DE DELTA SIGMA A ECOULER SUR LE CRITERE DE DRUCKER
  232. C FIXE (4),POUR CELA CONNESSANT LA VALEUR DE DELTA LAMBDA QUI EST EGALE
  233. C A LA VALEUR DE DLAMX ON CALCUL LA PROPORTION DE DELTA SIGMA TOTAL DEJA
  234. C UTILISEE POUR L ECOULEMENT CORRESPONDANT A LA VALEUR DE DLAMX SUR LE
  235. C CRITERE DE DRUCKER ECROUISSABLE (5) CE QUI NOUS RAMENE A RESOUDRE UNE
  236. C EQUATION DE SECONDE DEGRE
  237. C
  238. CC1=(SIGMA(1)-XNU*(SIGMA(2)+SIGMA(3)))/YUNG-CONST3
  239. CC2=(SIGMA(2)-XNU*(SIGMA(3)+SIGMA(1)))/YUNG-CONST3
  240. CC3=(SIGMA(3)-XNU*(SIGMA(1)+SIGMA(2)))/YUNG-CONST3
  241. CC4=UPNUSE*SIGMA(4)
  242. CC5=UPNUSE*SIGMA(5)
  243. CC6=UPNUSE*SIGMA(6)
  244. CC=CC1*CC1+CC2*CC2+CC3*CC3+(CC4*CC4+CC5*CC5+CC6*CC6)*2.D0
  245. CC=CC-DLAMX*DLAMX*CONDP5
  246. BB1=(DSIGP(1)-XNU*(DSIGP(2)+DSIGP(3)))/YUNG
  247. BB2=(DSIGP(2)-XNU*(DSIGP(3)+DSIGP(1)))/YUNG
  248. BB3=(DSIGP(3)-XNU*(DSIGP(1)+DSIGP(2)))/YUNG
  249. BB4=UPNUSE*DSIGP(4)
  250. BB5=UPNUSE*DSIGP(5)
  251. BB6=UPNUSE*DSIGP(6)
  252. BB=2.D0*(CC1*BB1+CC2*BB2+CC3*BB3+(CC4*BB4+CC5*BB5+CC6*BB6)*2.D0)
  253. AA=BB1*BB1+BB2*BB2+BB3*BB3+(BB4*BB4+BB5*BB5+BB6*BB6)*2.D0
  254. C
  255. C RESOLUTION DE L EQUATION
  256. C
  257. DELTA=BB*BB-4.D0*AA*CC
  258. VRF=MAX(ABS(BB),RFSG)
  259. RFRF=VRF*VRF*PREC*PREC
  260. IF(ABS(DELTA).LE.RFRF.AND.DELTA.LE.0.D0) DELTA=0.D0
  261. IF(DELTA.LT.0.D0) GO TO 130
  262. RADEL=SQRT(DELTA)
  263. DELX1=(-BB+RADEL)/(2.D0*CC
  264. IF(ABS(DELX1).LE.RFEP*PREC)DELX1=0.D0
  265. IF(DELX1.LT.0.D0.OR.DELX1.GT.1.D0)DELX1=-1.D0
  266. DELX2=(-BB-RADEL)/(2.D0*CC)
  267. IF(ABS(DELX2).LE.RFEP*PREC)DELX2=0.D0
  268. IF(DELX2.LT.0.D0.OR.DELX2.GT.1.D0)DELX2=-2.D0
  269. DELX=MAX(DELX1,DELX2)
  270. IF(DELX.LT.0.D0.OR.DELX.EQ.1.D0) GO TO 130
  271. UMDELX=1.D0-DELX
  272. DO 18 I=1,6
  273. DSIGP(I)=DSIGP(I)*UMDELX
  274. SIGMAT(I)=SIGEL(I)+DSIGP(I)
  275. 18 CONTINUE
  276. C
  277. C CAS DU CRITERE DE DRUCKER FIXE (4)
  278. C
  279. 16 SIGEL(1)=SISDF1
  280. SIGEL(2)=SISDF1
  281. SIGEL(3)=SISDF1
  282. DO 19 I=1,6
  283. DSIGPR(I)=SIGMAT(I)-SIGEL(I)
  284. DEPSP(I)=UPNUSE*DSIGPR(I)
  285. 19 CONTINUE
  286. DPS=XNU*(DSIGPR(1)+DSIGPR(2)+DSIGPR(3))/YUNG
  287. DEPSP(1)=DEPSP(1)-DPS
  288. DEPSP(2)=DEPSP(2)-DPS
  289. DEPSP(3)=DEPSP(3)-DPS
  290. AA4=DEPSP(1)*DEPSP(1)+DEPSP(2)*DEPSP(2)+DEPSP(3)*DEPSP(3)
  291. BB4=2.D0*(DEPSP(4)*DEPSP(4)+DEPSP(5)*DEPSP(5)+DEPSP(6)*DEPSP(6))
  292. CC4=(AA4+BB4)/CONDP4
  293. IF(ABS(CC4).LE.RFEP*RFEP*PREC*PREC) CC4=0.D0
  294. IF(CC4.LT.0) GO TO 12
  295. DLAM4=SQRT(CC4)
  296. DLAMBD(4)=DLAMBD(4)+DLAM4
  297. GO TO 130
  298. C
  299. 12 IF(IIMPI.EQ.9) WRITE(IOIMP,5020)
  300. GO TO 40
  301. C
  302. 11 CALL DDFDS(ICRIT1,ALFADV,ALFAD1,ALFAD2,YUNG,XNU,SIDEMI,SIGEL,
  303. .DDF,KERRE)
  304. DO 70 III=1,6
  305. DSIGPR(III)=DSIGP(III)-DDF(III)*DGLAMP
  306. SIGMA(III)=SIGEL(III)-DDF(III)*DL
  307. DSIGMA(III)=DSIGPR(III)
  308. SIGMAT(III)=SIGMA(III)+DSIGMA(III)
  309. 70 CONTINUE
  310. IF(IIMPI.EQ.9)
  311. .WRITE(IOIMP,7000) (SIGMA(I),I=1,6),(DSIGMA(J),J=1,6),
  312. . (SIGMAT(K),K=1,6),(DDF(L),L=1,6),(DSIGP(M),M=1,6)
  313. GO TO (71,72,73,74,75),ICRIT1
  314. WRITE(IOIMP,1000)
  315. KERRE=640
  316. RETURN
  317. C
  318. C L ECOULEMENT SELON LE CRITERE CORRESPONDANT
  319. C
  320. 71 IF(IIMPI.EQ.9) WRITE(IOIMP,6001)
  321. GO TO 80
  322. 72 IF(IIMPI.EQ.9) WRITE(IOIMP,6002)
  323. GO TO 80
  324. 73 IF(IIMPI.EQ.9) WRITE(IOIMP,6003)
  325. IF(IDED.EQ.0.OR.IDED.EQ.2) IDED=IDED+1
  326. GO TO 80
  327. 74 IF(IIMPI.EQ.9) WRITE(IOIMP,6004)
  328. GO TO 80
  329. 75 IF(IIMPI.EQ.9) WRITE(IOIMP,6005)
  330. IF(IDED.EQ.0.OR.IDED.EQ.1) IDED=IDED+2
  331. 80 IDAM=IDAM+1
  332. C
  333. C ITERATIONS INTERNES
  334. C
  335. 81 IF(IDAM.LT.10) GO TO 85
  336. WRITE(IOIMP,7001)
  337. KERRE=640
  338. RETURN
  339. 85 CALL TRIAGE(ITRI,ALFADV,ALFAD1,ALFAD2,VMELAS,DPELAS,DPELA1,
  340. .DPELA2,PORELA,R1,R2,R3,SIGMA,DSIGMA,SIGMAT,SIGEL,DSIGP,TETAQ,IDED,
  341. .ICAS,IDAM,ITRAC,KOUPLE,IMIN,JMIN,GAMIN,ICRIT1,KASTR,DP2MIN,DGLAMP,
  342. .DL,PENTE1,PENTE2,CC,SS,CS,ICRIME,ICRIMT,ITETA,IRZ,LMIC5,
  343. .PREC,RFSG,RFEP,RFPR,KERRE)
  344. ICRIT2=IMIN
  345. IF(IIMPI.EQ.9) WRITE(IOIMP,9006) KOUPLE,ICRIT1,IMIN,JMIN,GAMIN
  346. IF(GAMIN.LT.0.D0) GAMIN=0.D0
  347. IF(KOUPLE.NE.2) GO TO 86
  348. ICRIT2=IMIN
  349. JCRIT2=JMIN
  350. 86 XX=XX+GAMIN
  351. IF(XX.LE.1.D0) GO TO 33
  352. GAMIN=GAMIN+1.D0-XX
  353. XX=1.D0
  354. 33 IF(IIMPI.EQ.9) WRITE(IOIMP,5006)XX,GAMIN
  355. DPLAM=DGLAMP*GAMIN+DL
  356. IF(ABS(DPLAM).LT.RFPR*PREC.AND.DPLAM.LT.0.D0) DPLAM=0.D0
  357. IF(ICRIT1.NE.5) GO TO 91
  358. IF(DGLAMP.EQ.0.D0) GO TO 91
  359. DPLMAX=XLAMAX-XLAMBD(5)-DLAMBD(5)
  360. TSTDPL=DPLMAX-DPLAM
  361. IF(TSTDPL.GE.0.D0) GO TO 91
  362. GAMINI=(DPLMAX-DL)/DGLAMP
  363. IF(GAMINI.LT.0.D0) GAMINI=0.D0
  364. DGAM=GAMINI-GAMIN
  365. XX=XX+DGAM
  366. IF(IIMPI.EQ.9) WRITE(IOIMP,8002) DGAM,GAMINI,DPLMAX,XX,DPLAM
  367. DPLAM=DPLMAX
  368. GAMIN=GAMINI
  369. C IC5=1
  370. C
  371. 91 DLAMBD(ICRIT1)=DLAMBD(ICRIT1)+DPLAM
  372. DO 92 III=1,6
  373. DELSIG(III)=DSIGPR(III)*GAMIN-DDF(III)*DL
  374. SIGEL(III)=SIGEL(III)+DELSIG(III)
  375. 92 CONTINUE
  376. IF(XX.LT.1.D0) GO TO 82
  377. DO 83 III=1,6
  378. DSIGP(III)=0.D0
  379. 83 CONTINUE
  380. 82 IF(IIMPI.EQ.9) WRITE(IOIMP,5000) ICRIT1,(DLAMBD(I),I=1,5),
  381. . ITERA,DPLAM
  382. CALL KRITER(ICRIT1,ALFADV,ALFAD1,ALFAD2,VMELAS,DPELAS,DPELA1,
  383. .DPELA2,PORELA,PENTE1,PENTE2,PENTE3,DPLAM,SIGEL,FSIG,FCRIT,KERRE)
  384. IF(IIMPI.EQ.9)
  385. .WRITE(IOIMP,5001) ICRIT1,ICRIME,ICRIMT,VMELAS,DPELAS,
  386. . DPELA1,DPELA2,PORELA,DPLAM,FSIG,FCRIT,
  387. . (SIGEL(I),I=1,6),(DSIGP(J),J=1,6)
  388. ITRI=2
  389. IF(ITERA.EQ.1) GO TO 110
  390. C
  391. IF(ABS(DLAMBD(ICRIT1)).LT.RFPR*PREC.AND.DLAMBD(ICRIT1).LT.0.D0)
  392. .DLAMBD(ICRIT1)=0.D0
  393. IF(ABS(DLAMBD(ICRIT1)).LE.RFEP)
  394. .DLAMBD(ICRIT1)=0.D0
  395. IF(DLAMBD(ICRIT1).GE.0.D0) GO TO 109
  396. WRITE(IOIMP,1010) ICRIT1,DLAMBD(ICRIT1)
  397. KERRE=640
  398. RETURN
  399. C
  400. C TEST DE CONVERGENCE
  401. C
  402. 109 IF(DLAMBD(ICRIT1).EQ.0.D0) GO TO 120
  403. DENOR=MAX(DLAMBD(ICRIT1),RFEP)
  404. TEST=ABS(DPLAM)/DENOR
  405. IF(IIMPI.EQ.9) WRITE(IOIMP,5107) DPLAM,DLAMBD(ICRIT1),TEST
  406. C
  407. C CAS DU CRITERE DE DRUCKER FRAGILE ECROUISSABLE QUAND DPLAM CALCULE
  408. C EST PLUS GRAND QUE DPLMAX. DANS CE CAS ON TEST SUR FCRIT ET PAS
  409. C SUR DPLAM
  410. C
  411. C IF(ICRIT1.NE.5.OR.IC5.NE.1) GO TO 119
  412. TEST1=ABS(FCRIT)*PREC/RFSG
  413. C IC5=0
  414. IF(IIMPI.EQ.9) WRITE(IOIMP,5108) FCRIT,TEST1,TEST
  415. C
  416. 119 IF(TEST.LT.PREC) GO TO 120
  417. IF(ITERA.LE.20) GO TO 110
  418. WRITE(IOIMP,1011) ICRIT1,ITERA,DPLAM,DLAMBD(ICRIT1),TEST
  419. KERRE=640
  420. RETURN
  421. C
  422. 110 ITERA=ITERA+1
  423. IF(IIMPI.EQ.9) WRITE(IOIMP,5007) ITERA
  424. CALL CRILAM(ICRIT1,SIGMAT,SIGEL,DSIGP,ALFADV,ALFAD1,ALFAD2,VMELAS,
  425. .DPELAS,DPELA1,DPELA2,PORELA,PENTE1,PENTE2,PENTE3,YUNG,XNU,
  426. .DGLAM,DGLAMM,DGLAMP,DI,DL,ISOMET,KERRE)
  427. IF(IIMPI.EQ.9)
  428. .WRITE(IOIMP,5002) ICRIT1,DGLAMP,DGLAMM,DGLAM,DL,ITERA
  429. CALL DDFDS(ICRIT1,ALFADV,ALFAD1,ALFAD2,YUNG,XNU,SIGEL,SIGMAT,
  430. .DDF,KERRE)
  431. DO 100 III=1,6
  432. DSIGPR(III)=DSIGP(III)-DDF(III)*DGLAMP
  433. IF(IIMPI.EQ.9) WRITE(IOIMP,5005) SIGEL(III),DSIGPR(III)
  434. SIGMA(III)=SIGEL(III)-DDF(III)*DL
  435. DSIGMA(III)=DSIGPR(III)
  436. SIGMAT(III)=SIGMA(III)+DSIGMA(III)
  437. 100 CONTINUE
  438. IF(IIMPI.EQ.9) WRITE(IOIMP,7000) (SIGMA(I),I=1,6),
  439. . (DSIGMA(J),J=1,6),
  440. . (SIGMAT(K),K=1,6),(DDF(L),L=1,6),(DSIGP(M),M=1,6)
  441. GO TO 81
  442. C
  443. 120 IF(XX.GT.1.) XX=1.D0
  444. DELIX=1.D0-XX
  445. DO 121 III=1,6
  446. DSIGP(III)=DSIGP(III)*DELIX
  447. 121 CONTINUE
  448. XLMDF=(XLAMAX-XLAMBD(5)-DLAMBD(5))*2.D0/
  449. . (XLAMAX+XLAMBD(5)+DLAMBD(5))
  450. DIFLAM=XLAMBD(5)+DLAMBD(5)-XLAMER
  451. IF(DIFLAM.LT.0.D0) GO TO 123
  452. KASTR=2
  453. TRALIM=DPELA2/(3.D0*ALFAD2)
  454. IF(XLMDF.LE.PREC) TRALIM=0.D0
  455. IF(TRALIM.EQ.0.D0) LMIC5=1
  456. R1=R01
  457. R2=R02
  458. R3=R03
  459. IF(R1.GT.0.D0) R1=TRALIM
  460. IF(R2.GT.0.D0) R2=TRALIM
  461. IF(R3.GT.0.D0) R3=TRALIM
  462. 123 IF(IIMPI.EQ.9) WRITE(IOIMP,8000) DELIX,ICRIT1,ICRIT2
  463. IF(DELIX.LE.RFEP) GO TO 130
  464. IF(ICRIT1.EQ.5.AND.LMIC5.EQ.1) GO TO 180
  465. IF(ICRIT2.EQ.6.OR.JCRIT2.EQ.6) GO TO 140
  466. IF(ICRIT2.EQ.7.OR.JCRIT2.EQ.7) GO TO 140
  467. IF(KOUPLE.EQ.2) GO TO 150
  468. C
  469. C L ECOULEMENT SELON COUPLE
  470. C
  471. IF(IIMPI.EQ.9) WRITE(IOIMP,6008)
  472. 157 ICAS=ICRIT1+ICRIT2-2
  473. 153 IF(ICAS.NE.5) GO TO 60
  474. IF(ICRIT1.EQ.3.OR.ICRIT2.EQ.3) ICAS=8
  475. 60 IF(IIMPI.EQ.9) WRITE(IOIMP,8001) ICAS
  476. IF(IIMPI.EQ.9) WRITE(IOIMP,5003) (SIGEL(I),I=1,6)
  477. IF(IIMPI.EQ.9) WRITE(IOIMP,5004) (DSIGP(I),I=1,6)
  478. C
  479. CALL COUPLE(ICAS,ALFADV,ALFAD1,ALFAD2,VMELAS,DPELAS,DPELA1,
  480. .DPELA2,PORELA,PENTE1,PENTE2,PENTE3,YUNG,XNU,SIGEL,DSIGP,DLAMBD,
  481. .XLAMBD,ICOUP,ICRIT1,ICRIT2,SIGMA,DSIGMA,SIGMAT,XX,IDED,LMIC5,
  482. .ICRIME,ICRIMT,XLAMAX,PREC,RFSG,RFEP,RFPR,KERRE)
  483. IF(ICOUP.EQ.0) GO TO 130
  484. GO TO (161,162,152),ICOUP
  485. WRITE(IOIMP,1003)
  486. KERRE=640
  487. RETURN
  488. C
  489. C IL RESTE ENCORE UN INCREMENT DE CONTRAINTE A ECOULER SUIVANT
  490. C LE CRITERE DE DRUCKER PRAGER FRAGILE FIXE
  491. C
  492. 180 IF(IIMPI.EQ.9) WRITE(IOIMP,6012)
  493. DO 181 I=1,6
  494. SIGMA(I)=SIGEL(I)
  495. DSIGMA(I)=DSIGP(I)
  496. SIGMAT(I)=SIGEL(I)+DSIGP(I)
  497. 181 CONTINUE
  498. ICRIT1=4
  499. ICRIME=5
  500. KASTR=2
  501. DPLAM=0.D0
  502. IDAM=IDAM+1
  503. GO TO 170
  504. C
  505. C IL N Y A PAS DE COUPLAGE
  506. C
  507. 161 IF(IIMPI.EQ.9) WRITE(IOIMP,5008)
  508. GO TO 1234
  509. 166 IF(IIMPI.EQ.9) WRITE(IOIMP,8004)
  510. 1234 DPLAM=0.D0
  511. IF(ICRIT1.NE.0) GO TO 170
  512. ITERA=0
  513. ITRI=0
  514. GO TO 160
  515. C
  516. C IL Y A COUPLAGE
  517. C
  518. 162 IF(IIMPI.EQ.9) WRITE(IOIMP,5009)
  519. DIFLAM=XLAMBD(5)-XLAMER
  520. XLMDF=(XLAMAX-XLAMBD(5))*2.D0/(XLAMAX+XLAMBD(5))
  521. IF(DIFLAM.LT.0.D0) GO TO 122
  522. KASTR=2
  523. TRALIM=DPELA2/(3.D0*ALFAD2)
  524. IF(XLMDF.LE.PREC) TRALIM=0.D0
  525. IF(TRALIM.EQ.0.D0) LMIC5=1
  526. R1=R01
  527. R2=R02
  528. R3=R03
  529. IF(R1.GT.0.D0) R1=TRALIM
  530. IF(R2.GT.0.D0) R2=TRALIM
  531. IF(R3.GT.0.D0) R3=TRALIM
  532. 122 IDAM=IDAM+1
  533. GO TO(333,163,163,333,164,165,164,163),ICAS
  534. WRITE(IOIMP,1004)
  535. KERRE=640
  536. RETURN
  537. 163 IF(IDED.EQ.0.OR.IDED.EQ.2) IDED=IDED+1
  538. GO TO 333
  539. 164 IF(IDED.EQ.0.OR.IDED.EQ.1) IDED=IDED+2
  540. IF(ICRIME.EQ.5) GO TO 166
  541. GO TO 333
  542. 165 IDED=3
  543. IF(ICRIME.EQ.5) GO TO 166
  544. GO TO 333
  545. C
  546. C COUPLAGE AVEC LA TRACTION
  547. C
  548. 140 DO 141 III=1,6
  549. SIGMAT(III)=SIGEL(III)+DSIGP(III)
  550. 141 CONTINUE
  551. ITRI=0
  552. ITERA=0
  553. XX=0.D0
  554. DPLAM=0.D0
  555. ITS=1
  556. DO 142 III=1,5
  557. XLAMBD(III)=XLAMBD(III)+DLAMBD(III)
  558. 142 CONTINUE
  559. DO 143 III=1,5
  560. DLAMBD(III)=0.D0
  561. 143 CONTINUE
  562. C
  563. C L ECOULEMENT SELON LE CRITERE DE LA TRACTION
  564. C
  565. 50 IF(IIMPI.EQ.9) WRITE(IOIMP,6006)
  566. CALL CRACK(SIGMAT,SIGEL,DSIGP,R1,R2,R3,TETAQ,ITRAC,ITENS,
  567. .ITENRZ,ITENTE,ITETA,IRZ,SIGMA,DSIGMA,YUNG,XNU,
  568. .ALFAD2,DPELA2,PENTE2,IBAB,ICTD,KASTR,PREC,RFSG,RFEP,RFPR,KERRE)
  569. IDAM=IDAM+1
  570. IF(ICTD.EQ.0) GO TO 333
  571. ICRIT1=0
  572. ITRI=0
  573. KASTR=2
  574. R01=R1
  575. R02=R2
  576. R03=R3
  577. GO TO 160
  578. C
  579. 150 IF(ICRIT1.EQ.ICRIT2.OR.ICRIT1.EQ.JCRIT2) GO TO 151
  580. KAT=ICRIT1+ICRIT2+JCRIT2
  581. IF(ICRIT1.EQ.4.OR.ICRIT2.EQ.4.OR.JCRIT2.EQ.4) GO TO 159
  582. IF(KAT.EQ.6) GO TO 152
  583. 159 IF(ICRIT1.LE.3) GO TO 157
  584. IF(ICRIT1.GT.5) GO TO 158
  585. ICRIT2=JCRIT2
  586. GO TO 157
  587. 158 WRITE(IOIMP,1005) ICRIT1,ICRIT2,JCRIT2
  588. KERRE=640
  589. RETURN
  590. C
  591. C UN CAS DE COUPLAGE
  592. C
  593. 151 ICAS=ICRIT2+JCRIT2-2
  594. GO TO 153
  595. C
  596. C L ECOULEMENT SELON TRIPLE
  597. C
  598. 152 IF(IIMPI.EQ.9) WRITE(IOIMP,6009)
  599. CALL TRIPLE(ALFADV,ALFAD1,ALFAD2,VMELAS,DPELAS,DPELA1,DPELA2,
  600. .PORELA,PENTE1,PENTE2,PENTE3,YUNG,XNU,SIGEL,DSIGP,DLAMBD,XLAMBD,
  601. .ICOUP,ICAS,ICRIT1,ICRIT2,ICRIME,ICRIMT,SIGMA,DSIGMA,XX,
  602. .PREC,RFSG,RFEP,RFPR,KERRE)
  603. IF(ICOUP.EQ.0) GO TO 130
  604. GO TO(154,155,156),ICOUP
  605. WRITE(IOIMP,1007)
  606. KERRE=640
  607. RETURN
  608. C
  609. C IL N Y A PAS DE TRIPLAGE NI DE COUPLAGE
  610. C
  611. 154 IF(IIMPI.EQ.9) WRITE(IOIMP,5013)
  612. DPLAM=0.D0
  613. GO TO 170
  614. C
  615. C IL N Y A PAS DE TRIPLAGE MAIS IL Y A COUPLAGE
  616. C
  617. 155 IF(IIMPI.EQ.9) WRITE(IOIMP,6010)
  618. GO TO 60
  619. C
  620. C IL Y A TRIPLAGE
  621. C
  622. 156 IF(IIMPI.EQ.9) WRITE(IOIMP,6011)
  623. IF(IDED.EQ.0.OR.IDED.EQ.2) IDED=IDED+1
  624. GO TO 333
  625. C
  626. C LA SORTIE
  627. C
  628. 40 IF(IIMPI.EQ.9) WRITE(IOIMP,6000)
  629. IF(IDAM.LE.1) RETURN
  630. C
  631. DO 41 III=1,6
  632. SIGEL(III)=SIGMAT(III)
  633. 41 CONTINUE
  634. DO 42 I=1,5
  635. XLAMBD(I)=XLAMBD(I)+DLAMBD(I)
  636. 42 CONTINUE
  637. GO TO 333
  638. C
  639. 130 IF(IIMPI.EQ.9) WRITE(IOIMP,6007)
  640. DO 131 I=1,5
  641. 131 XLAMBD(I)=XLAMBD(I)+DLAMBD(I)
  642. ICOUP=1
  643. GO TO 333
  644. C
  645. C CALCUL DES CRITERES APRES LA CONVERGENCE
  646. C
  647. 333 IF(IIMPI.EQ.9) WRITE(IOIMP,5010)
  648. DO 4444 KLM=1,5
  649. CALL KRITER(KLM,ALFADV,ALFAD1,ALFAD2,VMELA0,DPELAS,DPELA1,DPEL20,
  650. .POREL0,PENTE1,PENTE2,PENTE3,XLAMBD(KLM),SIGEL,FSIG,FCRIT,KERRE)
  651. DLAMBD(KLM)=XLAMBD(KLM)-XLAMBO(KLM)
  652. SIS(KLM)=FSIG
  653. CRI(KLM)=FCRIT
  654. IF(IIMPI.EQ.9) WRITE(IOIMP,5011) KLM,FSIG,FCRIT,DLAMBD(KLM),
  655. . XLAMBD(KLM)
  656. 4444 CONTINUE
  657. C
  658. IF(IIMPI.EQ.9) WRITE(IOIMP,5012) IDAM,
  659. . (SIGEL(I),I=1,6),(DSIGP(J),J=1,6)
  660. C
  661. 1000 FORMAT(1X,'ERREUR DANS DAMAGE DANS LA VALEUR DE ICRIT1')
  662. 1003 FORMAT(1X,'ERREUR DANS DAMAGE DANS LA VALEUR DE ICOUP APRES ',
  663. . 'COUPLE')
  664. 1004 FORMAT(1X,'ERREUR DANS DAMAGE DANS LA VALEUR DE ICAS APRES ',
  665. . 'COUPLAGE')
  666. 1005 FORMAT(1X,'ERREUR DANS DAMAGE KOUPLE=2',/,
  667. . 1X,'ICRIT1=',I4,1X,'ICRIT2=',I4,1X,'JCRIT2=',I4)
  668. 1006 FORMAT(1X,'ERREUR DANS DAMAGE CAS DE DECHARGE ICRIT1=',I4)
  669. 1007 FORMAT(1X,'ERREUR DANS DAMAGE DANS LA VALEUR DE ICOUP APRES ',
  670. . 'TRIPLE')
  671. 1010 FORMAT(1X,'ERREUR DANS DAMAGE DLAMBD(',I1,') EST NEGATIF',
  672. . 1X,'DLAMBD=',1PD12.5)
  673. 1011 FORMAT(1X,'ERREUR DANS DAMAGE ON N ARRIVE PAS A CONVERGER',/,
  674. . 1X,'ICRIT1=',I4,1X,'ITERA =',I4,1X,'DPLAM =',1PD12.5,/,
  675. . 1X,'DLAMBD=',D12.5,1X,'TEST =',1PD12.5)
  676. 5000 FORMAT(1X,'ICRIT1=',I4,/,1X,'DLAMBD=',1PD12.5,/,4(8X,1PD12.5,/),
  677. . 1X,'ITERA =',I4,1X,'DPLAM =',1PD12.5)
  678. 5001 FORMAT(1X,'ON EST DANS DAMAGE APRES CALL KRITER '/
  679. . 1X,'ICRIT1=',I4,1X,'ICRIME=',I4,1X,'ICRIMT=',I4,/,
  680. . 1X,'VMELAS=',1PD12.5,1X,'DPELAS=',1PD12.5,
  681. . 1X,'DPELA1=',1PD12.5,1X,'DPELA2=',1PD12.5,/,
  682. . 1X,'PORELA=',1PD12.5,1X,'DPLAM =',1PD12.5,
  683. . 1X,'FSIG =',1PD12.5,1X,'FCRIT =',1PD12.5,/,
  684. . 1X,'SIGEL =',6(1PD12.5,1X),/,
  685. . 1X,'DSIGP =',6(1PD12.5,5X))
  686. 5002 FORMAT(1X,'ON EST DANS DAMAGE APRES LE CALL CRILAM ',/,
  687. . 1X,'ICRIT1=',I4,1X,'DGLAMP=',1PD12.5,1X,'DGLAMM=',1PD12.5,
  688. . 1X,'DGLAM =',1PD12.5,1X,'DL =',1PD12.5,1X,'ITERA =',I4)
  689. 5003 FORMAT(1X,'SIGEL =',6(1X,1PD12.5))
  690. 5004 FORMAT(1X,'DSIGP =',6(1X,1PD12.5))
  691. 5005 FORMAT(1X,'SIGEL =',1PD12.5,1X,'DSIGPR=',1PD12.5)
  692. 5006 FORMAT(1X,'XX =',1PD12.5,1X,'GAMIN =',1PD12.5)
  693. 5007 FORMAT(1X,'ITERA =',I4)
  694. 5008 FORMAT(1X,'IL N Y A PAS DE COUPLAGE')
  695. 5009 FORMAT(1X,'IL Y A COUPLAGE')
  696. 5010 FORMAT(1X,'ICRIT',6X,'FSIG',11X,'FCRIT',10X,'DLAMBD',9X,'XLAMBD')
  697. 5011 FORMAT(3X,I1,4(5X,1PD12.5))
  698. 5012 FORMAT(1X,'IDAM =',I4,/,
  699. . 1X,'SIGEL =',6(1X,1PD12.5),/,
  700. . 1X,'DSIGP =',6(1X,1PD12.5))
  701. 5013 FORMAT(1X,'IL N Y A PAS DE TRIPLAGE NI DE COUPLAGE')
  702. 5020 FORMAT(1X,'IL N Y A PAS D ENDOMMAGEMENT ON DECHARGE')
  703. 5107 FORMAT(1X,'DPLAM =',1PD12.5,1X,'DLAMBD=',1PD12.5,
  704. . 1X,'TEST =',1PD12.5)
  705. 5108 FORMAT(1X,'FCRIT =',1PD12.5,1X,'TEST1 =',1PD12.5,
  706. . 1X,'TEST =',1PD12.5)
  707. 6000 FORMAT(1X,'IL N Y A PAS D ENDOMMAGEMENT')
  708. 6001 FORMAT(1X,'L ECOULEMENT SELON LE CRITERE DE LA POROSITE (1)')
  709. 6002 FORMAT(1X,'L ECOULEMENT SELON LE CRITERE DE DRUCKER DUCTILE (2)')
  710. 6003 FORMAT(1X,'L ECOULEMENT SELON LE CRITERE DE VON MISES (3)')
  711. 6004 FORMAT(1X,'L ECOULEMENT SELON LE CRITERE DE DRUCKER FRAGILE (4)')
  712. 6005 FORMAT(1X,'L ECOULEMENT SELON LE CRITERE DE DRUCKER FRAGILE ',
  713. .'ECR. (5)')
  714. 6006 FORMAT(1X,'L ECOULEMENT SELON LE CRITERE DE LA TRACTION')
  715. 6007 FORMAT(1X,'L ECOULEMENT SELON UN SEUL CRITERE')
  716. 6008 FORMAT(1X,'L ECOULEMENT SELON COUPLE')
  717. 6009 FORMAT(1X,'L ECOULEMENT SELON TRIPLE')
  718. 6010 FORMAT(1X,'IL N Y A PAS DE TRIPLAGE MAIS IL Y A COUPLAGE')
  719. 6011 FORMAT(1X,'IL Y A TRIPLAGE')
  720. 6012 FORMAT(1X,'IL RESTE ENCORE UN INCREMENT DE CONTRAINTE ',
  721. .'A ECOULER SUIVANT',/,1X,'LE CRITERE DE DRUCKER FRAGILE FIXE')
  722. 7000 FORMAT(1X,'SIGMA =',6(1X,1PD12.5),/,1X,'DSIGMA=',6(1X,1PD12.5),/,
  723. . 1X,'SIGMAT=',6(1X,1PD12.5),/,
  724. . 1X,'DDF =',6(1X,1PD12.5),/,1X,'DSIGP =',6(1X,1PD12.5))
  725. 7001 FORMAT(1X,'ERREUR DANS DAMAGE IDAM EST PLUS GRAND QUE 10 ')
  726. 8000 FORMAT(1X,'DELIX =',1PD12.5,1X,'ICRIT1=',I4,1X,'ICRIT2=',I4)
  727. 8001 FORMAT(1X,'ICAS =',I4)
  728. 8002 FORMAT(1X,'DGAM =',1PD12.5,1X,'GAMINI=',1PD12.5,
  729. . 1X,'DPLMAX=',1PD12.5,/,
  730. . 1X,'XX ',1PD12.5,1X,'DPLAM =',1PD12.5)
  731. 8004 FORMAT(1X,'IL Y A COUPLAGE MAIS IL RESTE ENCORE DE L INCREMENT DE
  732. .CONTRAINTES')
  733. 9006 FORMAT(1X,'ON EST DANS DAMAGE APRES LE 2-EME APPEL A TRIAGE '/
  734. .1X,'KOUPLE=',I4,1X,'ICRIT1=',I4,1X,'IMIN =',I4,1X,'JMIN =',I4,/,
  735. .1X,'GAMIN =',1PD12.5)
  736. 9999 FORMAT(1X,'ON EST EN TETE DE DAMAGE ',/,
  737. . 2(7(1X,1PD12.5)/),5(1X,1PD12.5)/4(6(1X,1PD12.5)/),
  738. . 7(1X,1PD12.5),1X,I4,1X,I4)
  739. C
  740. RETURN
  741. END
  742.  
  743.  

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