Télécharger dupont2.procedur

Retour à la liste

Numérotation des lignes :

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

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