Télécharger dupont2.procedur

Retour à la liste

Numérotation des lignes :

  1. * DUPONT2 PROCEDUR FANDEUR 17/04/06 21:15:01 9389
  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.  
  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 = 0;
  185.  
  186. TYP_0 = 'TYPE' (ETAB.'TET0');
  187. 'SI' ('NEG' TYP_0 'ENTIER ') ;
  188. 'SI' ((ABS(T_PAS-T_VPAS)/T_PAS) '<EG' 1E-5);
  189. TEM1 = ETAB.'TEMPS0' ;
  190. TEM0 = TEM1 - T_VPAS;
  191. TEM2 = TEM1 + T_PAS;
  192. U0 = ETAB.'TET0' ;
  193. U1 = ETAB.'TET1' ;
  194. 'SINON';
  195. U1 = ETAB.'TET1' ;
  196. INIT = 1;
  197. 'FINSI';
  198. 'SINON';
  199. INIT = 1;
  200. U1 = ETAB.'TET1' ;
  201. 'FINSI';
  202.  
  203. 'SI' (INIT 'EGA' 1);
  204. TEM0 = ETAB.'TEMPS0';
  205. TEM1 = TEM0 + T_PAS;
  206. TEM2 = TEM1 + T_PAS;
  207. LI_TEM = ETAB.'TEM_CALC';
  208. ETAB.'TEM_CALC' = 'PROG' TEM1;
  209. TIN1 = TRANSNON PRECED;
  210. ETAB.'TEM_CALC' = LI_TEM;
  211. ERR_VAL = TIN1.'ERREUR' ;
  212. 'SI' ETAB.'RAYO';
  213. ETAB.'RAYONNEMENT' = TIN1.'RAYONNEMENT';
  214. 'FINSI' ;
  215. *
  216. 'SI' ('EGA' DCALC 1);
  217. STAB = TIN1 ;
  218. STAB.'RELAXATION_DUPONT' = LAMBDA ;
  219. 'QUITTER' PROC;
  220. 'FINSI';
  221.  
  222. ****************************************************************
  223. * calculer U2 a partir de U1 *
  224. ****************************************************************
  225. * je suis passe dans TRANSNON
  226. U2 = TIN1.'INITIAL(2)' ;
  227. U0 = U1;
  228. U1 = U2;
  229. 'FINSI' ;
  230.  
  231. 'SI' ICELS ;
  232. U0 = U0 + TREF ; U1 = U1 + TREF ;
  233. 'FINSI' ;
  234.  
  235. ********************************************************************
  236. * Boucle sur les pas de temps *
  237. ********************************************************************
  238.  
  239. 'REPETER' BOUC_SO ;
  240. ITE3 = &BOUC_SO;
  241.  
  242. *-------------------- Condition de fin de boucle ------------------
  243.  
  244. TEMM = (LAMBDA2 * TEM2) + ((1 - LAMBDA2) * TEM1);
  245. UC_T = 'COLI' U1 ((TEMM - TEM0)/(TEM1 - TEM0))
  246. U0 ((TEM1 - TEMM)/(TEM1 - TEM0)) ;
  247. TH_COUR = UC_T ; 'SI' ICELS ; TH_COUR = TH_COUR - TREF ; 'FINSI' ;
  248. ETAB.'THER_COURANT' = TH_COUR ;
  249.  
  250. 'MESS' ' ';
  251. 'MESS' '---- Calcul du champ de temperature au temps :'TEM2;
  252. 'MESS' ' ';
  253.  
  254. *****************************************************************
  255. * Gestion des variables externes *
  256. *****************************************************************
  257.  
  258. 'SI' NONLIN1;
  259.  
  260. *-------------- Cas de la temperature et du temps ---------------
  261.  
  262. CHVAR = 'CHAN' 'CHAM' TH_COUR ETAB.'MOD_TOT' 'RIGIDITE' ;
  263. CHVAR2 = 'MANU' 'CHML' ETAB.'MOD_TOT' 'TEMP' TEMM 'RIGIDITE' ;
  264. CHVAR = CHVAR 'ET' CHVAR2 ;
  265.  
  266. *-------------- Cas des variables mecaniques --------------------
  267. *---- si il y a couplage on les "rentre" toutes dans CHVAR ------
  268.  
  269. 'SI' (ETAB.'COUPLAGE');
  270. CHVAR = CHVAR 'ET' CHAR_ME;
  271. 'FINSI';
  272.  
  273. *-------------- Mise a jour des variables externes --------------
  274.  
  275. 'SI' (ETAB.'PROCEDURE_PARA_THER') ;
  276. PARATHER PRECED TEMM ;
  277. 'FINSI' ;
  278.  
  279. *-------------- Cas des autres variables --------------------
  280.  
  281. 'REPETER' BOU_NU2 ILVA;
  282. MOTI = 'EXTR' LVAREX &BOU_NU2 ;
  283. 'SI' (('EGA' MOTI 'TEMP ') OU ('EGA' MOTI 'T '));
  284. 'ITERER' BOU_NU2;
  285. 'FINSI';
  286. 'SI' (ETAB.'COUPLAGE');
  287. 'SI' ('EXISTE' CHAR_ME MOTI );
  288. 'SI' ('NEG' LAMBDA2 0.);
  289. 'MESS' '*** Le materiau thermique depend de parametres mecaniques';
  290. 'ERRE' '*** Il faut initialiser SOUS-RELAXATION à 0.';
  291. 'FINSI';
  292. 'ITERER' BOU_NU2;
  293. 'FINSI';
  294. 'FINSI';
  295. 'SI' ('EXISTE' (ETAB.'CHARGEMENT') MOTI);
  296. CH_1 = 'TIRE' (ETAB.'CHARGEMENT') MOTI TEMM;
  297. TYP_1 = 'TYPE' CH_1;
  298.  
  299. * on suppose que les chargements qui ne sont pas d'origine mecanique
  300. * sont appuyes sur le maillage thermique .
  301.  
  302. 'SI' ('EGA' TYP_1 'CHPOINT ');
  303. CHVAR2 = 'CHAN' 'CHAM' CH_1 ETAB.'MOD_TOT' 'RIGIDITE';
  304. 'SINON';
  305. CHVAR2 = 'CHAN' 'RIGIDITE' CH_1 ETAB.'MOD_TOT';
  306. 'FINSI';
  307. CHVAR = CHVAR + CHVAR2;
  308. 'SINON';
  309. 'MESS' '*** Il manque une donnee du chargement ***';
  310. 'MESS' '*** Variable concernee : 'MOTI;
  311. 'ERREUR' ' ';
  312. 'FINSI';
  313. 'FIN' BOU_NU2;
  314. 'FINSI';
  315.  
  316. *--------------------- On cherche les flux -----------------------
  317.  
  318. 'SI' ('EXISTE' (ETAB.'CHARGEMENT') 'Q ');
  319. CH_FL = 'TIRE' (ETAB.'CHARGEMENT') 'Q ' TEMM;
  320. 'FINSI';
  321.  
  322. *----------------- Calcul du champ de matériau ---------------------
  323.  
  324. 'SI' NONLIN1;
  325. CHVAR1 = 'REDU' CHVAR (ETAB.'MOD_TOT');
  326. CHMAT = 'VARI' 'NUAG' (ETAB.'MOD_TOT') (ETAB.'MAT_TOT')
  327. CHVAR1 'RIGIDITE';
  328. 'SINON';
  329. CHMAT = ETAB.'MAT_TOT';
  330. 'FINSI';
  331. ETAB.'CHMAT'=CHMAT;
  332.  
  333. *------------- Calcul de la matrice de conductivité ----------------
  334.  
  335. CHMAT1 = 'REDU' CHMAT ETAB.'MOD_THE';
  336. MAT_COND = 'COND' ETAB.'MOD_THE' CHMAT1;
  337. 'SI' IKCONS ;
  338. MAT_COND = MAT_COND 'ET' ETAB.'CONDUCTIVITE_CONSTANTE' ;
  339. 'FINS' ;
  340.  
  341. *----------------- y-a-t-il des blocages ---------------------------
  342.  
  343. 'SI' ('EGA' ETAB.'BLOCAGES_THERMIQUES' 'INCONNU' ) ;
  344. MAT_BLOC = 'EXTR' MAT_COND 'RIGI' 'MULT';
  345. 'SINON';
  346. MAT_BLOC = ETAB.'BLOCAGES_THERMIQUES';
  347. 'FINSI';
  348. 'SI' ('NON' ('EXISTE' (ETAB.'CHARGEMENT') 'TIMP'));
  349. CH_TI = 'DEPI' MAT_BLOC 0.;
  350. 'SINON';
  351. CH_TI = 'TIRE' (ETAB.'CHARGEMENT') 'TIMP' TEM2 ;
  352. 'SI' ICELS ; CH_TI = CH_TI + TREF ; 'FINSI' ;
  353. 'FINSI';
  354.  
  355. *----------------- Calcul de la matrice de capacite -----------------
  356.  
  357. 'SI' ICAPA ;
  358. MAT_CAPA = 'CAPA' ETAB.'MOD_THE' CHMAT1;
  359. 'FINSI' ;
  360. 'SI' ICPCONS ;
  361. MAT_CAPA = MAT_CAPA 'ET' ETAB.'CAPACITE_CONSTANTE' ;
  362. 'FINSI' ;
  363.  
  364. *******************************************************************
  365. * On genere les termes de convection *
  366. *******************************************************************
  367.  
  368. 'SI' ETAB.'CONVECTION';
  369. CHMAT2 = 'REDU' CHMAT ETAB.'MOD_CON';
  370. * RIG_CON = 'COND' ETAB.'MOD_CON' CHMAT2 ;
  371. *---------- Si convection, on cherche TECO -------------------------
  372. 'SI' ('EXISTE' ETAB.'CHARGEMENT' 'TECO') ;
  373. CH_TEC = 'TIRE' ETAB.'CHARGEMENT' 'TECO' TEMM ;
  374. 'SI' ICELS ; CH_TEC = CH_TEC + TREF ; 'FINSI' ;
  375. CHAL_TE = 'CONV' ETAB.'MOD_CON' CHMAT2 CH_TEC ;
  376. CH_TI = CH_TI + CHAL_TE;
  377. 'FINSI' ;
  378. * MAT_COND = MAT_COND 'ET' RIG_CON;
  379. 'FINSI';
  380.  
  381. ******************************************************************
  382. * On genere les termes de rayonnement *
  383. ******************************************************************
  384.  
  385. 'SI' ETAB.'RAYO' ;
  386. IAPPEL = 1 ;
  387. t_rayo = PAS_RAYO PRECED TEMM IAPPEL ;
  388. 'SI' ('EXIS' t_rayo 'ADDI_MATRICE') ;
  389. MAT_COND = MAT_COND 'ET' t_rayo.'ADDI_MATRICE';
  390. 'FINSI';
  391. 'SI' ('EXIS' t_rayo 'ADDI_SECOND') ;
  392. CH_TI = CH_TI 'ET' t_rayo.'ADDI_SECOND' ;
  393. 'FINSI';
  394. 'OUBLIER' t_rayo ;
  395. 'FINSI';
  396.  
  397. ******************************************************************
  398. * En cas de procedure utilisateur CHARTHER *
  399. ******************************************************************
  400.  
  401. 'SI' ETAB.'PROCEDURE_CHAR_THER' ;
  402. taat = CHARTHER PRECED TEMM ;
  403. 'SI'( 'EXIS' taat 'ADDI_SECOND') ;
  404. CH_TI = CH_TI 'ET' taat.'ADDI_SECOND' ;
  405. 'FINSI' ;
  406. 'SI' ('EXIS' taat 'ADDI_MATRICE') ;
  407. MAT_COND = MAT_COND 'ET' taat.'ADDI_MATRICE' ;
  408. 'FINSI' ;
  409. taat = 'MOT' 'INCONNU' ;
  410. 'FINSI';
  411.  
  412. *---------------- Calcul de la matrice regularisee -----------------
  413.  
  414. SCA1 = 0.5 + LAMBDA ;
  415. SCA2 = ( 2. * LAMBDA ) - 0.5 ;
  416. SCA3 = -1. * LAMBDA ;
  417. MAT_RIGI = MAT_COND * SCA1 ;
  418. B1 = MAT_COND * SCA2 ;
  419. B2 = MAT_COND * SCA3 ;
  420. MAT_CHPO = B2 * U0 ;
  421. 'SI' ICAPA ;
  422. A1 = MAT_CAPA / T_PAS ;
  423. MAT_RIGI = A1 'ET' MAT_RIGI ;
  424. B1 = A1 'ET' B1 ;
  425. 'FINSI' ;
  426. MAT_RIGI = MAT_RIGI 'ET' MAT_BLOC ;
  427. MAT_CHPO = MAT_CHPO + (B1 * U1) ;
  428. 'SI' ('EXISTE' (ETAB.'CHARGEMENT') 'Q ');
  429. MAT_CHPO = MAT_CHPO + CH_FL ;
  430. 'FINSI' ;
  431. MAT_CHPO = MAT_CHPO + CH_TI ;
  432.  
  433. *--------------------- Calcul d'un pas ----------------------------
  434.  
  435. U2 = 'RESOUDRE' MAT_RIGI MAT_CHPO ;
  436. 'DETR' MAT_RIGI;
  437.  
  438. TH_COUR = U2 ; 'SI' ICELS ; TH_COUR = TH_COUR - TREF ; 'FINSI' ;
  439. ETAB.'THER_COURANT' = TH_COUR ;
  440.  
  441. *---------------- Appel a une procedure utilisateur -----------------
  442.  
  443. 'SI' (ETAB.'PROCEDURE_PERSO2');
  444. tab_z = 'INDEX' (PRECED.'TEMPERATURES') ;
  445. IND0 = tab_z. ('DIMENSION' tab_z) ;
  446. ETAB.'TEMI' = PRECED.'TEMPERATURES' . IND0 ;
  447. 'OUBLIER' tab_z ;
  448. PERSO2 PRECED ;
  449. ETAB = 'ENLEVER' ETAB 'TEMI' ;
  450. 'SI' ('EXIS' PRECED 'ARRET') ;
  451. ETAB . 'ARRET' = PRECED . 'ARRET' ;
  452. 'FINS' ;
  453. 'FINSI';
  454.  
  455. *******************************************************************
  456. * Reinitialisation des variables en vue du pas suivant *
  457. *******************************************************************
  458.  
  459. 'SI' ((ITE3 + 1 + INIT) '<EG' DCALC);
  460. TEM0 = TEM1;
  461. TEM1 = TEM2;
  462. TEM2 = 'EXTR' TE_CALC (ITE3 + 1 + INIT);
  463. T_PAS = TEM2 - TEM1;
  464. U0 = U1;
  465. U1 = U2;
  466. 'SINON';
  467. 'QUITTER' BOUC_SO;
  468. 'FINSI';
  469.  
  470. *------------------------ On fait le menage -----------------------
  471.  
  472. 'MENAGE' ;
  473.  
  474. 'FIN' BOUC_SO ;
  475.  
  476. 'SI' A_SUPPR ;
  477. ETAB = 'ENLE' ETAB 'RELAXATION_DUPONT' ;
  478. 'FINSI' ;
  479.  
  480. STAB = 'TABLE' ;
  481. STAB.'ERREUR' = ERR_VAL ;
  482. STAB.'RELAXATION_DUPONT' = LAMBDA ;
  483. 'SI' ETAB.'RAYO' ;
  484. STAB.'RAYONNEMENT' = ETAB.'RAYONNEMENT' ;
  485. 'FINSI' ;
  486. STAB.'INITIAL(2)' = TH_COUR ;
  487. STAB.'CLIT' = MAT_BLOC ;
  488.  
  489. 'FIN' PROC ;
  490.  
  491. 'FINPROC' STAB ;
  492.  
  493.  
  494.  

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