Télécharger metallurgie_06.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : metallurgie_06.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *__________________________________________________________________*
  6. * TEST METALLURGIE_06 *
  7. * *
  8. * CALCUL DES PROPORTIONS DE PHASE METALLURGIQUE *
  9. * *
  10. * Un MODELE thermo-metallurgique est cree et l'essai JOMINY *
  11. * est simule en 2D Axisymétrique *
  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. * MAILLAGE : *
  28. * - Eprouvette cylindrique de hauteur 100mm et de rayon 12,5mm *
  29. * P4 _____ P3 *
  30. * | J | ^ *
  31. * | O | | *
  32. * | M | | *
  33. * | I | | h0 Y *
  34. * | N | | ^ *
  35. * | Y | | | *
  36. * P1 _____ P2 v o --> X *
  37. * *
  38. * <-----> r0 *
  39. * Origine du repere : P1 *
  40. * *
  41. * CHARGEMENT : *
  42. * - Montee lineaire en temperature depuis 25°C à 900°C en 1200s *
  43. * - Maintient à 900°C jusqu'a 3000s *
  44. * - Refroidissement par convection par la face cylindrique *
  45. * inférieure jusqu'à 3600s *
  46. * *
  47. * CL : *
  48. * - Blocage de la temperature (T imposee jusqu'a 3000s) *
  49. * - Convection de 3000s à 3600s avec h=0,1W.mm-2.K-1 *
  50. *__________________________________________________________________*
  51. OPTI DIME 2 MODE AXIS ELEM QUA4 ;
  52.  
  53. 'OPTI' 'TRAC' PSC 'EPTR' 10 ;
  54.  
  55. TMAX = 900. ;
  56. TMIN = 25. ;
  57. HCON = 0.1 ;
  58.  
  59. ************************************************************************
  60. * Pour faire des beaux DESSINS
  61. ************************************************************************
  62. * LISTMOTS contenant les couleurs
  63. LESCOUL = 'MOTS' 'VIOL' 'VERT' 'CYAN' 'BRIQ' 'BOUT' 'JAUN' 'OLIV'
  64. 'ORAN' 'ROUG' 'BLEU' 'BRUN' 'CARA' 'GRIS' 'NOIR' ;
  65. NBCOUL = 'DIME' LESCOUL;
  66.  
  67. * LISTMOTS contenant les marques dans DESS
  68. LESMARQ = 'MOTS' 'CROI' 'PLUS' 'MOIN' 'BARR' 'ETOI' 'CARR'
  69. 'LOSA' 'ROND' 'TRID' 'TRIU' 'TRIL' 'TRIR';
  70. NBMARQ = 'DIME' LESMARQ;
  71. ************************************************************************
  72.  
  73. ************************************************************************
  74. * Debut de la procedure CHARTHER
  75. ************************************************************************
  76. 'DEBP' CHARTHER PRECED*'TABLE' tt*'FLOTTANT' ;
  77. ************************************************************************
  78. * PROCEDURE CHARTHER
  79. * - met a jour la fraction de PHASE dans le materiaux
  80. * Intégration numérique selon un schéma d'Euler d'ordre 1 avec la
  81. * TETA méthode.
  82. ************************************************************************
  83. ETAB = PRECED.'WTABLE' ;
  84. XTOLR = ETAB.'PRECISION' ;
  85. XZPREC =('VALE' 'PREC') * 100.D0 ;
  86.  
  87.  
  88. SI ('EXIS' PRECED 'PTOL') ;
  89. XTOLA = PRECED.'PTOL';
  90. SINO;
  91. XTOLA = XTOLR ;
  92. FINS;
  93. SI ('EXIS' PRECED 'NITERPHASE_MAX') ;
  94. NITMAX = PRECED.'NITERPHASE_MAX';
  95. SINO;
  96. NITMAX = 200 ;
  97. FINS;
  98. SI ('EXIS' PRECED 'IGNORE_NON_CONV') ;
  99. BIGNORE = PRECED.'IGNORE_NON_CONV';
  100. SINO;
  101. BIGNORE = FAUX ;
  102. FINS;
  103.  
  104. MODCOND = ETAB.'MOD_COND';
  105. MODRCOND = MODCOND;
  106. PARA0 ='VALE' 'PARA' ;
  107. SI ('EGA' ('TYPE' MODRCOND) 'TABLE');
  108. 'OPTI' 'PARA' VRAI;
  109. FINS;
  110.  
  111. * Récuperation du numero de PAS du calcul et du DT
  112. NPA ='DIME' PRECED.'TEMPS';
  113. DT = ETAB.'DT' ;
  114.  
  115. * Récuperation des proportions de phase en debut de pas et courant
  116. Phas1 = 'REDU' (PRECED.'PROPORTIONS_PHASES' .(NPA - 1)) MODRCOND;
  117. LISCOM = 'EXTR' Phas1 'COMP' ;
  118. Phas1 = 'REDU' Phas1 MODRCOND;
  119. SI (EXIS PRECED.'PROPORTIONS_PHASES' NPA ) ;
  120. Phas2 = 'REDU' (PRECED.'PROPORTIONS_PHASES' . NPA) MODRCOND ;
  121. SINO ;
  122. Phas2 = Phas1;
  123. FINS ;
  124.  
  125. TPS_1 = PRECED.'TEMPS'.(NPA - 1);
  126. TPS_2 = tt ;
  127.  
  128. T_CHPO1 ='EXCO' PRECED.'CONTINUATION'.'TEMPERATURES' 'T' 'SCAL' ;
  129. T_CHPO2 ='EXCO' ETAB .'THER_COURANT' 'T' 'SCAL' ;
  130. T_CHAM1 ='CHAN' 'CHAM' T_CHPO1 MODRCOND ;
  131. T_CHAM2 ='CHAN' 'CHAM' T_CHPO2 MODRCOND ;
  132.  
  133. TPOINT = (T_CHAM2 - T_CHAM1) / (TPS_2 - TPS_1);
  134. MTPOIN = -1.D0 * TPOINT;
  135. TPOINT1 ='CHAN' 'COMP' TPOINT 'TPOI';
  136.  
  137. LREAC = TPHASE . 'REACTIONS' ;
  138. TREAC = TPHASE . 'TYPE' ;
  139. NBREAC ='DIME' TREAC ;
  140. NBPHAS ='MAXI' LREAC ;
  141.  
  142. TPHASP ='TABL';
  143. REPE SURREAC NBREAC;
  144. IREAC = &SURREAC;
  145. TPHASP.IREAC ='REDU' TPHASE.IREAC MODRCOND ;
  146. FIN SURREAC;
  147.  
  148. * THETA :instant relatif sur le Sous-Pas pour sont tirés les paramètres
  149. THETA = 0.5D0 ;
  150.  
  151. TPS_I =((1.D0 - THETA)*TPS_1 ) + (THETA*TPS_2 );
  152. T_CHAM_I =((1.D0 - THETA)*T_CHAM1) + (THETA*T_CHAM2);
  153. ETATi =('CHAN' 'COMP' T_CHAM_I 'T') 'ET' TPOINT1;
  154.  
  155. * Convergence sur les proportions de phase
  156. REPE CONVERG NITMAX;
  157. ICONV = &CONVERG;
  158. Phas_I =((1.D0 - THETA)*Phas1 ) + (THETA*Phas2 );
  159. * 'MESS' ' ICONV=' ICONV;
  160.  
  161. Ai = 'REDU' ('VIDE' 'MCHAML') MODRCOND;
  162. REPE SURPAH NBPHAS;
  163. * Boucle sur toutes les phases
  164. IPHAS = &SURPAH;
  165.  
  166. REPE SURREAC NBREAC;
  167. * Boucle sur toutes les reactions possibles
  168. IREAC =&SURREAC;
  169. II ='EXTR' LREAC (2 * (IREAC - 1) + 1);
  170. JJ ='EXTR' LREAC (2 * IREAC );
  171.  
  172. SI (('EGA' IPHAS JJ) 'OU' ('NEG' IPHAS II));
  173. 'ITER' SURREAC;
  174. FINS;
  175.  
  176. CTYP ='EXTR' TREAC IREAC ;
  177. * 'MESS' ('CHAI' 'Reaction 'II '==>' JJ ' : ' CTYP);
  178.  
  179. NOMi ='EXTR' LISCOM II ;
  180. Pi1 ='EXCO' Phas1 NOMi 'SCAL';
  181. Pi ='EXCO' Phas_I NOMi 'SCAL';
  182.  
  183. NOMj ='EXTR' LISCOM JJ ;
  184. Pj1 ='EXCO' Phas1 NOMj 'SCAL';
  185. Pj ='EXCO' Phas_I NOMj 'SCAL';
  186.  
  187. * Instanciation des champs pour T et dT/dt donné
  188. CHPROPi ='VARI' 'NUAG' MODRCOND TPHASP.IREAC ETATi 'NOEUD';
  189.  
  190. SI ('EGA' CTYP 'LEBL');
  191. * Cas Leblond
  192. Pjeq ='EXCO' CHPROPi 'PEQ' 'SCAL';
  193. Tauij='EXCO' CHPROPi 'TAU' 'SCAL';
  194. Fij ='EXCO' CHPROPi 'F' 'SCAL';
  195. Kij = 1. * Pjeq / Tauij ;
  196. Kij2 = (1. - Pjeq) / Tauij ;
  197.  
  198. Aij = -1 * ((Kij * Pi) - (Kij2 * Pj)) * Fij ;
  199. Aij = Aij * (Aij 'MASQ' 'INFERIEUR' 0.D0) ;
  200. FINS;
  201.  
  202. SI ('EGA' CTYP 'KOMA');
  203. * Cas Koistinen-Marburger
  204. KM ='EXCO' CHPROPi 'KM' 'SCAL' ;
  205. MS ='EXCO' CHPROPi 'MS' 'SCAL' ;
  206.  
  207. MASQ1 ='MASQ' T_CHAM_I 'EGINFE' MS ;
  208. MASQ2 ='MASQ' TPOINT 'EGINFE' 0.D0 ;
  209. MASQ1 ='REDU' MASQ1 MODRCOND ;
  210. MASQ2 ='REDU' MASQ2 MODRCOND ;
  211. Kij = MASQ1 * KM ;
  212. Fij = MASQ2 * TPOINT ;
  213.  
  214. Aij = Kij * Fij * Pi ;
  215. FINS;
  216.  
  217. * Controle pour que Pi <= 1 >= 0
  218. SI ('EXIS' Ai NOMi);
  219. Aiprec = 'CHAN' 'COMP' ('EXCO' Ai NOMi) 'SCAL' ;
  220. SINO;
  221. Aiprec = 0.D0;
  222. FINS;
  223.  
  224. Aitest = Aiprec '+' Aij;
  225. Pitest = Pi1 '+' (DT * Aitest);
  226.  
  227. MASQiinf ='MASQ' Pitest 'INFERIEUR' 0.D0 ;
  228. MASQisup ='MASQ' Pitest 'SUPERIEUR' 1.D0 ;
  229. MASQiok ='MASQ' (MASQiinf + MASQisup) 'INFERIEUR' 0.5D0;
  230. MASQiinf ='REDU' MASQiinf MODRCOND ;
  231. MASQisup ='REDU' MASQisup MODRCOND ;
  232. MASQiok ='REDU' MASQiok MODRCOND ;
  233.  
  234. SI('MAXI' MASQiinf '>EG' 0.5);
  235. * Correction de Aij
  236. Aic = MASQiinf * (((XZPREC - Pi1)/DT)
  237. - Aitest);
  238. Aij = Aij '+' Aic;
  239. FINS;
  240.  
  241. SI('MAXI' MASQisup '>EG' 0.5);
  242. * Correction de Aij
  243. Aic = MASQisup * (((1.D0 - XZPREC - Pi1)/DT)
  244. - Aitest);
  245. Aij = Aij '+' Aic;
  246. FINS;
  247.  
  248. Ai = ( 'CHAN' 'COMP' Aij NOMi ) '+'
  249. (('CHAN' 'COMP' Aij NOMj) * -1.D0) '+'
  250. Ai;
  251. FIN SURREAC;
  252. FIN SURPAH;
  253.  
  254. * Intégration explicite sur le pas de temps
  255. Phas2p= Phas2; 'COMM' 'Iteration precedente pour convergence';
  256. Phas2 = Phas1 '+' (DT * Ai);
  257.  
  258. * Test sur la convergence absolue uniquement
  259. SI (ICONV > 1);
  260. DIFFABS = 'ABS' (Phas2 - Phas2p) ;
  261. DIFFI =('ABS' Phas2) - ('ABS' Phas2p) ;
  262. MASQI1 = 'MASQ' DIFFI 'SUPERIEUR' 0.D0 ;
  263. MASQI2 = 1.D0 - MASQI1 ;
  264. MASQI1 = 'REDU' MASQI1 MODRCOND ;
  265. MASQI2 = 'REDU' MASQI2 MODRCOND ;
  266. MAXD1 = 'ABS' ((Phas2 * MASQI1) + (Phas2p * MASQI2));
  267.  
  268. CRITNUM = DIFFABS - (MAXD1 * XZPREC);
  269. CRITREL = DIFFABS - (('ABS' Phas2p) * XTOLR );
  270. CRITABS = DIFFABS - XTOLA ;
  271. TOTO = 'MAXI' CRITNUM;
  272. TITI = 'MAXI' CRITREL;
  273. TATA = 'MAXI' CRITABS;
  274. MASQNUM ='MASQ' CRITNUM 'SUPERIEUR' 0.D0 ;
  275. MASQREL ='MASQ' CRITREL 'SUPERIEUR' 0.D0 ;
  276. MASQABS ='MASQ' CRITABS 'SUPERIEUR' 0.D0 ;
  277.  
  278. * 'MESS' 'COMV:' ICONV (MAXI CRITNUM) (MAXI CRITREL) (MAXI CRITABS);
  279. SI (('MAXI' (MASQNUM * MASQREL * MASQABS)) '<' 0.5D0);
  280. 'QUIT' CONVERG;
  281. FINS;
  282.  
  283. * Compteur MAX atteint
  284. SI(ICONV 'EGA' NITMAX);
  285. ERRI = 'MAXI' ('PROG'
  286. ('MAXI' CRITNUM) ('MAXI' CRITREL) ('MAXI' CRITABS));
  287. 'MESS' '*******************************************************';
  288. 'MESS' ' Comportement CHARTHER non converge';
  289. 'MESS' ' Comportement : ICONV=' ICONV 'ERRI =' ERRI;
  290. 'MESS' ('MAXI' CRITNUM) ('MAXI' CRITREL) ('MAXI' CRITABS) ;
  291. 'MESS' '*******************************************************';
  292. SI ('NON' BIGNORE);
  293. 'ERRE' 21;
  294. FINS;
  295. FINS;
  296. FINS;
  297. FIN CONVERG;
  298.  
  299. PRECED.'PROPORTIONS_PHASES'. NPA = 'REDU' Phas2 MODCOND;
  300.  
  301. ************************************************************************
  302. * Remplissage des indices de sortie : ADDI_MATRICE ET ADDI_SECOND
  303. ************************************************************************
  304. TAA ='TABL';
  305. * Actuellement aucun second membre ni aucune rigidite additionnelle
  306.  
  307. * Remise en place de la parallélisation comme au depart
  308. 'OPTI' 'PARA' PARA0 ;
  309. 'FINP' TAA;
  310. ************************************************************************
  311. * Fin de la procedure CHARTHER
  312. ************************************************************************
  313.  
  314. ************************************************************************
  315. * Debut de la procedure PARATHER
  316. ************************************************************************
  317. 'DEBP' PARATHER PRECED*'TABLE' TPS1*'FLOTTANT';
  318. ************************************************************************
  319. * PROCEDURE PARATHER :
  320. * DESCRIPTION :
  321. * -------------
  322. * Cette procedure permet de modifier le materiaux avant l'appel a
  323. * VARI 'NUAG' dans TRANSNON.
  324. * - Les composantes K, C et RHO sont une moyenne arithméthique
  325. * pondérée par la fraction de phase des Ki, Ci et RHOi
  326. * L'indice ETAB.'MAT_TOT' est remplacé
  327. *
  328. * ENTREES :
  329. * ---------
  330. * - PRECED : TABLE complete de PASAPAS
  331. * - TPS1 : Temps courant
  332. *
  333. * SORTIES :
  334. * ---------
  335. * - Aucune
  336. *
  337. ************************************************************************
  338. ETAB = PRECED.'WTABLE';
  339. MOD1 = ETAB.'MOD_TOT' ;
  340. T1 = ETAB.'THER_COURANT' ;
  341. T1 ='CHAN' 'CHAM' T1 MOD1 'RIGIDITE' 'CARACTERISTIQUES';
  342.  
  343. MAT_ORIG= ETAB.'MAT_TOT';
  344. COMPORIG='EXTR' MAT_ORIG 'COMP';
  345. NBCOMP ='DIME' COMPORIG;
  346.  
  347. MAT0 ='VIDE' 'MCHAML';
  348. REPE SURCOM NBCOMP;
  349. II = &SURCOM;
  350. LACOMP ='EXTR' COMPORIG II;
  351. SI(('NEG' LACOMP 'K' ) 'ET'
  352. ('NEG' LACOMP 'RHO') 'ET'
  353. ('NEG' LACOMP 'C' ));
  354. MAT0 = MAT0 'ET' ('EXCO' LACOMP MAT_ORIG);
  355. FINS;
  356. FIN SURCOM;
  357.  
  358. * Instanciation du matériaux de chaque phase
  359. MATPHAS ='REDU' MOD1 MATPHAS ;
  360. MAT2 ='VARI' 'NUAG' MOD1 MATPHAS T1 'RIGIDITE';
  361.  
  362. * On fait ensuite la moyenne qui nous interesse (Ponderation par la
  363. * proportion de phase)
  364. NPA ='DIME' PRECED.'TEMPS';
  365. SI ('EXIS' PRECED.'PROPORTIONS_PHASES' NPA ) ;
  366. MCHPHA = PRECED.'PROPORTIONS_PHASES' . NPA ;
  367. SINO ;
  368. MCHPHA = PRECED.'PROPORTIONS_PHASES' .(NPA - 1);
  369. PRECED.'PROPORTIONS_PHASES' . NPA = MCHPHA ;
  370. FINS ;
  371.  
  372. MCHPHA ='CHAN' 'RIGIDITE' MCHPHA MOD1 ;
  373. MCHPHA ='CHAN' 'TYPE' MCHPHA 'CARACTERISTIQUES' ;
  374. MOPROP1='EXTR' MCHPHA 'COMP' ;
  375. MOMAT2 ='EXTR' MAT2 'COMP' ;
  376.  
  377. MCHK ='CHAN' 'TYPE' ('VIDE' 'MCHAML') 'CARACTERISTIQUES' ;
  378. MCHR ='CHAN' 'TYPE' ('VIDE' 'MCHAML') 'CARACTERISTIQUES' ;
  379. MCHC ='CHAN' 'TYPE' ('VIDE' 'MCHAML') 'CARACTERISTIQUES' ;
  380.  
  381. * Boucle sur les phases
  382. NBPHA = 'DIME' MOPROP1;
  383. REPE SURP NBPHA;
  384. IP = &SURP ;
  385. PROPIP ='EXCO' MCHPHA ('EXTR' MOPROP1 IP) 'SCAL' ;
  386. * Moyenne sur les K
  387. IB = IP;
  388. MCHK = (PROPIP * ('EXCO' MAT2 ('EXTR' MOMAT2 IB) 'SCAL')) + MCHK ;
  389.  
  390. * Moyenne sur les RHO
  391. IB = IB + NBPHA;
  392. MCHR = (PROPIP * ('EXCO' MAT2 ('EXTR' MOMAT2 IB) 'SCAL')) + MCHR ;
  393.  
  394. * Moyenne sur les CP
  395. IB = IB + NBPHA;
  396. MCHC = (PROPIP * ('EXCO' MAT2 ('EXTR' MOMAT2 IB) 'SCAL')) + MCHC ;
  397. FIN SURP;
  398.  
  399. MCHK ='CHAN' 'COMP' 'K' MCHK ;
  400. MCHR ='CHAN' 'COMP' 'RHO' MCHR ;
  401. MCHC ='CHAN' 'COMP' 'C' MCHC ;
  402.  
  403. * REMPLACEMENT DU MATERIAUX
  404. ETAB.'MAT_TOT' = MCHK 'ET' MCHR 'ET' MCHC 'ET' MAT0 ;
  405.  
  406. 'FINP';
  407. ************************************************************************
  408. * Fin de la procedure PARATHER
  409. ************************************************************************
  410.  
  411. *MAILLAGE
  412. h0 = 100. ; COMM 'hauteur du cylindre' ;
  413. r0 = 12.5 ; COMM 'rayon du cylindre' ;
  414. dens0 = 1. ; COMM 'densité maillage' ;
  415.  
  416. axes = @repere (0. 0.) ('PROG' 25. 25.) 'ROUG' ;
  417. P1 = POIN 0. 0. ;
  418. P2 = POIN r0 0. ;
  419. P3 = POIN r0 h0 ;
  420. P4 = POIN 0. h0 ;
  421.  
  422. L1 = DROI P1 P2 'DINI' dens0 'DFIN' dens0 ;
  423. L2 = DROI P2 P3 'DINI' dens0 'DFIN' dens0 ;
  424. L3 = DROI P3 P4 'DINI' dens0 'DFIN' dens0 ;
  425. L4 = DROI P4 P1 'DINI' dens0 'DFIN' dens0 ;
  426.  
  427. MAILT = (DALL L1 L2 L3 L4) COUL 'BLEU' ;
  428. ELIM MAILT 1.e-3 ;
  429. CONTT = CONT MAILT ;
  430. PTBAS = CONTT POIN 'DROIT' P1 P2 1.e-3 ;
  431. SURFBAS = CONTT ELEM 'APPUYE' 'STRICTEMENT' PTBAS ;
  432.  
  433. *MODELE
  434. MODTHE = MODE MAILT 'THERMIQUE' 'CONDUCTION' 'CONS' 'MAT1';
  435. MODCON = MODE SURFBAS 'THERMIQUE' 'CONVECTION';
  436. MODTOT = MODTHE 'ET' MODCON;
  437.  
  438. ************************************************************************
  439. * Definition de la metallurgie : DEBUT
  440. ************************************************************************
  441. * 1- Métal de base 100% initialement
  442. * 2- Martensite
  443. * 3- Bainite
  444. * 4- Ferrite
  445. * 5- Austénite
  446.  
  447. * Evolution des proprietes thermiques pour les phases pures
  448. MCHK = VIDE 'MCHAML';
  449. MCHRHO = VIDE 'MCHAML';
  450. MCHC = VIDE 'MCHAML';
  451. CTYP = MOT 'CARACTERISTIQUES';
  452. ********************
  453. * 1- Métal de base *
  454. ********************
  455. IPAHS = 1;
  456. CPHAS = CHAI 'K' IPAHS;
  457. LTKP1 = PROG 0 55 113 162 191 243 293 392
  458. 457 507 605 655 756 795 840 856
  459. 900 950 1000 1101 1202 1303 1400 1500
  460. 1502 1600 ;
  461. LKP1 = PROG 0.0376 0.0389 0.0401 0.0407 0.0407 0.0404 0.0398 0.038
  462. 0.0364 0.0352 0.0329 0.0317 0.0291 0.0273 0.0252 0.0248
  463. 0.0253 0.0261 0.027 0.0283 0.0299 0.0314 0.0328 0.0343
  464. 0.05 0.05;
  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. LTRHOP1= PROG 0 20 100 200 300 400
  470. 500 600 700 800 900 1440
  471. 2500 ;
  472. LRHOP1 = PROG 7852.D-9 7852.D-9 7815.D-9 7778.D-9 7741.D-9 7705.D-9
  473. 7668.D-9 7633.D-9 7595.D-9 7562.D-9 7527.D-9 7345.D-9
  474. 7011.D-9 ;
  475. EVRHOP1 = EVOL 'MANU' 'T' LTRHOP1 CPHAS LRHOP1;
  476. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP1 'TYPE' CTYP) ;
  477.  
  478. CPHAS = CHAI 'C' IPAHS;
  479. LTCP1 = PROG 21 50 150 200 250 300 350 450 550
  480. 650 700 750 850 1000 1200 1300 1400 1440
  481. 1465 1490 1540 1590 1615 1640 2500 ;
  482. LCP1 = PROG 460.5 485.6 519.1 531.6 556.7 573.5 598.6 661.4 749.3
  483. 845.6 1431.6 950.2 900 845.6 800 815 840 850
  484. 1210 1840 2470 1840 1210 840 707 ;
  485. EVCP1 = EVOL 'MANU' 'T' LTCP1 CPHAS LCP1;
  486. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP1 'TYPE' CTYP) ;
  487.  
  488. *****************
  489. * 2- Martensite *
  490. *****************
  491. IPAHS = 2;
  492. CPHAS = CHAI 'K' IPAHS;
  493. EVKP1 = EVOL 'MANU' 'T' LTKP1 CPHAS LKP1;
  494. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP1 'TYPE' CTYP) ;
  495.  
  496. CPHAS = CHAI 'R' IPAHS;
  497. EVRHOP1 = EVOL 'MANU' 'T' LTRHOP1 CPHAS LRHOP1;
  498. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP1 'TYPE' CTYP) ;
  499.  
  500. CPHAS = CHAI 'C' IPAHS;
  501. EVCP1 = EVOL 'MANU' 'T' LTCP1 CPHAS LCP1;
  502. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP1 'TYPE' CTYP) ;
  503.  
  504. **************
  505. * 3- Bainite *
  506. **************
  507. IPAHS = 3;
  508. CPHAS = CHAI 'K' IPAHS;
  509. EVKP1 = EVOL 'MANU' 'T' LTKP1 CPHAS LKP1;
  510. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP1 'TYPE' CTYP) ;
  511.  
  512. CPHAS = CHAI 'R' IPAHS;
  513. EVRHOP1 = EVOL 'MANU' 'T' LTRHOP1 CPHAS LRHOP1;
  514. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP1 'TYPE' CTYP) ;
  515.  
  516. CPHAS = CHAI 'C' IPAHS;
  517. EVCP1 = EVOL 'MANU' 'T' LTCP1 CPHAS LCP1;
  518. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP1 'TYPE' CTYP) ;
  519.  
  520. **************
  521. * 4- Ferrite *
  522. **************
  523. IPAHS = 4;
  524. CPHAS = CHAI 'K' IPAHS;
  525. EVKP1 = EVOL 'MANU' 'T' LTKP1 CPHAS LKP1;
  526. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP1 'TYPE' CTYP) ;
  527.  
  528. CPHAS = CHAI 'R' IPAHS;
  529. EVRHOP1 = EVOL 'MANU' 'T' LTRHOP1 CPHAS LRHOP1;
  530. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP1 'TYPE' CTYP) ;
  531.  
  532. CPHAS = CHAI 'C' IPAHS;
  533. EVCP1 = EVOL 'MANU' 'T' LTCP1 CPHAS LCP1;
  534. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP1 'TYPE' CTYP) ;
  535.  
  536. ****************
  537. * 5- Austénite *
  538. ****************
  539. IPAHS = 5;
  540. CPHAS = CHAI 'K' IPAHS;
  541. LTKP5 = PROG 0 20 100 200 400 600 800 856
  542. 900 1000 1200 1500 1502 1600 ;
  543. LKP5 = PROG 0.0121 0.0124 0.0136 0.015 0.018 0.021 0.0239 0.0248
  544. 0.0254 0.0269 0.0298 0.0343 0.05 0.05;
  545. EVKP5 = EVOL 'MANU' 'T' LTKP5 CPHAS LKP5;
  546. MCHK = MCHK ET (MANU 'CHML' MODTHE CPHAS EVKP5 'TYPE' CTYP) ;
  547.  
  548. CPHAS = CHAI 'R' IPAHS;
  549. LTRHOP5= PROG 0 20 100 200 300 400
  550. 500 600 700 800 900 1440
  551. 2500 ;
  552. LRHOP5 = PROG 7852.D-9 7841.D-9 7794.D-9 7736.D-9 7680.D-9 7624.D-9
  553. 7569.D-9 7514.D-9 7458.D-9 7408.D-9 7356.D-9 7087.D-9
  554. 6613.D-9 ;
  555. EVRHOP5 = EVOL 'MANU' 'T' LTRHOP5 CPHAS LRHOP5;
  556. MCHRHO = MCHRHO ET (MANU 'CHML' MODTHE CPHAS EVRHOP5 'TYPE' CTYP);
  557.  
  558.  
  559. CPHAS = CHAI 'C' IPAHS;
  560. LTCP5 = PROG 21 50 150 200 250 300 350 475 575 675 800
  561. 950 1000 1100 1200 1300 1400 1440 1465 1490 1540 1590
  562. 1615 1640 2500 ;
  563. LCP5 = PROG 460.5 485.6 519.1 531.6 556.7 573.5 598.6 652 671 685 715
  564. 742 750 774 795 815 840 850 1210 1840 2470 1840
  565. 1210 840 707 ;
  566. EVCP5 = EVOL 'MANU' 'T' LTCP5 CPHAS LCP5;
  567. MCHC = MCHC ET (MANU 'CHML' MODTHE CPHAS EVCP5 'TYPE' CTYP) ;
  568.  
  569.  
  570.  
  571.  
  572. * Parametres pour le changement de phase
  573. CTYP = MOT 'SCALAIRE';
  574. TPHASE = TABL;
  575.  
  576. * Liste des transformations existantes dans un LISTENTIE
  577. TPHASE . 'REACTIONS' = LECT 1 5 2 5 3 5 4 5 5 2 5 3 5 4;
  578. * Lire : 1 vers 5, 2 vers 5, 3 vers 5, 4 vers 5
  579. * 5 vers 2, 5 vers 3, 5 vers 4
  580.  
  581. TPHASE . 'TYPE' = MOTS 'LEBL' 'LEBL' 'LEBL' 'LEBL' 'KOMA' 'LEBL' 'LEBL';
  582.  
  583. *-----------------------------------------------------------------------
  584. IDREAC = 1; COMM '1 vers 5';
  585. * Leblond
  586. EVOPEQ = EVOL 'MANU' 'T' (PROG 716. 802. )
  587. 'PEQ' (PROG 0. 1. );
  588. EVOTAU = EVOL 'MANU' 'T' (PROG 716. 802. )
  589. 'TAU' (PROG 12. 0.5 );
  590. EVOF = EVOL 'MANU' 'TPOI'(PROG -1.D-6 0. )
  591. 'F' (PROG 0. 1. );
  592.  
  593. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  594. 'TYPE' CTYP 'NOEUD';
  595. *-----------------------------------------------------------------------
  596. IDREAC = 2; COMM '2 vers 5';
  597. * Leblond
  598. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  599. 'TYPE' CTYP 'NOEUD';
  600. *-----------------------------------------------------------------------
  601. IDREAC = 3; COMM '3 vers 5';
  602. * Leblond
  603. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  604. 'TYPE' CTYP 'NOEUD';
  605. *-----------------------------------------------------------------------
  606. IDREAC = 4; COMM '4 vers 5';
  607. * Leblond
  608. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  609. 'TYPE' CTYP 'NOEUD';
  610. *-----------------------------------------------------------------------
  611. IDREAC = 5; COMM '5 vers 2';
  612. * Koistinen-Marburger
  613. TPHASE . IDREAC = MANU 'CHML' MODTHE 'MS' 380. 'KM' 0.0247
  614. 'TYPE' CTYP 'NOEUD';
  615. *-----------------------------------------------------------------------
  616. IDREAC = 6; COMM '5 vers 3';
  617. * Leblond
  618. EVOPEQ = EVOL 'MANU' 'T' (PROG 375 380 405 600 )
  619. 'PEQ' (PROG 0. 1. 1. 0. );
  620. EVOTAU = EVOL 'MANU' 'T' (PROG 375 380)
  621. 'TAU' (PROG 1.D6 20 );
  622. EVOF = EVOL 'MANU' 'TPOI'(PROG -100. -80. -60. -50. -40. -30.
  623. -25. -20. -18. -15. -12. -10.
  624. -9. -5. -1. -0.05 0.D0
  625. 1.D-6)
  626. 'F' (PROG 0.005 1.573 2.857 3.417 3.982 4.583
  627. 4.833 5.26 5.472 6.033 7.675 11.4
  628. 18.45 17.1 0.328 0.00238 0.00238
  629. 0.D0 );
  630. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  631. 'TYPE' CTYP 'NOEUD';
  632. *-----------------------------------------------------------------------
  633. IDREAC = 7; COMM '5 vers 4';
  634. * Leblond
  635. EVOPEQ = EVOL 'MANU' 'T' (PROG 625 630 730 735 )
  636. 'PEQ' (PROG 0 1 1 0 );
  637. EVOTAU = EVOL 'MANU' 'T' (PROG 625 630 )
  638. 'TAU' (PROG 1.D6 5 );
  639. EVOF = EVOL 'MANU' 'TPOI'(PROG -8.5 -6.2 -4.7 0. 1.D-6)
  640. 'F' (PROG 0.001 0.13 1.5 1.5 0. );
  641. TPHASE . IDREAC = MANU 'CHML' MODTHE 'PEQ' EVOPEQ 'TAU' EVOTAU 'F' EVOF
  642. 'TYPE' CTYP 'NOEUD';
  643. *-----------------------------------------------------------------------
  644.  
  645. * Verification des donnees rentrees
  646. NBREAC = (DIME TPHASE . 'REACTIONS') / 2;
  647. NBTYPE = (DIME TPHASE . 'TYPE' ) ;
  648. NBINDI = (DIME TPHASE) ;
  649. SI ('NEG' NBREAC NBTYPE);
  650. OPTI ECHO 0;
  651. CHAI1 = CHAI 'Le Nombre de reaction (' NBREAC ') ';
  652. CHAI2 = CHAI 'ne correspond pas avec ';
  653. CHAI3 = CHAI 'la taille de la liste des noms (' NBTYPE ').';
  654. MESS CHAI1;
  655. MESS CHAI2;
  656. MESS CHAI3;
  657. OPTI ECHO 1;
  658. ERRE 21;
  659. FINS;
  660.  
  661. SI ('NEG' NBINDI (NBREAC + 2));
  662. OPTI ECHO 0;
  663. CHAI1 = CHAI 'Le Nombre de reaction (' NBREAC ') ';
  664. CHAI2 = CHAI 'ne correspond pas avec ';
  665. CHAI3 = CHAI 'le nombre de reactions donnees (' (NBINDI - 2) ').';
  666. MESS CHAI1;
  667. MESS CHAI2;
  668. MESS CHAI3;
  669. OPTI ECHO 1;
  670. ERRE 21;
  671. FINS;
  672. ************************************************************************
  673. * Definition de la metallurgie : FIN
  674. ************************************************************************
  675.  
  676.  
  677. ************************************************************************
  678. * Phase 1 et 2 :
  679. * Rampe de temperature jusqu'à 900°C d'une durée de 20min
  680. * Palier isotherme à 900°C d'une durée de 30min
  681. ************************************************************************
  682.  
  683.  
  684. *TEMPERATURE INITIALE
  685. CHPTINI = MANU 'CHPO' MAILT 1 'T' TMIN 'NATU' 'DIFFUS' ;
  686.  
  687. * Creation du MCHAML de proportion de phase INITIALE
  688. CTYP = MOT 'SCALAIRE';
  689. MCHPHA = MANU 'CHML' MODTHE 'MB ' 0.1 'MART' 0.2 'BAIN' 0.3
  690. 'FERR' 0.4 'AUST' 0.0
  691. 'TYPE' CTYP 'NOEUD' ;
  692.  
  693. *MATERIAUX
  694. MATPHAS = MCHK 'ET' MCHRHO 'ET' MCHC ;
  695. MATCONV ='MATE' MODCON 'H' 0.D0 ;
  696. MATCOND ='MATE' MODTHE 'K' 0.D0 'RHO' 0.D0 'C' 0.D0;
  697. MATTOT = MATCOND 'ET' MATCONV;
  698.  
  699. ************************************************************************
  700. * Fabrication du diagramme TRC (Pour vérification de la mise en donnee)
  701. ************************************************************************
  702. * Calcul automatique de la liste des vitesses de refroidissement
  703. VIT1 = 250. ;
  704. VIT2 = 1. ;
  705. NBVI = 50 ;
  706. VLOG1 = 'LOG' VIT1;
  707. VLOG2 = 'LOG' VIT2;
  708.  
  709. PASLOG = (VLOG2 - VLOG1) / (NBVI - 1);
  710. LRELOG ='PROG' VLOG1 'PAS' PASLOG VLOG2;
  711. LISTVIT='EXP' LRELOG;
  712.  
  713. * Liste manuelle des vitesses de refroidissement
  714. LISTVIT = PROG 250. 50. 10. 7. 4. ;
  715. ************************************************************************
  716.  
  717. *CLs
  718. *TEMPERATURE IMPOSE EN BAS
  719. CLTOT = BLOQ 'T' MAILT ;
  720. TIMPO = DEPI 1. CLTOT ;
  721.  
  722. * CHARGEMENT
  723. LTPSCHA = PROG 0. 1200. 3000. ;
  724. LTCHA = PROG TMIN TMAX TMAX ;
  725. EVT = EVOL 'MANU' LTPSCHA LTCHA;
  726. * DESS EVT;
  727. CHARTOT = CHAR 'TIMP' TIMPO EVT ;
  728.  
  729. *TEMPS_CALCULES
  730. LTCAL1 = PROG 0. 'PAS' 100. 945. 'PAS' 2. 1100.
  731. 'PAS' 5. 1200. 'PAS' 50. 3000. ;
  732.  
  733. *PASAPAS
  734. TPASAP ='TABL' ;
  735. TPASAP.'MODELE' = MODTOT ;
  736. TPASAP.'CARACTERISTIQUES' = MATTOT ;
  737. TPASAP.'BLOCAGES_THERMIQUES' = CLTOT ;
  738. TPASAP.'CHARGEMENT' = CHARTOT ;
  739. TPASAP.'TEMPS_CALCULES' = LTCAL1 ;
  740.  
  741. TPASAP.'TEMPS' ='TABL' ;
  742. TPASAP.'TEMPERATURES' ='TABL' ;
  743. TPASAP.'PROPORTIONS_PHASES' ='TABL' ;
  744. TPASAP.'TEMPS' . 0 ='EXTR' LTCAL1 1;
  745. TPASAP.'TEMPERATURES' . 0 = CHPTINI ;
  746. TPASAP.'PROPORTIONS_PHASES' . 0 = MCHPHA ;
  747. TPASAP.'PROCESSEURS' ='MOT' 'MONO_PROCESSEUR';
  748.  
  749. * PROCEDURES Utilisateurs
  750. TPASAP.'PROCEDURE_PARATHER' = VRAI ;
  751. TPASAP.'PROCEDURE_CHARTHER' = VRAI ;
  752.  
  753. * Option pour l'integration du COMPORTEMENT des PHASES
  754. TPASAP.'PRECISION' = 1.D-8 ; COMM 'Critere Relatif';
  755. TPASAP.'PTOL' = 1.D-4 ; COMM 'Critere Absolu ';
  756. TPASAP.'NITERPHASE_MAX' = 10 ; COMM 'Voir CHARTHER' ;
  757. TPASAP.'IGNORE_NON_CONV' = VRAI ; COMM 'Voir CHARTHER' ;
  758.  
  759. PASAPAS TPASAP ;
  760.  
  761. ************************************************************************
  762. * Phase 3 :
  763. * Refroidissement par convection sur un des bords
  764. ************************************************************************
  765. * MATERIAU
  766. MATCONV ='MATE' MODCON 'H' HCON ;
  767. MATTOT = MATCOND 'ET' MATCONV ;
  768.  
  769. * CHARGEMENT
  770. LTPSCHA = PROG 0.D0 1.D6 ;
  771. LTCHA = PROG 1.D0 1.D0 ;
  772. EVTECO = EVOL 'MANU' LTPSCHA LTCHA;
  773. * DESS EVTECO;
  774. CHPTECO ='MANU' 'CHPO' SURFBAS 1 'T' 20. ;
  775. CHARTOT = CHAR 'TECO' CHPTECO EVTECO ;
  776.  
  777. *TEMPS_CALCULES
  778. MTPS1 ='MAXI' LTCAL1 ;
  779. MTPS2 = MTPS1 + 600. ;
  780. LTCAL2 ='PROG' 3000. 'PAS' 1. 3040. 'PAS' 2 3160. 'PAS' 4. 3370.
  781. 'PAS' 20. MTPS2 ;
  782.  
  783. * Remplacement des indices dans la TABLE TPASAP
  784. TPASAP.'BLOCAGES_THERMIQUES'='VIDE' 'RIGIDITE';
  785. TTPS = TPASAP.'TEMPS';
  786. ID_IND=('DIME' TTPS) - 1;
  787. MCHPHA=TPASAP.'PROPORTIONS_PHASES' . ID_IND ;
  788. ID2 = ID_IND + 1 ;
  789.  
  790. TPASAP.'CARACTERISTIQUES' = MATTOT ;
  791. TPASAP.'CHARGEMENT' = CHARTOT;
  792. TPASAP.'TEMPS_CALCULES' = LTCAL2 ;
  793. TPASAP.'PROPORTIONS_PHASES' . ID2 = MCHPHA ;
  794.  
  795. * PROCEDURES Utilisateurs
  796. TPASAP.'PROCEDURE_PARATHER' = VRAI ;
  797. TPASAP.'PROCEDURE_CHARTHER' = VRAI ;
  798.  
  799. * Option pour l'integration du COMPORTEMENT des PHASES
  800. TPASAP.'PRECISION' = 1.D-8 ; COMM 'Critere Relatif';
  801. TPASAP.'PTOL' = 1.D-4 ; COMM 'Critere Absolu ';
  802. TPASAP.'NITERPHASE_MAX' = 10 ; COMM 'Voir CHARTHER' ;
  803. TPASAP.'IGNORE_NON_CONV' = VRAI ; COMM 'Voir CHARTHER' ;
  804.  
  805. PASAPAS TPASAP ;
  806.  
  807.  
  808. ************************************************************************
  809. * POST-TRAITEMENT des résultats
  810. ************************************************************************
  811. fic_sauv = 'CHAI' 'JOMINY.sauv' ;
  812. OPTI SAUV fic_sauv ;
  813.  
  814. OPTI TRAC 'PSC' ;
  815. *OPTI ISOV 'SULI' ;
  816.  
  817.  
  818. * Initialisations pour le POST-TRAITEMENT
  819. LISCOM ='EXTR' MCHPHA 'COMP' ;
  820. NBCOMP ='DIME' LISCOM ;
  821. TABPHA ='TABL';
  822. REPE SURPHA NBCOMP;
  823. IPH = &SURPHA;
  824. TABPHA . IPH ='VIDE' 'LISTREEL' ;
  825. FIN SURPHA;
  826. LTPS ='VIDE' 'LISTREEL';
  827.  
  828. REPE BLOC0 ('DIME' TPASAP.'TEMPS') ;
  829. I = &BLOC0 - 1 ;
  830. CHT = TPASAP.'TEMPERATURES' . I ;
  831. CHPHA = TPASAP.'PROPORTIONS_PHASES'. I ;
  832. LTPS = LTPS 'ET' (TPASAP.'TEMPS' . I) ;
  833.  
  834. * Extraction pour chaque phase de la valeur courante
  835. REPE SURPHA NBCOMP;
  836. IPH = &SURPHA;
  837. NOMP='EXTR' LISCOM IPH;
  838. * Pi ='EXTR' CHPHA NOMP 1 1288 1 ;
  839. * Pi ='EXTR' CHPHA NOMP 1 378 1 ;
  840. Pi ='EXTR' CHPHA NOMP 1 1 1 ;
  841. TABPHA . IPH = TABPHA . IPH 'ET' Pi;
  842. FIN SURPHA;
  843. FIN BLOC0 ;
  844.  
  845. *Reconstitution des EVOL
  846. EVTOTa ='VIDE' 'EVOLUTIO';
  847. TDESS1 ='TABL' ;
  848. TDESS1 . 'TITRE' ='TABL' ;
  849. EVOPHAS ='VIDE' 'EVOLUTIO';
  850. CPPHAS = 'CHAN' 'CHPO' CHPHA MODTOT;
  851. REPE SURPHA NBCOMP;
  852. IPH = &SURPHA;
  853. NOMP ='EXTR' LISCOM IPH;
  854. ICOUL = @MOD IPH NBCOUL;
  855. COUL1 ='EXTR' LESCOUL ICOUL;
  856. Lpi = TABPHA. IPH ;
  857. TABPHA . IPH ='EVOL' COUL1 'MANU' 'TEMP' LTPS NOMP Lpi;
  858. EVTOTa = EVTOTa 'ET' TABPHA . IPH ;
  859. IMARQ = @MOD IPH NBMARQ;
  860. LAMAR ='EXTR' IMARQ LESMARQ;
  861. TDESS1 . 'TITRE' . IPH = NOMP;
  862. * TDESS1 . IPH ='CHAI' 'MARQ ' LAMAR ' REGU';
  863. EVOPHAS = EVOPHAS 'ET' ('EVOL' COUL1 'CHPO' CPPHAS NOMP L2);
  864. FIN SURPHA;
  865.  
  866. EVTOTa = 'CHAN' 'NOMORD' EVTOTa 'PROP';
  867. 'DESS' EVTOTa 'LEGE' TDESS1 'TITR' ('CHAI' 'Evolution des Props en fonction du temps' ) ;
  868.  
  869. *Temperature au cours du temps... pour tests !
  870. TURE = 'VIDE' 'LISTREEL' ;
  871. REPE BLOC0 ('DIME' TPASAP.'TEMPS') ;
  872. I = &BLOC0 - 1 ;
  873. CHTURE = TPASAP.'TEMPERATURES'. I ;
  874.  
  875. * Pi ='EXCO' CHTURE T 'T';
  876. * PiEvol = 'EXTR' Pi T 1 1 1;
  877. PiEvol = 'EXTR' CHTURE 'T' P1;
  878. TURE = TURE 'ET' PiEvol ;
  879. FIN BLOC0 ;
  880. EVOTURE ='EVOL' 'ROUG' 'MANU' 'TEMP' LTPS 'TURE' TURE;
  881. 'DESS' EVOTURE 'TITR' ('CHAI' 'Evolution de la T°C en fonction du temps' ) ;
  882. *Temperature au cours du temps... pour tests ! FIN
  883.  
  884. EVOPHAS = 'CHAN' 'NOMORD' EVOPHAS 'PROP';
  885. 'DESS' EVOPHAS 'LEGE' TDESS1 'TITR' ('CHAI' 'Props a Temps final' ) ;
  886.  
  887. fic_CSV = 'CHAI' 'JOMINY.csv' ;
  888. 'OPTI' 'SORT' fic_CSV ;
  889. 'SORT' 'EXCE' EVOPHAS ;
  890.  
  891.  
  892. *On trace les champs de temperatures... pour tests
  893.  
  894. TURE = TPASAP.'TEMPERATURES'. ( ('DIME' TPASAP.'TEMPERATURES') - 1 ) ;
  895. TURE2 = 'CHAN' 'CHPO' TURE MODTOT;
  896. EVOTURE = 'EVOL' 'ROUGE' 'CHPO' TURE2 'T' L4;
  897. 'DESS' EVOTURE 'TITR' ('CHAI' 'T°C a Temps final' ) ;
  898.  
  899.  
  900. *REPE B1 ('DIME' TPASAP.'TEMPS') ;
  901. * TPS1 = TPASAP . 'TEMPS' . (&B1 - 1) ;
  902. * TE1 = TPASAP . 'TEMPERATURES' . (&B1 - 1) ;
  903. * TRAC TE1 MAILT (PROG TMIN PAS ((TMAX - TMIN) / 20.) TMAX) 'TITR' (CHAI 'Temperature au temps' TPS1) ;
  904. *FIN B1 ;
  905.  
  906.  
  907. REPE BLOC0 ('DIME' TPASAP.'TEMPS') ;
  908.  
  909. I = &BLOC0 - 1 ;
  910.  
  911. * Temperature a chaque instant sur L4 :
  912. TURE = TPASAP.'TEMPERATURES'. I ;
  913. TURE2 = 'CHAN' 'CHPO' TURE MODTOT;
  914. EVOTURE = 'EVOL' 'ROUGE' 'CHPO' TURE2 'T' L4;
  915. 'DESS' EVOTURE 'TITR' ('CHAI' 'Temps:' (TPASAP.'TEMPS' . I) ) ;
  916.  
  917. * Props de Phases sur L2 a chaques instant :
  918. CHT = TPASAP.'TEMPERATURES' . I ;
  919. CHPHA = TPASAP.'PROPORTIONS_PHASES'. I ;
  920. LTPS = LTPS 'ET' (TPASAP.'TEMPS' . I) ;
  921. EVTOTa ='VIDE' 'EVOLUTIO';
  922. TDESS1 ='TABL' ;
  923. TDESS1 . 'TITRE' ='TABL' ;
  924. EVOPHAS ='VIDE' 'EVOLUTIO';
  925. CPPHAS = 'CHAN' 'CHPO' CHPHA MODTOT;
  926. REPE SURPHA NBCOMP;
  927. IPH = &SURPHA;
  928. NOMP ='EXTR' LISCOM IPH;
  929. ICOUL = @MOD IPH NBCOUL;
  930. COUL1 ='EXTR' LESCOUL ICOUL;
  931. TDESS1 . 'TITRE' . IPH = NOMP;
  932. EVOPHAS = EVOPHAS 'ET' ('EVOL' COUL1 'CHPO' CPPHAS NOMP L2);
  933. FIN SURPHA;
  934. EVOPHAS = 'CHAN' 'NOMORD' EVOPHAS 'PROP';
  935. 'DESS' EVOPHAS 'LEGE' TDESS1 'TITR' ('CHAI' 'Temps:' (TPASAP.'TEMPS' . I) );
  936.  
  937. FIN BLOC0 ;
  938.  
  939. FIN ;
  940.  
  941.  
  942.  

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