Télécharger metallurgie_05.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : metallurgie_05.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *__________________________________________________________________*
  6. * TEST METALLURGIE_05 *
  7. * *
  8. * CALCUL DES PROPORTIONS DE PHASE METALLURGIQUE *
  9. * *
  10. * Un MODELE thermo-metallurgique est cree et un diagramme TRC *
  11. * correspondant est cree *
  12. * *
  13. * Le modèle métallurgique est codé en GIBIANE *
  14. * - Procédure PARATHER : Mise a jour du matériaux THERMIQUE *
  15. * avec la proportion de phase *
  16. * - Procédure CHARTHER : Mise a jour des proportions de phase *
  17. * selon un schéma EULER 1 Implicite *
  18. * *
  19. * Le modèle métallurgique contient 5 phases ayant des cinétiques *
  20. * de transformation différentes *
  21. * - Metal de Base (MB) *
  22. * - Austénite *
  23. * - Martensite *
  24. * - Bainite *
  25. * - Ferrite *
  26. *__________________________________________________________________*
  27. * *
  28. * Appel a la procedure TRC.procedur pour obtenir un diagramme *
  29. * TRC du modèle métallurgique en question *
  30. *__________________________________________________________________*
  31. *
  32. OPTI DIME 2 ELEM 'TRI3';
  33.  
  34. TINI = 900. ;
  35. TFIN = 20. ;
  36.  
  37. * Calcul automatique de la liste des vitesses de refroidissement
  38. NBVI = 30 ;
  39. VIT1 = 250. ;
  40. VIT2 = 2. ;
  41. VLOG1 = 'LOG' VIT1;
  42. VLOG2 = 'LOG' VIT2;
  43.  
  44. PASLOG = (VLOG2 - VLOG1) / (NBVI - 1);
  45. LRELOG ='PROG' VLOG1 'PAS' PASLOG VLOG2;
  46. LISTREF='EXP' LRELOG;
  47.  
  48.  
  49. ************************************************************************
  50. * Pour faire des beaux DESSINS
  51. ************************************************************************
  52. * LISTMOTS contenant les couleurs
  53. LESCOUL = 'MOTS' 'VIOL' 'VERT' 'CYAN' 'BRIQ' 'BOUT' 'JAUN' 'OLIV'
  54. 'ORAN' 'ROUG' 'BLEU' 'BRUN' 'CARA' 'GRIS' 'NOIR' ;
  55. NBCOUL = 'DIME' LESCOUL;
  56.  
  57. * LISTMOTS contenant les marques dans DESS
  58. LESMARQ = 'MOTS' 'CROI' 'PLUS' 'MOIN' 'BARR' 'ETOI' 'CARR'
  59. 'LOSA' 'ROND' 'TRID' 'TRIU' 'TRIL' 'TRIR';
  60. NBMARQ = 'DIME' LESMARQ;
  61. ************************************************************************
  62.  
  63.  
  64. ************************************************************************
  65. * Debut de la procedure CHARTHER
  66. ************************************************************************
  67. 'DEBP' CHARTHER PRECED*'TABLE' tt*'FLOTTANT' ;
  68. ************************************************************************
  69. * PROCEDURE CHARTHER
  70. * - met a jour la fraction de PHASE dans le materiaux
  71. * Intégration numérique selon un schéma d'Euler d'ordre 1 avec la
  72. * TETA méthode.
  73. ************************************************************************
  74. ETAB = PRECED.'WTABLE' ;
  75. XTOLR = ETAB.'PRECISION' ;
  76. XZPREC =('VALE' 'PREC') * 100.D0 ;
  77.  
  78.  
  79. SI ('EXIS' PRECED 'PTOL') ;
  80. XTOLA = PRECED.'PTOL';
  81. SINO;
  82. XTOLA = XTOLR ;
  83. FINS;
  84. SI ('EXIS' PRECED 'NITERPHASE_MAX') ;
  85. NITMAX = PRECED.'NITERPHASE_MAX';
  86. SINO;
  87. NITMAX = 200 ;
  88. FINS;
  89. SI ('EXIS' PRECED 'IGNORE_NON_CONV') ;
  90. BIGNORE = PRECED.'IGNORE_NON_CONV';
  91. SINO;
  92. BIGNORE = FAUX ;
  93. FINS;
  94.  
  95. MODCOND = ETAB.'MOD_COND';
  96. MODRCOND = MODCOND;
  97. PARA0 ='VALE' 'PARA' ;
  98. SI ('EGA' ('TYPE' MODRCOND) 'TABLE');
  99. 'OPTI' 'PARA' VRAI;
  100. FINS;
  101.  
  102. * Récuperation du numero de PAS du calcul et du DT
  103. NPA ='DIME' PRECED.'TEMPS';
  104. DT = ETAB.'DT' ;
  105.  
  106. * Récuperation des proportions de phase en debut de pas et courant
  107. Phas1 = 'REDU' (PRECED.'PROPORTIONS_PHASES' .(NPA - 1)) MODRCOND;
  108. LISCOM = 'EXTR' Phas1 'COMP' ;
  109. Phas1 = 'REDU' Phas1 MODRCOND;
  110. SI (EXIS PRECED.'PROPORTIONS_PHASES' NPA ) ;
  111. Phas2 = 'REDU' (PRECED.'PROPORTIONS_PHASES' . NPA) MODRCOND ;
  112. SINO ;
  113. Phas2 = Phas1;
  114. FINS ;
  115.  
  116. TPS_1 = PRECED.'TEMPS'.(NPA - 1);
  117. TPS_2 = tt ;
  118.  
  119. T_CHPO1 ='EXCO' PRECED.'CONTINUATION'.'TEMPERATURES' 'T' 'SCAL' ;
  120. T_CHPO2 ='EXCO' ETAB .'THER_COURANT' 'T' 'SCAL' ;
  121. T_CHAM1 ='CHAN' 'CHAM' T_CHPO1 MODRCOND ;
  122. T_CHAM2 ='CHAN' 'CHAM' T_CHPO2 MODRCOND ;
  123.  
  124. TPOINT = (T_CHAM2 - T_CHAM1) / (TPS_2 - TPS_1);
  125. MTPOIN = -1.D0 * TPOINT;
  126. TPOINT1 ='CHAN' 'COMP' TPOINT 'TPOI';
  127.  
  128. LREAC = TPHASE . 'REACTIONS' ;
  129. TREAC = TPHASE . 'TYPE' ;
  130. NBREAC ='DIME' TREAC ;
  131. NBPHAS ='MAXI' LREAC ;
  132.  
  133. TPHASP ='TABL';
  134. REPE SURREAC NBREAC;
  135. IREAC = &SURREAC;
  136. TPHASP.IREAC ='REDU' TPHASE.IREAC MODRCOND ;
  137. FIN SURREAC;
  138.  
  139. * THETA :instant relatif sur le Sous-Pas pour sont tirés les paramètres
  140. THETA = 0.5D0 ;
  141.  
  142. TPS_I =((1.D0 - THETA)*TPS_1 ) + (THETA*TPS_2 );
  143. T_CHAM_I =((1.D0 - THETA)*T_CHAM1) + (THETA*T_CHAM2);
  144. ETATi =('CHAN' 'COMP' T_CHAM_I 'T') 'ET' TPOINT1;
  145.  
  146. * Convergence sur les proportions de phase
  147. REPE CONVERG NITMAX;
  148. ICONV = &CONVERG;
  149. Phas_I =((1.D0 - THETA)*Phas1 ) + (THETA*Phas2 );
  150. * 'MESS' ' ICONV=' ICONV;
  151.  
  152. Ai = 'REDU' ('VIDE' 'MCHAML') MODRCOND;
  153. REPE SURPAH NBPHAS;
  154. * Boucle sur toutes les phases
  155. IPHAS = &SURPAH;
  156.  
  157. REPE SURREAC NBREAC;
  158. * Boucle sur toutes les reactions possibles
  159. IREAC =&SURREAC;
  160. II ='EXTR' LREAC (2 * (IREAC - 1) + 1);
  161. JJ ='EXTR' LREAC (2 * IREAC );
  162.  
  163. SI (('EGA' IPHAS JJ) 'OU' ('NEG' IPHAS II));
  164. 'ITER' SURREAC;
  165. FINS;
  166.  
  167. CTYP ='EXTR' TREAC IREAC ;
  168. * 'MESS' ('CHAI' 'Reaction 'II '==>' JJ ' : ' CTYP);
  169.  
  170. NOMi ='EXTR' LISCOM II ;
  171. Pi1 ='EXCO' Phas1 NOMi 'SCAL';
  172. Pi ='EXCO' Phas_I NOMi 'SCAL';
  173.  
  174. NOMj ='EXTR' LISCOM JJ ;
  175. Pj1 ='EXCO' Phas1 NOMj 'SCAL';
  176. Pj ='EXCO' Phas_I NOMj 'SCAL';
  177.  
  178. * Instanciation des champs pour T et dT/dt donné
  179. CHPROPi ='VARI' 'NUAG' MODRCOND TPHASP.IREAC ETATi 'NOEUD';
  180.  
  181. SI ('EGA' CTYP 'LEBL');
  182. * Cas Leblond
  183. Pjeq ='EXCO' CHPROPi 'PEQ' 'SCAL';
  184. Tauij='EXCO' CHPROPi 'TAU' 'SCAL';
  185. Fij ='EXCO' CHPROPi 'F' 'SCAL';
  186.  
  187. Kij = -1. * Pjeq / Tauij ;
  188. FINS;
  189.  
  190. SI ('EGA' CTYP 'KOMA');
  191. * Cas Koistinen-Marburger
  192. KM ='EXCO' CHPROPi 'KM' 'SCAL' ;
  193. MS ='EXCO' CHPROPi 'MS' 'SCAL' ;
  194.  
  195. MASQ1 ='MASQ' T_CHAM_I 'EGINFE' MS ;
  196. MASQ2 ='MASQ' TPOINT 'EGINFE' 0.D0 ;
  197. MASQ1 ='REDU' MASQ1 MODRCOND ;
  198. MASQ2 ='REDU' MASQ2 MODRCOND ;
  199. Kij = MASQ1 * KM ;
  200. Fij = MASQ2 * TPOINT ;
  201. FINS;
  202.  
  203. Aij = Kij * Fij * Pi ;
  204.  
  205. * Controle pour que Pi <= 1 >= 0
  206. SI ('EXIS' Ai NOMi);
  207. Aiprec = 'CHAN' 'COMP' ('EXCO' Ai NOMi) 'SCAL' ;
  208. SINO;
  209. Aiprec = 0.D0;
  210. FINS;
  211.  
  212. Aitest = Aiprec '+' Aij;
  213. Pitest = Pi1 '+' (DT * Aitest);
  214.  
  215. MASQiinf ='MASQ' Pitest 'INFERIEUR' 0.D0 ;
  216. MASQisup ='MASQ' Pitest 'SUPERIEUR' 1.D0 ;
  217. MASQiok ='MASQ' (MASQiinf + MASQisup) 'INFERIEUR' 0.5D0;
  218. MASQiinf ='REDU' MASQiinf MODRCOND ;
  219. MASQisup ='REDU' MASQisup MODRCOND ;
  220. MASQiok ='REDU' MASQiok MODRCOND ;
  221.  
  222. SI('MAXI' MASQiinf '>EG' 0.5);
  223. * Correction de Aij
  224. Aic = MASQiinf * (((XZPREC - Pi1)/DT)
  225. - Aitest);
  226. Aij = Aij '+' Aic;
  227. FINS;
  228.  
  229. SI('MAXI' MASQisup '>EG' 0.5);
  230. * Correction de Aij
  231. Aic = MASQisup * (((1.D0 - XZPREC - Pi1)/DT)
  232. - Aitest);
  233. Aij = Aij '+' Aic;
  234. FINS;
  235.  
  236. Ai = ( 'CHAN' 'COMP' Aij NOMi ) '+'
  237. (('CHAN' 'COMP' Aij NOMj) * -1.D0) '+'
  238. Ai;
  239. FIN SURREAC;
  240. FIN SURPAH;
  241.  
  242. * Intégration explicite sur le pas de temps
  243. Phas2p= Phas2; 'COMM' 'Iteration precedente pour convergence';
  244. Phas2 = Phas1 '+' (DT * Ai);
  245.  
  246. * Test sur la convergence absolue uniquement
  247. SI (ICONV > 1);
  248. DIFFABS = 'ABS' (Phas2 - Phas2p) ;
  249. DIFFI =('ABS' Phas2) - ('ABS' Phas2p) ;
  250. MASQI1 = 'MASQ' DIFFI 'SUPERIEUR' 0.D0 ;
  251. MASQI2 = 1.D0 - MASQI1 ;
  252. MASQI1 = 'REDU' MASQI1 MODRCOND ;
  253. MASQI2 = 'REDU' MASQI2 MODRCOND ;
  254. MAXD1 = 'ABS' ((Phas2 * MASQI1) + (Phas2p * MASQI2));
  255.  
  256. CRITNUM = DIFFABS - (MAXD1 * XZPREC);
  257. CRITREL = DIFFABS - (('ABS' Phas2p) * XTOLR );
  258. CRITABS = DIFFABS - XTOLA ;
  259. TOTO = 'MAXI' CRITNUM;
  260. TITI = 'MAXI' CRITREL;
  261. TATA = 'MAXI' CRITABS;
  262. MASQNUM ='MASQ' CRITNUM 'SUPERIEUR' 0.D0 ;
  263. MASQREL ='MASQ' CRITREL 'SUPERIEUR' 0.D0 ;
  264. MASQABS ='MASQ' CRITABS 'SUPERIEUR' 0.D0 ;
  265.  
  266. * 'MESS' 'COMV:' ICONV (MAXI CRITNUM) (MAXI CRITREL) (MAXI CRITABS);
  267. SI (('MAXI' (MASQNUM * MASQREL * MASQABS)) '<' 0.5D0);
  268. 'QUIT' CONVERG;
  269. FINS;
  270.  
  271. * Compteur MAX atteint
  272. SI(ICONV 'EGA' NITMAX);
  273. ERRI = 'MAXI' ('PROG'
  274. ('MAXI' CRITNUM) ('MAXI' CRITREL) ('MAXI' CRITABS));
  275. 'MESS' '*******************************************************';
  276. 'MESS' ' Comportement CHARTHER non converge';
  277. 'MESS' ' Comportement : ICONV=' ICONV 'ERRI =' ERRI;
  278. 'MESS' ('MAXI' CRITNUM) ('MAXI' CRITREL) ('MAXI' CRITABS) ;
  279. 'MESS' '*******************************************************';
  280. SI ('NON' BIGNORE);
  281. 'ERRE' 21;
  282. FINS;
  283. FINS;
  284. FINS;
  285. FIN CONVERG;
  286.  
  287. PRECED.'PROPORTIONS_PHASES'. NPA = 'REDU' Phas2 MODCOND;
  288.  
  289. ************************************************************************
  290. * Remplissage des indices de sortie : ADDI_MATRICE ET ADDI_SECOND
  291. ************************************************************************
  292. TAA ='TABL';
  293. * Actuellement aucun second membre ni aucune rigidite additionnelle
  294.  
  295. * Remise en place de la parallélisation comme au depart
  296. 'OPTI' 'PARA' PARA0 ;
  297. 'FINP' TAA;
  298. ************************************************************************
  299. * Fin de la procedure CHARTHER
  300. ************************************************************************
  301.  
  302. ************************************************************************
  303. * Debut de la procedure PARATHER
  304. ************************************************************************
  305. 'DEBP' PARATHER PRECED*'TABLE' TPS1*'FLOTTANT';
  306. ************************************************************************
  307. * PROCEDURE PARATHER :
  308. * DESCRIPTION :
  309. * -------------
  310. * Cette procedure permet de modifier le materiaux avant l'appel a
  311. * VARI 'NUAG' dans TRANSNON.
  312. * - Les composantes K, C et RHO sont une moyenne arithméthique
  313. * pondérée par la fraction de phase des Ki, Ci et RHOi
  314. * L'indice ETAB.'MAT_TOT' est remplacé
  315. *
  316. * ENTREES :
  317. * ---------
  318. * - PRECED : TABLE complete de PASAPAS
  319. * - TPS1 : Temps courant
  320. *
  321. * SORTIES :
  322. * ---------
  323. * - Aucune
  324. *
  325. ************************************************************************
  326. ETAB = PRECED.'WTABLE';
  327. MOD1 = ETAB.'MOD_TOT' ;
  328. T1 = ETAB.'THER_COURANT' ;
  329. T1 ='CHAN' 'CHAM' T1 MOD1 'RIGIDITE' 'CARACTERISTIQUES';
  330.  
  331. MAT_ORIG= ETAB.'MAT_TOT';
  332. COMPORIG='EXTR' MAT_ORIG 'COMP';
  333. NBCOMP ='DIME' COMPORIG;
  334.  
  335. MAT0 ='VIDE' 'MCHAML';
  336. REPE SURCOM NBCOMP;
  337. II = &SURCOM;
  338. LACOMP ='EXTR' COMPORIG II;
  339. SI(('NEG' LACOMP 'K' ) 'ET'
  340. ('NEG' LACOMP 'RHO') 'ET'
  341. ('NEG' LACOMP 'C' ));
  342. MAT0 = MAT0 'ET' ('EXCO' LACOMP MAT_ORIG);
  343. FINS;
  344. FIN SURCOM;
  345.  
  346. * Instanciation du matériaux de chaque phase
  347. MATPHAS ='REDU' MOD1 MATPHAS ;
  348. MAT2 ='VARI' 'NUAG' MOD1 MATPHAS T1 'RIGIDITE';
  349.  
  350. * On fait ensuite la moyenne qui nous interesse (Ponderation par la
  351. * proportion de phase)
  352. NPA ='DIME' PRECED.'TEMPS';
  353. SI ('EXIS' PRECED.'PROPORTIONS_PHASES' NPA ) ;
  354. MCHPHA = PRECED.'PROPORTIONS_PHASES' . NPA ;
  355. SINO ;
  356. MCHPHA = PRECED.'PROPORTIONS_PHASES' .(NPA - 1);
  357. PRECED.'PROPORTIONS_PHASES' . NPA = MCHPHA ;
  358. FINS ;
  359.  
  360. MCHPHA ='CHAN' 'RIGIDITE' MCHPHA MOD1 ;
  361. MCHPHA ='CHAN' 'TYPE' MCHPHA 'CARACTERISTIQUES' ;
  362. MOPROP1='EXTR' MCHPHA 'COMP' ;
  363. MOMAT2 ='EXTR' MAT2 'COMP' ;
  364.  
  365. MCHK ='CHAN' 'TYPE' ('VIDE' 'MCHAML') 'CARACTERISTIQUES' ;
  366. MCHR ='CHAN' 'TYPE' ('VIDE' 'MCHAML') 'CARACTERISTIQUES' ;
  367. MCHC ='CHAN' 'TYPE' ('VIDE' 'MCHAML') 'CARACTERISTIQUES' ;
  368.  
  369. * Boucle sur les phases
  370. NBPHA = 'DIME' MOPROP1;
  371. REPE SURP NBPHA;
  372. IP = &SURP ;
  373. PROPIP ='EXCO' MCHPHA ('EXTR' MOPROP1 IP) 'SCAL' ;
  374. * Moyenne sur les K
  375. IB = IP;
  376. MCHK = (PROPIP * ('EXCO' MAT2 ('EXTR' MOMAT2 IB) 'SCAL')) + MCHK ;
  377.  
  378. * Moyenne sur les RHO
  379. IB = IB + NBPHA;
  380. MCHR = (PROPIP * ('EXCO' MAT2 ('EXTR' MOMAT2 IB) 'SCAL')) + MCHR ;
  381.  
  382. * Moyenne sur les CP
  383. IB = IB + NBPHA;
  384. MCHC = (PROPIP * ('EXCO' MAT2 ('EXTR' MOMAT2 IB) 'SCAL')) + MCHC ;
  385. FIN SURP;
  386.  
  387. MCHK ='CHAN' 'COMP' 'K' MCHK ;
  388. MCHR ='CHAN' 'COMP' 'RHO' MCHR ;
  389. MCHC ='CHAN' 'COMP' 'C' MCHC ;
  390.  
  391. * REMPLACEMENT DU MATERIAUX
  392. ETAB.'MAT_TOT' = MCHK 'ET' MCHR 'ET' MCHC 'ET' MAT0 ;
  393.  
  394. 'FINP';
  395. ************************************************************************
  396. * Fin de la procedure PARATHER
  397. ************************************************************************
  398.  
  399. *MAILLAGE
  400. P1 = 0. 0. ;
  401. P2 = 1. 0. ;
  402. P3 = 0. 1. ;
  403.  
  404. MAILT = MANU 'TRI3' P1 P2 P3;
  405.  
  406. *MODELE
  407. MODTHE = MODE MAILT 'THERMIQUE' 'CONDUCTION' 'CONS' 'MAT1';
  408. MODTOT = MODTHE;
  409.  
  410. ************************************************************************
  411. * Definition de la metallurgie : DEBUT
  412. ************************************************************************
  413. * 1- Métal de base
  414. * 2- Martensite
  415. * 3- Bainite
  416. * 4- Ferrite
  417. * 5- Austénite
  418.  
  419. * Evolution des proprietes thermiques pour les phases pures
  420. MCHK = VIDE 'MCHAML';
  421. MCHRHO = VIDE 'MCHAML';
  422. MCHC = VIDE 'MCHAML';
  423. CTYP = MOT 'CARACTERISTIQUES';
  424. ********************
  425. * 1- Métal de base *
  426. ********************
  427. IPAHS = 1;
  428. CPHAS = CHAI 'K' IPAHS;
  429. LTKP1 = PROG 0 55 113 162 191 243 293 392
  430. 457 507 605 655 756 795 840 856
  431. 900 950 1000 1101 1202 1303 1400 1500
  432. 1502 1600 ;
  433. LKP1 = PROG 0.0376 0.0389 0.0401 0.0407 0.0407 0.0404 0.0398 0.038
  434. 0.0364 0.0352 0.0329 0.0317 0.0291 0.0273 0.0252 0.0248
  435. 0.0253 0.0261 0.027 0.0283 0.0299 0.0314 0.0328 0.0343
  436. 0.05 0.05;
  437. EVKP1 = EVOL 'MANU' 'T' LTKP1 CPHAS LKP1;
  438. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP1 'TYPE' CTYP) ;
  439.  
  440. CPHAS = CHAI 'R' IPAHS;
  441. LTRHOP1= PROG 0 20 100 200 300 400
  442. 500 600 700 800 900 1440
  443. 2500 ;
  444. LRHOP1 = PROG 7852.D-9 7852.D-9 7815.D-9 7778.D-9 7741.D-9 7705.D-9
  445. 7668.D-9 7633.D-9 7595.D-9 7562.D-9 7527.D-9 7345.D-9
  446. 7011.D-9 ;
  447. EVRHOP1 = EVOL 'MANU' 'T' LTRHOP1 CPHAS LRHOP1;
  448. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP1 'TYPE' CTYP) ;
  449.  
  450. CPHAS = CHAI 'C' IPAHS;
  451. LTCP1 = PROG 21 50 150 200 250 300 350 450 550
  452. 650 700 750 850 1000 1200 1300 1400 1440
  453. 1465 1490 1540 1590 1615 1640 2500 ;
  454. LCP1 = PROG 460.5 485.6 519.1 531.6 556.7 573.5 598.6 661.4 749.3
  455. 845.6 1431.6 950.2 900 845.6 800 815 840 850
  456. 1210 1840 2470 1840 1210 840 707 ;
  457. EVCP1 = EVOL 'MANU' 'T' LTCP1 CPHAS LCP1;
  458. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP1 'TYPE' CTYP) ;
  459.  
  460. *****************
  461. * 2- Martensite *
  462. *****************
  463. IPAHS = 2;
  464. CPHAS = CHAI 'K' IPAHS;
  465. EVKP1 = EVOL 'MANU' 'T' LTKP1 CPHAS LKP1;
  466. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP1 'TYPE' CTYP) ;
  467.  
  468. CPHAS = CHAI 'R' IPAHS;
  469. EVRHOP1 = EVOL 'MANU' 'T' LTRHOP1 CPHAS LRHOP1;
  470. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP1 'TYPE' CTYP) ;
  471.  
  472. CPHAS = CHAI 'C' IPAHS;
  473. EVCP1 = EVOL 'MANU' 'T' LTCP1 CPHAS LCP1;
  474. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP1 'TYPE' CTYP) ;
  475.  
  476. **************
  477. * 3- Bainite *
  478. **************
  479. IPAHS = 3;
  480. CPHAS = CHAI 'K' IPAHS;
  481. EVKP1 = EVOL 'MANU' 'T' LTKP1 CPHAS LKP1;
  482. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP1 'TYPE' CTYP) ;
  483.  
  484. CPHAS = CHAI 'R' IPAHS;
  485. EVRHOP1 = EVOL 'MANU' 'T' LTRHOP1 CPHAS LRHOP1;
  486. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP1 'TYPE' CTYP) ;
  487.  
  488. CPHAS = CHAI 'C' IPAHS;
  489. EVCP1 = EVOL 'MANU' 'T' LTCP1 CPHAS LCP1;
  490. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP1 'TYPE' CTYP) ;
  491.  
  492. **************
  493. * 4- Ferrite *
  494. **************
  495. IPAHS = 4;
  496. CPHAS = CHAI 'K' IPAHS;
  497. EVKP1 = EVOL 'MANU' 'T' LTKP1 CPHAS LKP1;
  498. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP1 'TYPE' CTYP) ;
  499.  
  500. CPHAS = CHAI 'R' IPAHS;
  501. EVRHOP1 = EVOL 'MANU' 'T' LTRHOP1 CPHAS LRHOP1;
  502. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP1 'TYPE' CTYP) ;
  503.  
  504. CPHAS = CHAI 'C' IPAHS;
  505. EVCP1 = EVOL 'MANU' 'T' LTCP1 CPHAS LCP1;
  506. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP1 'TYPE' CTYP) ;
  507.  
  508. ****************
  509. * 5- Austénite *
  510. ****************
  511. IPAHS = 5;
  512. CPHAS = CHAI 'K' IPAHS;
  513. LTKP5 = PROG 0 20 100 200 400 600 800 856
  514. 900 1000 1200 1500 1502 1600 ;
  515. LKP5 = PROG 0.0121 0.0124 0.0136 0.015 0.018 0.021 0.0239 0.0248
  516. 0.0254 0.0269 0.0298 0.0343 0.05 0.05;
  517. EVKP5 = EVOL 'MANU' 'T' LTKP5 CPHAS LKP5;
  518. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP5 'TYPE' CTYP) ;
  519.  
  520. CPHAS = CHAI 'R' IPAHS;
  521. LTRHOP5= PROG 0 20 100 200 300 400
  522. 500 600 700 800 900 1440
  523. 2500 ;
  524. LRHOP5 = PROG 7852.D-9 7841.D-9 7794.D-9 7736.D-9 7680.D-9 7624.D-9
  525. 7569.D-9 7514.D-9 7458.D-9 7408.D-9 7356.D-9 7087.D-9
  526. 6613.D-9 ;
  527. EVRHOP5 = EVOL 'MANU' 'T' LTRHOP5 CPHAS LRHOP5;
  528. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP5 'TYPE' CTYP);
  529.  
  530.  
  531. CPHAS = CHAI 'C' IPAHS;
  532. LTCP5 = PROG 21 50 150 200 250 300 350 475 575 675 800
  533. 950 1000 1100 1200 1300 1400 1440 1465 1490 1540 1590
  534. 1615 1640 2500 ;
  535. LCP5 = PROG 460.5 485.6 519.1 531.6 556.7 573.5 598.6 652 671 685 715
  536. 742 750 774 795 815 840 850 1210 1840 2470 1840
  537. 1210 840 707 ;
  538. EVCP5 = EVOL 'MANU' 'T' LTCP5 CPHAS LCP5;
  539. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP5 'TYPE' CTYP) ;
  540.  
  541.  
  542. *MATERIAUX
  543. MATPHAS = MCHK 'ET' MCHRHO 'ET' MCHC ;
  544.  
  545.  
  546. * Parametres pour le changement de phase
  547. CTYP = MOT 'SCALAIRE';
  548. TPHASE = TABL;
  549.  
  550. * Liste des transformations existantes dans un LISTENTIE
  551. TPHASE . 'REACTIONS' = LECT 1 5 2 5 3 5 4 5 5 2 5 3 5 4;
  552. * Lire : 1 vers 5, 2 vers 5, 3 vers 5, 4 vers 5
  553. * 5 vers 2, 5 vers 3, 5 vers 4
  554.  
  555. TPHASE . 'TYPE' = MOTS 'LEBL' 'LEBL' 'LEBL' 'LEBL' 'KOMA' 'LEBL' 'LEBL';
  556.  
  557. *-----------------------------------------------------------------------
  558. IDREAC = 1; COMM '1 vers 5';
  559. * Leblond
  560. EVOPEQ = EVOL 'MANU' 'T' (PROG 716. 802. )
  561. 'PEQ' (PROG 0. 1. );
  562. EVOTAU = EVOL 'MANU' 'T' (PROG 716. 802. )
  563. 'TAU' (PROG 12. 0.5 );
  564. EVOF = EVOL 'MANU' 'TPOI'(PROG -1.D-6 0. )
  565. 'F' (PROG 0. 1. );
  566.  
  567. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  568. 'TYPE' CTYP 'NOEUD';
  569. *-----------------------------------------------------------------------
  570. IDREAC = 2; COMM '2 vers 5';
  571. * Leblond
  572. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  573. 'TYPE' CTYP 'NOEUD';
  574. *-----------------------------------------------------------------------
  575. IDREAC = 3; COMM '3 vers 5';
  576. * Leblond
  577. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  578. 'TYPE' CTYP 'NOEUD';
  579. *-----------------------------------------------------------------------
  580. IDREAC = 4; COMM '4 vers 5';
  581. * Leblond
  582. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  583. 'TYPE' CTYP 'NOEUD';
  584. *-----------------------------------------------------------------------
  585. IDREAC = 5; COMM '5 vers 2';
  586. * Koistinen-Marburger
  587. TPHASE . IDREAC = MANU 'CHML' MODTHE 'MS' 380. 'KM' 0.0247
  588. 'TYPE' CTYP 'NOEUD';
  589. *-----------------------------------------------------------------------
  590. IDREAC = 6; COMM '5 vers 3';
  591. * Leblond
  592. EVOPEQ = EVOL 'MANU' 'T' (PROG 375 380 405 600 )
  593. 'PEQ' (PROG 0. 1. 1. 0. );
  594. EVOTAU = EVOL 'MANU' 'T' (PROG 375 380)
  595. 'TAU' (PROG 1.D6 20 );
  596. EVOF = EVOL 'MANU' 'TPOI'(PROG -100. -80. -60. -50. -40. -30.
  597. -25. -20. -18. -15. -12. -10.
  598. -9. -5. -1. -0.05 0.D0
  599. 1.D-6)
  600. 'F' (PROG 0.005 1.573 2.857 3.417 3.982 4.583
  601. 4.833 5.26 5.472 6.033 7.675 11.4
  602. 18.45 17.1 0.328 0.00238 0.00238
  603. 0.D0 );
  604. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  605. 'TYPE' CTYP 'NOEUD';
  606. *-----------------------------------------------------------------------
  607. IDREAC = 7; COMM '5 vers 4';
  608. * Leblond
  609. EVOPEQ = EVOL 'MANU' 'T' (PROG 625 630 730 735 )
  610. 'PEQ' (PROG 0 1 1 0 );
  611. EVOTAU = EVOL 'MANU' 'T' (PROG 625 630 )
  612. 'TAU' (PROG 1.D6 5 );
  613. EVOF = EVOL 'MANU' 'TPOI'(PROG -8.5 -6.2 -4.7 0. 1.D-6)
  614. 'F' (PROG 0.001 0.13 1.5 1.5 0. );
  615. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  616. 'TYPE' CTYP 'NOEUD';
  617. *-----------------------------------------------------------------------
  618.  
  619. * Verification des donnees rentrees
  620. NBREAC = (DIME TPHASE . 'REACTIONS') / 2;
  621. NBTYPE = (DIME TPHASE . 'TYPE' ) ;
  622. NBINDI = (DIME TPHASE) ;
  623. SI ('NEG' NBREAC NBTYPE);
  624. OPTI ECHO 0;
  625. CHAI1 = CHAI 'Le Nombre de reaction (' NBREAC ') ';
  626. CHAI2 = CHAI 'ne correspond pas avec ';
  627. CHAI3 = CHAI 'la taille de la liste des noms (' NBTYPE ').';
  628. MESS CHAI1;
  629. MESS CHAI2;
  630. MESS CHAI3;
  631. OPTI ECHO 1;
  632. ERRE 21;
  633. FINS;
  634.  
  635. SI ('NEG' NBINDI (NBREAC + 2));
  636. OPTI ECHO 0;
  637. CHAI1 = CHAI 'Le Nombre de reaction (' NBREAC ') ';
  638. CHAI2 = CHAI 'ne correspond pas avec ';
  639. CHAI3 = CHAI 'le nombre de reactions donnees (' (NBINDI - 2) ').';
  640. MESS CHAI1;
  641. MESS CHAI2;
  642. MESS CHAI3;
  643. OPTI ECHO 1;
  644. ERRE 21;
  645. FINS;
  646. ************************************************************************
  647. * Definition de la metallurgie : FIN
  648. ************************************************************************
  649.  
  650. * Fabrication du diagramme TRC
  651. TRC MODTOT MATPHAS TPHASE TINI TFIN LISTREF ;
  652.  
  653. FIN;
  654.  
  655.  
  656.  

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