Télécharger dupont2.procedur

Retour à la liste

Numérotation des lignes :

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

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