Télécharger dupont2.procedur

Retour à la liste

Numérotation des lignes :

  1. * DUPONT2 PROCEDUR MB234859 24/02/29 21:15:03 11849
  2. 'DEBPROC' DUPONT2 PRECED*'TABLE';
  3.  
  4. *----------------------------------------------------------------------*
  5. * *
  6. * D U P O N T 2 *
  7. * ------------- *
  8. * *
  9. * RESOLUTION D'UN PROBLEME DE THERMIQUE TRANSITOIRE NON-LINEAIRE *
  10. * METHODE A UN PAS DE TEMPS ( TETA SCHEMA ) *
  11. * *
  12. * ETAB, TABLE CONTENANT EN ENTREE : *
  13. * *
  14. * INDICE 'TET0' CHAMP DE TEMPERATURE INITIAL AU PAS 0 *
  15. * INDICE 'TET1' CHAMP DE TEMPERATURE INITIAL AU PAS 1 *
  16. * ( LA DONNEE DE CE CHAMP EST FACULTATIVE ) *
  17. * INDICE 'VIEUXPAS' PAS DE TEMPS ENTRE TET0 ET TET1 *
  18. * (DONNEE INDISPENSABLE SI EXISTE TET1) *
  19. * INDICE 'RAYO' LOGIQUE VALANT VRAI POUR UNE CONDITION *
  20. * DE RAYONNEMENT *
  21. * INDICE 'CELSIUS' LOGIQUE VALANT VRAI SI L'UNITE EST LE *
  22. * DEGRE CELSIUS (CAPITAL SI RAYONNEMENT) *
  23. * INDICE 'MOD_THE' MODELE THERMIQUE *
  24. * INDICE 'MOD_CON' MODELE CONVECTION *
  25. * INDICE 'MOD_TOT' MODELE CONVECTION + THERMIQUE *
  26. * INDICE 'MAT_TOT' MATERIAU CONVECTION + THERMIQUE *
  27. * INDICE 'BLOCAGES_THERMIQUES' MATRICE DE BLOCAGE *
  28. * INDICE 'CHARGEMENT' CHARGEMENT DECRIVANT LES : *
  29. * VALEURS DES VARIABLES EXTERNES (EX: TE, *
  30. * FLUX,TEMPERATURES IMPOSEES ,...) *
  31. * VALEURS DES VARIABLES EXTERNES *
  32. * INDICE 'PHASE' LOGIQUE VALANT VRAI SI CHGT DE PHASE *
  33. * INDICE 'TEMPS0' TEMPS INITIAL (CORRESPOND A TET0) *
  34. * INDICE 'PAS' VALEUR DU PAS DE TEMPS *
  35. * INDICE 'TEM_CALC' LISTREEL : TEMPS DES RESULTATS A CALCULER *
  36. * INDICE 'RELAXATION_DUPONT' VALEUR DU COEFFICIENT DE RELAXATION *
  37. * (VALEUR PAR DEFAUT 0.25) *
  38. * INDICE 'SOUS-RELAXATION' VALEUR DU COEFF. DE SOUS-RELAXATION *
  39. * (VALEUR PAR DEFAUT 0.5) *
  40. * INDICE PROJECTION LOGIQUE VALANT VRAI SI COUPLAGE ET SI LE *
  41. * MAILLAGE DE LA MECANIQUE ET DE LA THERMIQUE*
  42. * EST DIFFERENT *
  43. * *
  44. * ETAB CONTIENT EN SORTIE *
  45. * *
  46. * INDICE INITIAL(2) DERNIER CHAMP DE TEMPERATURE CALCULE *
  47. * *
  48. * REMARQUE : CERTAINES VARIABLES ONT DES NOMS IMPOSES. *
  49. * LE TEMPS : TEMP *
  50. * LA TEMPERATURE : T *
  51. * LA TEMPERATURE EXTERIEURE : TE *
  52. * LES TEMPERATURES IMPOSEES : TIMP *
  53. * LES FLUX : Q *
  54. * *
  55. * LE NOM DES AUTRES VARIABLES EST LAISSE AU CHOIX DE *
  56. * L'UTILISATEUR *
  57. * *
  58. * D.R., LE 29 JUIN 1988. *
  59. * E.J., MODIFICATIONS SEPTEMBRE 1994 *
  60. * *
  61. *----------------------------------------------------------------------*
  62. 'REPETER' PROC 1 ;
  63.  
  64. ETAB = PRECED.'WTABLE';
  65. CONTI = PRECED.'CONTINUATION';
  66. ESTIM = PRECED.'ESTIMATION';
  67. ERR_VAL = FAUX;
  68. MAIL_TOT = 'EXTR' ETAB.'MOD_TOT' 'MAIL';
  69.  
  70. ********************************************************************
  71. * Recuperation de l'information contenue dans ETAB *
  72. ********************************************************************
  73.  
  74. *---------------- Initialisation du pas de temps ------------------
  75.  
  76. T_PAS = ETAB.'NOUV_PAS' ;
  77. 'SI' ('EXISTE' ETAB 'VIEUXPAS');
  78. T_VPAS = ETAB.'VIEUXPAS';
  79. 'FINSI';
  80.  
  81. *------- Initialisation de la liste des temps a calculer ---------
  82.  
  83. TE_CALC = ETAB.'TEM_CALC' ;
  84. DCALC = 'DIME' TE_CALC;
  85.  
  86. *------------ Initialisation des variables externes ---------------
  87.  
  88. LNOM = 'EXTR' ETAB.'CHARGEMENT' 'COMP';
  89.  
  90. *----------- y-a-t-il definition du coefficient lambda -----------
  91.  
  92. 'SI' ( 'EXISTE' ETAB 'RELAXATION_DUPONT' ) ;
  93. LAMBDA = ETAB.'RELAXATION_DUPONT' ;
  94. A_SUPPR = FAUX ;
  95. 'SINON' ;
  96. LAMBDA = 0.25 ;
  97. ETAB.'RELAXATION_DUPONT' = LAMBDA ;
  98. A_SUPPR = VRAI ;
  99. 'FINSI' ;
  100. 'SI' ( 'EXISTE' ETAB 'SOUS_RELAXATION' ) ;
  101. LAMBDA2 = ETAB.'SOUS_RELAXATION' ;
  102. 'SINON' ;
  103. LAMBDA2 = 0.5 ;
  104. 'FINSI' ;
  105.  
  106. *-------- Recherche des variables selon lesquelles varie ----------
  107. *---------------------- le champ de materiau ----------------------
  108.  
  109. LVAREX = 'EXTR' ETAB.'MAT_TOT' 'DEVA';
  110. ILVA = 'DIME' LVAREX;
  111. 'SI' ('NEG' ILVA 0);
  112. NONLIN1 = VRAI;
  113. 'SI' (ETAB.'COUPLAGE');
  114. CONTI=PRECED.'CONTINUATION';
  115. *--- Creation du MCHAML contenant tous les parametres mecaniques --
  116. *-------- Ces parametres sont determines au temps TEM0 ------------
  117. *----- Ces parametres sont projetes sur le maillage thermique -----
  118.  
  119. DEP1 = 'CHAN' 'CHAM' CONTI.'DEPLACEMENTS'
  120. ETAB.'MO_TOT' 'NOEUD';
  121. CON1 = 'CHAN' 'NOEUD' CONTI.'CONTRAINTES'
  122. ETAB.'MO_TOT' ;
  123. CHAR1_ME = DEP1 'ET' CON1;
  124. * 'SI' ('EXISTE' CONTI 'VITESSES');
  125. * VIT1 = 'CHAN' 'CHAM' CONTI.'VITESSES'
  126. * ETAB.'MO_TOT' 'NOEUD';
  127. * CHAR1_ME = CHAR1_ME 'ET' VIT1;
  128. * 'FINSI';
  129. 'SI' ('EXISTE' CONTI 'VARIABLES_INTERNES');
  130. VAR1 = 'CHAN' 'NOEUD' CONTI.'VARIABLES_INTERNES'
  131. ETAB.'MO_TOT' ;
  132. * DEF1 ='CHAN' 'NOEUD' (ETAB.'DEI_EST')
  133. * (ETAB.'MO_TOT') ;
  134. CHAR1_ME = CHAR1_ME 'ET' VAR1 ;
  135. * CHAR1_ME = CHAR1_ME 'ET' VAR1 'ET' DEF1;
  136. 'FINSI';
  137. 'SI' ETAB.'PROJECTION';
  138. CHAR_ME = 'CHAN' 'CHAM' ('PROI' MAIL_TOT CHAR1_ME)
  139. (ETAB.'MO_TOT') 'RIGIDITE';
  140. 'SINON';
  141. CHAR_ME = 'CHAN' 'CHAM' ('CHAN' 'CHPO' CHAR1_ME
  142. (ETAB.'MO_TOT')) (ETAB.'MO_TOT') 'RIGIDITE';
  143. 'FINSI';
  144. 'FINSI';
  145. 'SINON';
  146. NONLIN1 = FAUX;
  147. 'FINSI';
  148.  
  149. *------- Cas particulier ou il n'y a pas de CAPACITE ------------------*
  150. *- Ceci correspond au cas ou, au moins, une des 2 composantes 'C ' -*
  151. *- et/ou 'RHO ' n'est pas definie dans le materiau (facultatives). -*
  152.  
  153. ICPCONS = ETAB.'CAPACONST' ;
  154. IKCONS = ETAB.'CONDCONST' ;
  155.  
  156. LCOMPM = 'EXTRAIRE' ETAB.'MAT_TOT' 'COMP' ;
  157. ICAPA = ('EXISTE' LCOMPM 'C ') 'ET' ('EXISTE' LCOMPM 'RHO ') ;
  158. ICAPA = ICAPA 'OU' ICPCONS ;
  159. * En regime stationnaire (sans CAPACITE), on force LAMBDA2 a 1.
  160. * Sinon on ne resout pas le bon probleme !
  161. * Quelle valeur pour LAMBDA ? 0.5 ? A voir !
  162. * On peut aussi se demander s'il est judicieux, dans le cas present,
  163. * d'utiliser cette methode d'integration !
  164. 'SI' ('NON' ICAPA) ; LAMBDA2 = 1. ; 'FINSI' ;
  165.  
  166. *---------- Initialisation de l'unité de température --------------
  167.  
  168. 'SI' ('EXISTE' ETAB 'CELSIUS');
  169. ICELS = ETAB.'CELSIUS';
  170. 'SINON';
  171. ICELS = FAUX;
  172. 'FINSI';
  173.  
  174. *---------- Initialisation de la temperature de reference----------
  175.  
  176. 'SI' ICELS ;
  177. TREF = 273.15 ;
  178. 'SINON';
  179. TREF = 0. ;
  180. 'FINSI';
  181.  
  182. *----------- Initialisation des champs de temperatures ------------
  183. *------------------------ et du temps -----------------------------
  184.  
  185. INIT = 1;
  186. U1 = CONTI.'TEMPERATURES' ;
  187.  
  188. TYP_0 = 'TYPE' (ETAB.'TET0');
  189. 'SI' ('NEG' TYP_0 'ENTIER ') ;
  190. 'SI' ((ABS(T_PAS-T_VPAS)/T_PAS) '<EG' 1E-5);
  191. TEM1 = ETAB.'TEMPS0' ;
  192. TEM0 = TEM1 - T_VPAS;
  193. TEM2 = TEM1 + T_PAS;
  194. U0 = ETAB.'TET0' ;
  195. INIT = 0;
  196. 'FINSI';
  197. 'FINSI';
  198.  
  199. 'SI' (INIT 'EGA' 1);
  200. TEM0 = ETAB.'TEMPS0';
  201. TEM1 = TEM0 + T_PAS;
  202. TEM2 = TEM1 + T_PAS;
  203. LI_TEM = ETAB.'TEM_CALC';
  204. ETAB.'TEM_CALC' = 'PROG' TEM1;
  205. TIN1 = TRANSNON PRECED;
  206. ETAB.'TEM_CALC' = LI_TEM;
  207. ERR_VAL = TIN1.'ERREUR' ;
  208. *
  209. 'SI' ('EGA' DCALC 1);
  210. STAB = TIN1 ;
  211. STAB.'RELAXATION_DUPONT' = LAMBDA ;
  212. 'QUITTER' PROC;
  213. 'FINSI';
  214.  
  215. ****************************************************************
  216. * calculer U2 a partir de U1 *
  217. ****************************************************************
  218. * je suis passe dans TRANSNON
  219. U2 = TIN1.'INITIAL(2)' ;
  220. U0 = U1;
  221. U1 = U2;
  222. 'FINSI' ;
  223.  
  224. 'SI' ICELS ;
  225. U0 = U0 + TREF ; U1 = U1 + TREF ;
  226. 'FINSI' ;
  227.  
  228. ********************************************************************
  229. * Boucle sur les pas de temps *
  230. ********************************************************************
  231. INOBLOT = 'EGA' ('DIME' ETAB.'BLOCAGES_THERMIQUES') 0 ;
  232.  
  233. 'REPETER' BOUC_SO ;
  234. ITE3 = &BOUC_SO;
  235.  
  236. *-------------------- Condition de fin de boucle ------------------
  237.  
  238. TEMM = (LAMBDA2 * TEM2) + ((1 - LAMBDA2) * TEM1);
  239. UC_T = 'COLI' U1 ((TEMM - TEM0)/(TEM1 - TEM0))
  240. U0 ((TEM1 - TEMM)/(TEM1 - TEM0)) ;
  241. TH_COUR = UC_T ; 'SI' ICELS ; TH_COUR = TH_COUR - TREF ; 'FINSI' ;
  242. ETAB.'THER_COURANT' = TH_COUR ;
  243.  
  244. 'MESS' ' ';
  245. 'MESS' '---- Calcul du champ de temperature au temps :'TEM2;
  246. 'MESS' ' ';
  247.  
  248. *****************************************************************
  249. * Gestion des variables externes *
  250. *****************************************************************
  251.  
  252. 'SI' NONLIN1;
  253.  
  254. *-------------- Cas de la temperature et du temps ---------------
  255.  
  256. CHVAR = 'CHAN' 'CHAM' TH_COUR ETAB.'MOD_TOT' 'RIGIDITE' ;
  257. CHVAR2 = 'MANU' 'CHML' ETAB.'MOD_TOT' 'TEMP' TEMM 'RIGIDITE' ;
  258. CHVAR = CHVAR 'ET' CHVAR2 ;
  259.  
  260. *-------------- Cas des variables mecaniques --------------------
  261. *---- si il y a couplage on les "rentre" toutes dans CHVAR ------
  262.  
  263. 'SI' (ETAB.'COUPLAGE');
  264. CHVAR = CHVAR 'ET' CHAR_ME;
  265. 'FINSI';
  266.  
  267. *-------------- Mise a jour des variables externes --------------
  268.  
  269. 'SI' (ETAB.'PROCEDURE_PARATHER') ;
  270. PARATHER PRECED TEMM ;
  271. 'FINSI' ;
  272.  
  273. *-------------- Cas des autres variables --------------------
  274.  
  275. 'REPETER' BOU_NU2 ILVA;
  276. MOTI = 'EXTR' LVAREX &BOU_NU2 ;
  277. 'SI' (('EGA' MOTI 'TEMP ') OU ('EGA' MOTI 'T '));
  278. 'ITERER' BOU_NU2;
  279. 'FINSI';
  280. 'SI' (ETAB.'COUPLAGE');
  281. 'SI' ('EXISTE' CHAR_ME MOTI );
  282. 'SI' ('NEG' LAMBDA2 0.);
  283. 'MESS' '*** Le materiau thermique depend de parametres mecaniques';
  284. 'ERRE' '*** Il faut initialiser SOUS-RELAXATION à 0.';
  285. 'FINSI';
  286. 'ITERER' BOU_NU2;
  287. 'FINSI';
  288. 'FINSI';
  289. 'SI' ('EXISTE' (ETAB.'CHARGEMENT') MOTI);
  290. CH_1 = 'TIRE' (ETAB.'CHARGEMENT') MOTI TEMM;
  291. TYP_1 = 'TYPE' CH_1;
  292.  
  293. * on suppose que les chargements qui ne sont pas d'origine mecanique
  294. * sont appuyes sur le maillage thermique .
  295.  
  296. 'SI' ('EGA' TYP_1 'CHPOINT ');
  297. CHVAR2 = 'CHAN' 'CHAM' CH_1 ETAB.'MOD_TOT' 'RIGIDITE';
  298. 'SINON';
  299. CHVAR2 = 'CHAN' 'RIGIDITE' CH_1 ETAB.'MOD_TOT';
  300. 'FINSI';
  301. CHVAR = CHVAR + CHVAR2;
  302. 'SINON';
  303. 'MESS' '*** Il manque une donnee du chargement ***';
  304. 'MESS' '*** Variable concernee : 'MOTI;
  305. 'ERREUR' ' ';
  306. 'FINSI';
  307. 'FIN' BOU_NU2;
  308. 'FINSI';
  309.  
  310. *--------------------- On cherche les flux -----------------------
  311.  
  312. 'SI' ('EXISTE' (ETAB.'CHARGEMENT') 'Q ');
  313. CH_FL = 'TIRE' (ETAB.'CHARGEMENT') 'Q ' TEMM;
  314. 'FINSI';
  315.  
  316. *----------------- Calcul du champ de matériau ---------------------
  317.  
  318. 'SI' NONLIN1;
  319. CHVAR1 = 'REDU' CHVAR (ETAB.'MOD_TOT');
  320. CHMAT = 'VARI' 'NUAG' (ETAB.'MOD_TOT') (ETAB.'MAT_TOT')
  321. CHVAR1 'RIGIDITE';
  322. 'SINON';
  323. CHMAT = ETAB.'MAT_TOT';
  324. 'FINSI';
  325. ETAB.'CHMAT'=CHMAT;
  326.  
  327. *------------- Calcul de la matrice de conductivité ----------------
  328.  
  329. CHMAT1 = 'REDU' CHMAT ETAB.'MOD_THE';
  330. MAT_COND = 'COND' ETAB.'MOD_THE' CHMAT1;
  331. 'SI' IKCONS ;
  332. MAT_COND = MAT_COND 'ET' ETAB.'CONDUCTIVITE_CONSTANTE' ;
  333. 'FINS' ;
  334.  
  335. *----------------- y-a-t-il des blocages ---------------------------
  336.  
  337. 'SI' INOBLOT ;
  338. MAT_BLOC = 'EXTR' MAT_COND 'RIGI' 'MULT';
  339. 'SINON';
  340. MAT_BLOC = ETAB.'BLOCAGES_THERMIQUES';
  341. 'FINSI';
  342. 'SI' ('NON' ('EXISTE' (ETAB.'CHARGEMENT') 'TIMP'));
  343. CH_TI = 'DEPI' MAT_BLOC 0.;
  344. 'SINON';
  345. CH_TI = 'TIRE' (ETAB.'CHARGEMENT') 'TIMP' TEM2 ;
  346. 'SI' ICELS ; CH_TI = CH_TI + TREF ; 'FINSI' ;
  347. 'FINSI';
  348.  
  349. *----------------- Calcul de la matrice de capacite -----------------
  350.  
  351. 'SI' ICAPA ;
  352. MAT_CAPA = 'CAPA' ETAB.'MOD_THE' CHMAT1;
  353. ETAB.'CAPA_COURANTE' = MAT_CAPA ;
  354. 'FINSI' ;
  355. 'SI' ICPCONS ;
  356. MAT_CAPA = MAT_CAPA 'ET' ETAB.'CAPACITE_CONSTANTE' ;
  357. ETAB.'CAPA_COURANTE' = MAT_CAPA ;
  358. 'FINSI' ;
  359.  
  360. *******************************************************************
  361. * On genere les termes de convection *
  362. *******************************************************************
  363.  
  364. 'SI' ETAB.'CONVECTION';
  365. CHMAT2 = 'REDU' CHMAT ETAB.'MOD_CON';
  366. * RIG_CON = 'COND' ETAB.'MOD_CON' CHMAT2 ;
  367. *---------- Si convection, on cherche TECO -------------------------
  368. 'SI' ('EXISTE' ETAB.'CHARGEMENT' 'TECO') ;
  369. CH_TEC = 'TIRE' ETAB.'CHARGEMENT' 'TECO' TEMM ;
  370. 'SI' ICELS ; CH_TEC = CH_TEC + TREF ; 'FINSI' ;
  371. CHAL_TE = 'CONV' ETAB.'MOD_CON' CHMAT2 CH_TEC ;
  372. CH_TI = CH_TI + CHAL_TE;
  373. 'FINSI' ;
  374. * MAT_COND = MAT_COND 'ET' RIG_CON;
  375. 'FINSI';
  376.  
  377. ******************************************************************
  378. * On genere les termes de rayonnement *
  379. ******************************************************************
  380.  
  381. 'SI' ETAB.'RAYO' ;
  382. IAPPEL = 1 ;
  383. t_rayo = PAS_RAYO PRECED TEMM IAPPEL ;
  384. 'SI' ('EXIS' t_rayo 'ADDI_MATRICE') ;
  385. MAT_COND = MAT_COND 'ET' t_rayo.'ADDI_MATRICE';
  386. 'FINSI';
  387. 'SI' ('EXIS' t_rayo 'ADDI_SECOND') ;
  388. CH_TI = CH_TI 'ET' t_rayo.'ADDI_SECOND' ;
  389. 'FINSI';
  390. 'OUBLIER' t_rayo ;
  391. 'FINSI';
  392.  
  393. ******************************************************************
  394. * En cas de procedure utilisateur CHARTHER *
  395. ******************************************************************
  396.  
  397. 'SI' ETAB.'PROCEDURE_CHARTHER' ;
  398. taat = CHARTHER PRECED TEMM ;
  399. 'SI'( 'EXIS' taat 'ADDI_SECOND') ;
  400. CH_TI = CH_TI 'ET' taat.'ADDI_SECOND' ;
  401. 'FINSI' ;
  402. 'SI' ('EXIS' taat 'ADDI_MATRICE') ;
  403. MAT_COND = MAT_COND 'ET' taat.'ADDI_MATRICE' ;
  404. 'FINSI' ;
  405. taat = 'MOT' 'INCONNU' ;
  406. 'FINSI';
  407.  
  408. *---------------- Calcul de la matrice regularisee -----------------
  409.  
  410. SCA1 = 0.5 + LAMBDA ;
  411. SCA2 = ( 2. * LAMBDA ) - 0.5 ;
  412. SCA3 = -1. * LAMBDA ;
  413. MAT_RIGI = MAT_COND * SCA1 ;
  414. B1 = MAT_COND * SCA2 ;
  415. B2 = MAT_COND * SCA3 ;
  416. MAT_CHPO = B2 * U0 ;
  417. 'SI' ICAPA ;
  418. A1 = MAT_CAPA / T_PAS ;
  419. MAT_RIGI = A1 'ET' MAT_RIGI ;
  420. B1 = A1 'ET' B1 ;
  421. 'FINSI' ;
  422. MAT_RIGI = MAT_RIGI 'ET' MAT_BLOC ;
  423. MAT_CHPO = MAT_CHPO + (B1 * U1) ;
  424. 'SI' ('EXISTE' (ETAB.'CHARGEMENT') 'Q ');
  425. MAT_CHPO = MAT_CHPO + CH_FL ;
  426. 'FINSI' ;
  427. MAT_CHPO = MAT_CHPO + CH_TI ;
  428.  
  429. *--------------------- Calcul d'un pas ----------------------------
  430.  
  431. U2 = 'RESOUDRE' MAT_RIGI MAT_CHPO ;
  432. 'DETR' MAT_RIGI;
  433.  
  434. TH_COUR = U2 ; 'SI' ICELS ; TH_COUR = TH_COUR - TREF ; 'FINSI' ;
  435. ETAB.'THER_COURANT' = TH_COUR ;
  436.  
  437. *---------------- Appel a une procedure utilisateur -----------------
  438.  
  439. 'SI' (ETAB.'PROCEDURE_PERSO2');
  440. tab_z = 'INDEX' (PRECED.'TEMPERATURES') ;
  441. IND0 = tab_z. ('DIMENSION' tab_z) ;
  442. ETAB.'TEMI' = PRECED.'TEMPERATURES' . IND0 ;
  443. 'OUBLIER' tab_z ;
  444. PERSO2 PRECED ;
  445. ETAB = 'ENLEVER' ETAB 'TEMI' ;
  446. 'SI' ('EXIS' PRECED 'ARRET') ;
  447. ETAB . 'ARRET' = PRECED . 'ARRET' ;
  448. 'FINS' ;
  449. 'FINSI';
  450.  
  451. *******************************************************************
  452. * Reinitialisation des variables en vue du pas suivant *
  453. *******************************************************************
  454.  
  455. 'SI' ((ITE3 + 1 + INIT) '<EG' DCALC);
  456. TEM0 = TEM1;
  457. TEM1 = TEM2;
  458. TEM2 = 'EXTR' TE_CALC (ITE3 + 1 + INIT);
  459. T_PAS = TEM2 - TEM1;
  460. U0 = U1;
  461. U1 = U2;
  462. 'SINON';
  463. 'QUITTER' BOUC_SO;
  464. 'FINSI';
  465.  
  466. *------------------------ On fait le menage -----------------------
  467.  
  468. 'MENAGE' ;
  469.  
  470. 'FIN' BOUC_SO ;
  471.  
  472. 'SI' A_SUPPR ;
  473. ETAB = 'ENLE' ETAB 'RELAXATION_DUPONT' ;
  474. 'FINSI' ;
  475.  
  476. STAB = 'TABLE' ;
  477. STAB.'ERREUR' = ERR_VAL ;
  478. STAB.'RELAXATION_DUPONT' = LAMBDA ;
  479. 'SI' ETAB.'RAYO' ;
  480. STAB.'RAYONNEMENT' = ETAB.'RAYONNEMENT' ;
  481. 'FINSI' ;
  482. STAB.'INITIAL(2)' = TH_COUR ;
  483. STAB.'CLIT' = MAT_BLOC ;
  484. *
  485. ESTIM.'TEMPERATURES' = TH_COUR ;
  486. ESTIM.'REACTIONS_THERMIQUES' = 'REAC' MAT_BLOC TH_COUR ;
  487. *
  488. 'FIN' PROC ;
  489.  
  490. 'FINPROC' STAB ;
  491.  
  492.  

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