Download execrxt.procedur

Back to the list

   1 : * EXECRXT   PROCEDUR  MAGN      13/05/27    21:15:00     7775           
   2 : 'DEBPROC' EXECRXT nbit*'ENTIER ' rxt*'TABLE   ' KENC/'MOT';
   3 : *----------------------------------------------------------
   4 : *---- Suivi des modifications
   5 : *--- 20/09/99 : ES prise en compte des incondensables
   6 : *               dans la procédure CONDENS
   7 : *--- 18/05/00 : FP prises en comptes de la condensation en masse par
   8 : *               l'ajout d'une nouvelle équation sur la masse volumique
   9 : *               de liquide en suspension. Les équations sur rhovap et
  10 : *               sur T sont également complétées par l'introduction
  11 : *               d'une nouveau terme source. La détermination des
  12 : *               termes sources est réalisée dans une procedure appelée
  13 : *               CONDENSM.
  14 : *--- 04/11/05 : Ajout d'un choix de formulation pour le flux condensé
  15 : *               (Chilton-Colburn) dans la procédure CONDENS
  16 : *----------------------------------------------------------
  17 : 
  18 : *==============================================================
  19 : Si(Exist KENC)                                              ;
  20 : MKENC=KENC                                                  ;
  21 : Sinon                                                       ;
  22 : MKENC='????'                                             ;
  23 : Finsi                                                       ;
  24 : *-----------------------------------------------------------------------
  25 : * Liste des entrées nécessaires                             ;
  26 : *-----------------------------------------------------------------------
  27 : * Géométrie
  28 : 
  29 :   listand = MOTS                                            ;
  30 :   listchp = MOTS                                            ;
  31 :   listentr= table                                           ;
  32 :   listentr.'VERSION'  =''                                   ;
  33 :   listentr.'vtf'      =''                                   ;
  34 :   listentr.'TF0'      =''                                   ;
  35 :   listentr.'PT0'      =''                                   ;
  36 : 
  37 :   listentr.'XFIMP'    =''                                   ;
  38 : 
  39 :   listentr.'THERMP'   =''                                   ;
  40 :   listentr.'PAROIS'   =''                                   ;
  41 :   listentr.'THERCO'   =''                                   ;
  42 :    listentr.'vtp'         =''                            ;
  43 :    listentr.'ROCP'        =''                            ;
  44 :    listentr.'LAMBDA'      =''                            ;
  45 :    listentr.'Tp0'         =''                            ;
  46 :    listentr.'ECHAN'       =''                            ;
  47 : 
  48 :    listentr.'ECHEXT'      =''                            ;
  49 :    listentr.'parext'      =''                            ;
  50 :    listentr.'HEXT'        =''                            ;
  51 :    listentr.'TPEXT'        =''                           ;
  52 : 
  53 :   listentr.'TIMP'     =''                                   ;
  54 :   listentr.'TIMP1'    =''                                   ;
  55 :   listentr.'TIMP2'    =''                                   ;
  56 :   listentr.'TIMP3'    =''                                   ;
  57 : 
  58 :   listentr.'ECHANP'   =''                                   ;
  59 : 
  60 :   listentr.'Sorties'  =''                                   ;
  61 :   listentr.'Breches'  =''                                   ;
  62 :   listentr.'breche'   =''                                   ;
  63 :   listentr.'breche2'  =''                                   ;
  64 :   listentr.'breche3'  =''                                   ;
  65 :   listentr.'sortie'   =''                                   ;
  66 :   listentr.'axe'      =''                                   ;
  67 :   listentr.'epsi'     =''                                   ;
  68 :   listentr.'pi'       =''                                   ;
  69 : 
  70 : * Table utilisée pour la définition de recombineurs
  71 :   listentr.'RECOMB'   =''                                   ;
  72 : 
  73 : * Table de travail rajoutées par la procédure
  74 :   listentr.'REINIT'   =''                                   ;
  75 :   listentr.'TIC'      =''                                   ;
  76 :   listentr.'GEO'      =''                                   ;
  77 :   listentr.'TBT'      =''                                   ;
  78 : 
  79 : * paramètres numériques / algorithmes
  80 :   listentr.'DISCR'    =''                                   ;
  81 :   listentr.'KPRE'     =''                                   ;
  82 :   listentr.'MAXELPRE' =''                                   ;
  83 :   listentr.'STAB'     =''                                   ;
  84 :   listentr.'ALGO'     =''                                   ;
  85 : 
  86 : * paramètres de fonctionnement
  87 :   listentr.'DT0'      =''                                   ;
  88 :   listentr.'PERSO'    =''                                   ;
  89 :   listentr.'GRAPH'    =''                                   ;
  90 :   listentr.'RENU'     =''                                   ;
  91 :   listentr.'TYPINV'   =''                                   ;
  92 :   listentr.'IMPR'     =''                                   ;
  93 :   listentr.'FRPREC'   =''                                   ;
  94 :   listentr.'PPDT'     =''                                   ;
  95 : 
  96 : 
  97 : ** Modèles physiques
  98 : * Constituant (air par défaut ) vapeur/incondensables
  99 :   listentr.'VAPEUR'   =''                                   ;
 100 :   listentr.'HE'       =''                                   ;
 101 :   listentr.'H2'       =''                                   ;
 102 :   listentr.'O2'       =''                                   ;
 103 :   listentr.'N2'       =''                                   ;
 104 :   listentr.'CO'       =''                                   ;
 105 :   listentr.'CO2'      =''                                   ;
 106 :   listentr.'AIR'      =''                                   ;
 107 : 
 108 : * Modèles de turbulence
 109 :   listentr.'MODTURB'  =''                                   ;
 110 :   listentr.'FPAROI'   =''                                   ;
 111 :   
 112 : * Formulation pour le modèle de condensation
 113 :   listentr.'MODCOND'     =''                                ;
 114 : 
 115 :   idim = vale 'DIME'                                        ;
 116 :   DIM3D=FAUX                                                ;
 117 :   Si(EGA idim 3)                                            ;
 118 :   DIM3D=VRAI                                                ;
 119 :   Finsi                                                     ;
 120 : 
 121 : *-----------------------------------------------------------------------
 122 : 
 123 :  REINIT= (NON ('EXIST' rxt 'TBT'))                          ;
 124 : 'SI' ('EXIST' rxt 'REINIT')                                 ;
 125 :  vertytab rxt 'REINIT' 'LOGIQUE'                            ;
 126 :  REINIT=rxt.'REINIT'                                        ;
 127 : 'FINSI'                                                     ;
 128 : 
 129 :  'SI'(('EXIST' rxt 'TBT') et (NON REINIT))                  ;                   
 130 :   vertytab rxt 'TBT' 'TABLE   '                             ;
 131 :   vertytab rxt 'GEO' 'TABLE   '                             ;
 132 :   TPREPA=FAUX                                               ;
 133 :   TBT=rxt.'TBT'                                             ;
 134 :   GEO=rxt.'GEO'                                             ;
 135 :  'SINON'                                                    ;
 136 :   TPREPA=VRAI                                               ;
 137 :   TBT='TABLE'                                               ;
 138 :   GEO='TABLE'                                               ;
 139 :   rxt.'GEO'=GEO                                             ;
 140 :  'FINSI'                                                    ;
 141 : 
 142 : 'SI' ('EXIST' rxt 'TIC')                                   ;
 143 :  vertytab rxt 'TIC' 'TABLE   '                             ;
 144 :  vertytab (rxt.'TIC') 'LTPS' 'LISTREEL'                    ;
 145 :  tic=rxt.'TIC'                                             ;
 146 : 'SINON'                                                    ;
 147 :  tic= 'TABLE' 'INCO'                                       ;
 148 :  rxt.'TIC'=tic                                             ;
 149 :  tic.'LTPS'  = 'PROG' 0.0                                  ;
 150 : 'FINSI'                                                    ;
 151 : 
 152 :  ndl   = 'DIME' (tic.'LTPS')                               ;
 153 :  Tps='EXTR' (tic.'LTPS') ndl                               ;
 154 :  MESS ' Le calcul demarre a partir du temps ' Tps          ;
 155 : 
 156 : * Initialisation
 157 : * Liste des Gaz qui peuvent etre calcule
 158 : LINCOND=MOTS 'N2' 'H2' 'HE' 'O2' 'CO' 'CO2' 'VAPE'       ;
 159 : 
 160 : Si (non(exist tic 'Lg0D'))                               ;
 161 : tic.'Lg0D'= Mots                                         ;
 162 : tic.'Li0D'= Prog                                         ;
 163 : Finsi                                                    ;
 164 : 
 165 : *-------------------------------------------------------------
 166 : * On vérifie que l'utilisateur a bien crée un volume FLUIDE
 167 : *                        Donnée obligatoire
 168 : *-------------------------------------------------------------
 169 : 
 170 :      vertytab rxt 'vtf' 'MAILLAGE'                      ;
 171 :      vertytab rxt 'TF0' 'FLOTTANT'                      ;
 172 :      vertytab rxt 'PT0' 'FLOTTANT'                      ;
 173 : 
 174 : *-------------------------------------------------------------
 175 : * DT0 Le pas de temps  : Donnée obligatoire
 176 : *-------------------------------------------------------------
 177 : 
 178 :  vertytab rxt 'DT0' 'FLOTTANT'                           ;
 179 :  tic.'DT'=rxt.'DT0'                                      ;
 180 : 
 181 : *----------------------------------------------------------
 182 : * VERSION= 'MOT' indiquant le niveau de la version
 183 : * Niveau disponible V0 (standard) et V1
 184 : *----------------------------------------------------------
 185 : 
 186 : TBT.'VERSION' = 0                                        ;
 187 : 'SI' (exist rxt 'VERSION')                               ;
 188 :  lxt = mots 'V0' 'V1'                                    ;
 189 :  tbvs= table; tbvs.'V0'=0; tbvs.'V1'=1;                  ;
 190 :  vertytab lxt (rxt.'VERSION') 'MOT'                      ;
 191 : TBT.'VERSION'= tbvs.(rxt.'VERSION')                      ;
 192 :  'SI' (TBT.'VERSION' > 0)                                ;
 193 :   TBT.'CONDMAS' = VRAI                                   ;
 194 :  'FINSI'                                                 ;
 195 : 'FINSI'                                                  ;
 196 : 
 197 : *----------------------------------------------------------
 198 : * GRAPH = Logique permettant les dessins
 199 : *----------------------------------------------------------
 200 : 
 201 : 
 202 : TBT.'GRAPH' = FAUX                                       ;
 203 : 'SI' (exist rxt 'GRAPH')                                 ;
 204 :  vertytab rxt 'GRAPH' 'LOGIQUE '                         ;
 205 : TBT.'GRAPH'= rxt.'GRAPH'                                 ;
 206 : 'FINSI'                                                  ;
 207 : 
 208 : *---------------------------------------------------------
 209 : * STAB = coefficient de Stabilisation pour les MACRO
 210 : *        pour l'algorithme de Projection
 211 : *---------------------------------------------------------
 212 : 
 213 : TBT.'STAB' = 1.                                           ;
 214 : 'SI' ('EXIST' rxt 'STAB')                                 ;
 215 :  vertytab rxt 'STAB' 'FLOTTANT'                           ;
 216 : TBT.'STAB' = rxt.'STAB'                                   ;
 217 : listand=listand et (MOTS 'STAB')                          ;
 218 : 'FINSI'                                                   ;
 219 : 
 220 : *---------------------------------------------------------
 221 : * DETMAT Logique indiquant qu'on détruit toutes les
 222 : *        matrices à la fin du calcul.
 223 : *---------------------------------------------------------
 224 : 
 225 : TBT.'DETMAT' = VRAI                                       ;
 226 : 'SI' ('EXIST' rxt 'DETMAT')                               ;
 227 :  vertytab rxt 'DETMAT' 'LOGIQUE'                          ;
 228 :  listentr.'DETMAT'   =''                                  ;
 229 : TBT.'DETMAT' = rxt.'DETMAT'                               ;
 230 : 'FINSI'                                                   ;
 231 : 
 232 : *---------------------------------------------------------
 233 : * CORTEMP Logique indiquant qu'on supprime ou non le controle
 234 : *         du bilan d'énergie.
 235 : *---------------------------------------------------------
 236 : 
 237 : TBT.'CORTEMP' = VRAI                                      ;
 238 : 'SI' ('EXIST' rxt 'CORTEMP')                              ;
 239 :  vertytab rxt 'CORTEMP' 'LOGIQUE'                         ;
 240 :  listentr.'CORTEMP'  =''                                  ;
 241 : TBT.'CORTEMP' = rxt.'CORTEMP'                             ;
 242 : listand=listand et (MOTS 'CORTEMP')                       ;
 243 : 'FINSI'                                                   ;
 244 : 
 245 : *---------------------------------------------------------
 246 : * RENU = Type de renumérotation pour les méthodes d'inversion
 247 : *        RIEN SLOA
 248 : *---------------------------------------------------------
 249 : 
 250 : TBT.'RENU' = 'SLOA'                                       ;
 251 : 'SI' ('EXIST' rxt 'RENU')                                 ;
 252 :  vertytab rxt 'RENU' 'MOT'                                ;
 253 :  lxt=mots 'RIEN' 'SLOA' 'GIBR' 'GIBA'                     ;
 254 :  vertytab lxt (rxt.'RENU') 'MOT'                          ;
 255 : TBT.'RENU' = rxt.'RENU'                                   ;
 256 : listand=listand et (MOTS 'RENU')                          ;
 257 : 'FINSI'                                                   ;
 258 : 
 259 : *---------------------------------------------------------
 260 : * TYPINV Type d'inversion
 261 : *        RIEN BICG sinon voir notice KRES
 262 : *---------------------------------------------------------
 263 : 
 264 : TBT.'TYPINV'= 3                                           ;
 265 : 'SI' ('EXIST' rxt 'TYPINV')                               ;
 266 :  vertytab rxt 'TYPINV' 'ENTIER'                           ;
 267 : TBT.'TYPINV' = rxt.'TYPINV'                               ;
 268 : listand=listand et (MOTS 'TYPINV')                        ;
 269 : 'FINSI'                                                   ;
 270 : 
 271 : *---------------------------------------------------------
 272 : * PPDT  formulation designé petits/grand  pas de temps
 273 : *                   conservative ou non conservative
 274 : *---------------------------------------------------------
 275 : 
 276 : TBT.'PPDT'= FAUX                                          ;
 277 : 'SI' ('EXIST' rxt 'PPDT')                                 ;
 278 :  vertytab rxt 'PPDT' 'LOGIQUE'                            ;
 279 : TBT.'PPDT' = rxt.'PPDT'                                   ;
 280 : listand=listand et (MOTS 'PPDT')                          ;
 281 : 'FINSI'                                                   ;
 282 : 
 283 : Si TBT.'PPDT'                                             ;
 284 :  TBT.'FCONS'= 'CONS2'                                     ;
 285 : Sinon                                                     ;
 286 :  TBT.'FCONS'= 'NOCONS'                                    ;
 287 : Finsi                                                     ;
 288 : *--------------------------------------------------------
 289 : * ALGO = choix de l'algorithme implicite / explicite
 290 : *   Les choix possibles sont :
 291 : *     IMPL  = semi implicite
 292 : *     EFM1  = semi explicite
 293 : *--------------------------------------------------------
 294 : 
 295 : TBT.'ALGO' ='IMPL'                                        ;
 296 : TBT.'SPGNU'='CHAI' sommet                                 ;
 297 : TBT.'FEF'  ='EF'                                          ;
 298 : TBT.'FIMPL'='IMPL'                                        ;
 299 : 'SI' ('EXIST' rxt 'ALGO')                                 ;
 300 :  vertytab rxt 'ALGO' 'MOT'                                ;
 301 :  lxt=mots 'IMPL' 'EFM1'                                   ;
 302 :  vertytab lxt (rxt.'ALGO') 'MOT'                          ;
 303 : TBT.'ALGO' = rxt.'ALGO'                                   ;
 304 :  Si (EGA TBT.'ALGO' 'EFM1')                               ;
 305 :   TBT.'SPGNU'='CHAI' centre                               ;
 306 :   TBT.'FEF'  ='EFM1'                                      ;
 307 :   TBT.'FIMPL'='EXPL'                                      ;
 308 :  Finsi                                                    ;
 309 : listand=listand et (MOTS 'ALGO')                          ;
 310 : 'FINSI'                                                   ;
 311 : 'MESS' '==> Algorithme choisi ' TBT.'ALGO'                ;
 312 : 
 313 : *--------------------------------------------------------
 314 : * DISCR = choix de la discrétisation
 315 : *   Les dicrétisations possibles sont :
 316 : *     LINE  = éléments linéaires
 317 : *     MACRO = éléments MACRO (par DEFAUT)
 318 : *     QUAF  = éléments quadratiques fluide
 319 : *--------------------------------------------------------
 320 : 
 321 : TBT.'discr'='MACRO'                                       ;
 322 : 'SI' ('EXIST' rxt 'DISCR')                                ;
 323 :  vertytab rxt 'DISCR' 'MOT'                               ;
 324 :  lxt=mots 'MACRO' 'LINE' 'QUAF'                           ;
 325 :  vertytab lxt (rxt.'DISCR') 'MOT'                         ;
 326 : TBT.'discr' = rxt.'DISCR'                                 ;
 327 : listand=listand et (MOTS 'DISCR')                         ;
 328 : 'FINSI'                                                   ;                     
 329 : 'MESS' '==> Discrétisation choisie pour la vitesse ' TBT.'discr'  ;
 330 : TBT.'discrH'=TBT.'discr'                                  ;
 331 : Si ((Ega TBT.'discr' 'QUAF') ET (EGA (VALE DIME) 3))      ;
 332 : TBT.'discrH'='MACRO'                                      ;
 333 : Finsi                                                     ;
 334 : 
 335 : *---------------------------------------------------------
 336 : * KPRE = position de l'inconnue de pression
 337 : *  possibilités : CENTRE avec algorithme de projection
 338 : *                 CENTREP1 avec algorithme IMPLICIT
 339 : *---------------------------------------------------------
 340 : 
 341 : TBT.'KPRE'='CENTRE'                                       ;
 342 : 'SI' ('EXIST' rxt 'KPRE')                                 ;
 343 :  vertytab rxt 'KPRE' 'MOT'                                ;
 344 :  lxt=table; lxt.'CENTRE'=' '; lxt.'CENTREP1'=' '          ;
 345 :             lxt.'MSOMMET'=' '                             ;
 346 :  vertytab lxt (rxt.'KPRE') 'MOT'                          ;
 347 :  TBT.'KPRE' = rxt.'KPRE'                                  ;
 348 : listand=listand et (MOTS 'KPRE')                          ;
 349 : 'FINSI'                                                   ;
 350 : 'MESS' '==> Discrétisation choisie pour la pression ' TBT.'KPRE';
 351 : 
 352 : *---------------------------------------------------------
 353 : * MAXELPRE = nombre maximum d'éléments pour lequel on utilise
 354 : * une méthode directe (Cholesky) pour inverser la matrice.
 355 : * Par défaut 20000
 356 : *---------------------------------------------------------
 357 : 
 358 : TBT.'MAXELPRE'= 20000                                     ;
 359 : 'SI' ('EXIST' rxt 'MAXELPRE')                             ;
 360 :  vertytab rxt 'MAXELPRE' 'ENTIER'                         ;
 361 :  TBT.'MAXELPRE' = rxt.'MAXELPRE'                          ;
 362 : listand=listand et (MOTS 'MAXELPRE')                      ;
 363 : 'FINSI'                                                   ;
 364 : 'MESS' '==> Résolution directe pour la pression jusqu à '
 365 :  TBT.'MAXELPRE' ' éléments';
 366 : 
 367 : *---------------------------------------------------------
 368 : * Definition des grandeurs Physiques :
 369 : * Rgi = constante des gaz pour chaque especes J/Kg/K
 370 : *
 371 : * Modif FP 26/06/00
 372 : Rabs = 6.022*1.38066                                  ;
 373 : TBT.'Rabs'  = Rabs                                    ;
 374 : TBT.'Rgh2'  = Rabs/2.E-3  ; TBT.'Mkh2'  = 2.016E-3    ;
 375 : TBT.'Rghe'  = Rabs/4.E-3  ; TBT.'Mkhe'  = 4.003E-3    ;
 376 : TBT.'Rgo2'  = Rabs/3.2E-2 ; TBT.'Mko2'  = 32.00E-3    ;
 377 : TBT.'Rgn2'  = Rabs/2.8E-2 ; TBT.'Mkn2'  = 28.02E-3    ;
 378 : TBT.'Rgco2' = Rabs/4.4E-2 ; TBT.'Mkco2' = 44.01E-3    ;
 379 : TBT.'Rgco'  = Rabs/2.8E-2 ; TBT.'Mkco'  = 28.01E-3    ;
 380 : TBT.'Rgvap' = Rabs/1.8E-2 ; TBT.'Mkvap' = 18.02E-3    ;
 381 : TBT.'Rgair' = 287.1       ; TBT.'Mkair' = 28.97E-3    ;
 382 : TBT.'Rgar'  = Rabs/4.E-2  ; TBT.'Mkar'  = 39.94E-3    ;
 383 : TBT.'Rgch4' = Rabs/16.E-3 ; TBT.'Mkch4' = 16.04E-3    ;
 384 : TBT.'lamair'= 2.580e-2    ;
 385 : 
 386 : TBT.'B0'    = -4512.70756 ; TBT.'B1'    = 4245585.9   ;
 387 : TBT.'B2'    = -1584624342.;
 388 : 
 389 : * Ancienne mouture
 390 : **TBT.'Rgh2'  = 4156.5                                     ;
 391 : **TBT.'Rghe'  = 2078.25                                    ;
 392 : **TBT.'Rgo2'  = 259.8                                      ;
 393 : **TBT.'Rgn2'  = 296.9                                      ;
 394 : **TBT.'Rgco2' = 188.9                                      ;
 395 : **TBT.'Rgco'  = 296.9                                      ;
 396 : **TBT.'Rgvap' = 461.513                                    ;
 397 : **TBT.'Rgair' = (0.8 '*' TBT.'Rgn2') '+' (0.2 '*' TBT.'Rgo2');
 398 : *--------------------------------------------------------
 399 : * Cpvap = Chaleur specifique a pression constante(J/Kg/K)
 400 : *         Hypothese de gaz parfait pour la vapeur d'eau
 401 : *
 402 : 'SI' ('EXIST' rxt 'Cpvap')                               ;
 403 :  vertytab rxt 'Cpvap' 'FLOTTANT'                         ;
 404 :  Cpvap = rxt.'Cpvap'                                     ;
 405 : 'SINON'                                                  ;
 406 :  Cpvap = 1700.                                           ;
 407 : 'MESS' '==> Cpvap mis par defaut a 1700 J/kg/K        '  ;
 408 : 'FINSI'                                                  ;
 409 :  TBT.'Cpvap'=Cpvap                                       ;
 410 :  TBT.'Cvvap'=TBT.'Cpvap' - TBT.'Rgvap'                   ;
 411 : *--------------------------------------------------------
 412 : * Lv = Chaleur Latente supposée constante (J/kg)
 413 : *
 414 : 'SI' ('EXIST' rxt 'Lv')                                       ;
 415 :  vertytab rxt 'Lv' 'FLOTTANT'                                 ;
 416 :  Lv = rxt.'Lv'                                                ;
 417 : 'SINON'                                                       ;
 418 :  Lv = 2.3E6                                                   ;
 419 : 'MESS' '==> Chaleur latente Lv mise par defaut a 2.3E6 J/kg'  ;
 420 : 'FINSI'                                                       ;
 421 :  TBT.'Lv'=Lv                                                  ;
 422 : *--------------------------------------------------------
 423 : * DB = coefficient de diffusion Brownienne
 424 : *
 425 : 'SI' ('EXIST' rxt 'db')                                  ;
 426 :  vertytab rxt 'db' 'FLOTTANT'                            ;
 427 :  db = rxt.'db'                                           ;
 428 : 'SINON'                                                  ;
 429 :  db = 1.000e-5                                           ;
 430 : 'FINSI'                                                  ;
 431 :  TBT.'db'=db                                             ;
 432 : *----------------------------------------------------------
 433 : 
 434 :    TBT.'Taxe' = FAUX                                     ;
 435 :   Si (exist rxt 'axe')                                   ;
 436 :    vertytab rxt 'axe' 'MAILLAGE'                         ;
 437 :    TBT.'Taxe' = VRAI                                     ;
 438 :   Finsi                                                  ;
 439 : 
 440 : *----------------------------------------------------------
 441 : * SCENARIO = on verifie existence de la TABLE necessaire
 442 : *            pour faire un calcul avec EXECRXT
 443 : *            si il y a au moins une brèche
 444 : 
 445 : *---------------------------------------------------------
 446 : * Cas d'un nombre quelconque de Sorties
 447 :    TBT.'TTsortie' = FAUX                                 ;
 448 : mess 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW';
 449 :   Si (exist rxt 'Sorties')                               ;
 450 : 
 451 :    vertytab rxt 'Sorties' 'TABLE'                        ;
 452 :    TBT.'TTsortie' = VRAI                                 ;
 453 :    NBR=dime rxt.'Sorties'                                ;
 454 :    mess ' Il y a ' NBR ' Sortie(s)'                      ;
 455 : 
 456 :    ibr=index (rxt.'Sorties')                             ;
 457 : 
 458 :    Repeter BBRS NBR                                      ;
 459 :    Sriches=rxt.'Sorties'.(ibr.&BBRS)                     ;
 460 :    mess ' Vérification Sortie ' (ibr.&BBRS)              ;
 461 : 
 462 :    vertytab Sriches 'Maillage' 'MAILLAGE'                ;
 463 :    vertytab Sriches 'scenario' 'TABLE   '                ;
 464 :    scn = Sriches.'scenario'                              ;
 465 :    Sriches.'Modinj'=mot 'A'                              ;
 466 :    Si(EXIST Sriches.'scenario' 'Modinj')                 ;
 467 :    Sriches.'Modinj'=Sriches.'scenario'.'Modinj'          ;
 468 :    Finsi                                                 ;
 469 : * Petites initialisations
 470 :    Sriches.'guj'   = Prog 0.                             ;
 471 :    Sriches.'Qj'    = Prog 0.                             ;
 472 :    Sriches.'Ksi'   = Prog 0.                             ;
 473 :    Sriches.'Hj'    = Prog 0.                             ;
 474 :    Sriches.'Ej'    = Prog 0.                             ;
 475 :    Sriches.'Ltbp1' = Prog 0.                             ;
 476 :    Sriches.'Qlj'   = Prog 0.                             ;
 477 :    Sriches.'Hlj'   = Prog 0.                             ;
 478 :    Sriches.'Tinj'  = Prog 0.                             ;
 479 :    FIN BBRS                                              ;
 480 :    TBT.'Sorties' = rxt.'Sorties'                         ;
 481 :   Finsi                                                  ;
 482 : *---------------------------------------------------------
 483 : 
 484 : *---------------------------------------------------------
 485 : * Cas d'un nombre quelconque de brèches
 486 :    TBT.'TTbreche' = FAUX                                 ;
 487 :   Si (exist rxt 'Breches')                               ;
 488 : 
 489 :    vertytab rxt 'Breches' 'TABLE'                        ;
 490 :    TBT.'TTbreche' = VRAI                                 ;
 491 :    NBR=dime rxt.'Breches'                                ;
 492 :    mess ' Il y a ' NBR ' Brèche(s)'                      ;
 493 : 
 494 :    ibr=index (rxt.'Breches')                             ;
 495 : 
 496 :    Repeter BBRS NBR                                      ;
 497 :    Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
 498 :    mess ' Vérification Breche ' (ibr.&BBRS)              ;
 499 : 
 500 :    vertytab Briches 'diru' 'POINT   '                    ;
 501 :    vertytab Briches 'Maillage' 'MAILLAGE'                ;
 502 :    vertytab Briches 'scenario' 'TABLE   '                ;
 503 :    scn = Briches.'scenario'                              ;
 504 :    Briches.'Modinj'=mot 'A'                              ;
 505 :    Si(EXIST Briches.'scenario' 'Modinj')                 ;
 506 :    Briches.'Modinj'=Briches.'scenario'.'Modinj'          ;
 507 :    Finsi                                                 ;
 508 : * Petites initialisations
 509 :    Briches.'guj'   = Prog 0.                             ;
 510 :    Briches.'Qj'    = Prog 0.                             ;
 511 :    Briches.'Ksi'   = Prog 0.                             ;
 512 :    Briches.'Hj'    = Prog 0.                             ;
 513 :    Briches.'Ej'    = Prog 0.                             ;
 514 :    Briches.'Ltbp1' = Prog 0.                             ;
 515 :    Briches.'Qlj'   = Prog 0.                             ;
 516 :    Briches.'Hlj'   = Prog 0.                             ;
 517 :    Briches.'Tinj'  = Prog 0.                             ;
 518 :    FIN BBRS                                              ;
 519 :    TBT.'Breches' = rxt.'Breches'                         ;
 520 :   Finsi                                                  ;
 521 : *---------------------------------------------------------
 522 : 
 523 :    TBT.'Tbreche' = FAUX                                  ;
 524 :   Si (exist rxt 'breche')                                ;
 525 : 
 526 :    vertytab rxt 'breche' 'MAILLAGE'                      ;
 527 :    TBT.'Tbreche' = VRAI                                  ;
 528 : 
 529 : *  listentr= listentr et (mots 'diru1' 'scenario')       ;
 530 :    listentr.'diru1'       =''                            ;
 531 :    listentr.'scenario'    =''                            ;
 532 :    vertytab rxt 'diru1' 'POINT   '                       ;
 533 :    TBT.'diru1'=rxt.'diru1'                               ;
 534 : 
 535 :    vertytab rxt 'scenario' 'TABLE   '                    ;
 536 :    scn = rxt.'scenario'                                  ;
 537 :    TBT.'Modinj'=mot 'A'                                  ;
 538 :    Si(EXIST rxt.'scenario' 'Modinj')                     ;
 539 :    TBT.'Modinj'=rxt.'scenario'.'Modinj'                  ;
 540 :    Finsi                                                 ;
 541 : 
 542 :   Finsi                                                  ;
 543 : 
 544 :    TBT.'Tbreche2' = FAUX                                 ;
 545 :   Si (exist rxt 'breche2')                               ;
 546 : 
 547 : * pas de breche2 sans breche sinon pb ds les Qo 
 548 :    vertytab rxt 'breche'  'MAILLAGE'                     ;
 549 :    vertytab rxt 'breche2' 'MAILLAGE'                     ;
 550 :    TBT.'Tbreche2' = VRAI                                 ;
 551 : 
 552 : *  listentr= listentr et (mots 'diru2''scenario2')       ;
 553 :    listentr.'diru2'       =''                            ;
 554 :    listentr.'scenario2'   =''                            ;
 555 :    vertytab rxt 'diru2' 'POINT   '                       ;
 556 :    TBT.'diru2'=rxt.'diru2'                               ;
 557 : 
 558 :    vertytab rxt 'scenario2' 'TABLE   '                   ;
 559 :    scn2 = rxt.'scenario2'                                ;
 560 :    TBT.'Modinj2'=mot 'A'                                 ;
 561 :    Si(EXIST rxt.'scenario2' 'Modinj')                    ;
 562 :    TBT.'Modinj2'=rxt.'scenario2'.'Modinj'                ;
 563 :    Finsi                                                 ;
 564 : 
 565 :   Finsi                                                  ;
 566 : 
 567 :    TBT.'Tbreche3' = FAUX                                 ;
 568 :   Si (exist rxt 'breche3')                               ;
 569 : 
 570 : * pas de breche3 sans breche sinon pb ds les Qo 
 571 :    vertytab rxt 'breche'  'MAILLAGE'                     ;
 572 :    vertytab rxt 'breche2' 'MAILLAGE'                     ;
 573 :    vertytab rxt 'breche3' 'MAILLAGE'                     ;
 574 :    TBT.'Tbreche3' = VRAI                                 ;
 575 : 
 576 : *  listentr= listentr et (mots 'diru3''scenario3')       ;
 577 :    listentr.'diru3'       =''                            ;
 578 :    listentr.'scenario3'   =''                            ;
 579 :    vertytab rxt 'diru3' 'POINT   '                       ;
 580 :    TBT.'diru3'=rxt.'diru3'                               ;
 581 : 
 582 :    vertytab rxt 'scenario3' 'TABLE   '                   ;
 583 :    scn3 = rxt.'scenario3'                                ;
 584 :    TBT.'Modinj3'=mot 'A'                                 ;
 585 :    Si(EXIST rxt.'scenario3' 'Modinj')                    ;
 586 :    TBT.'Modinj3'=rxt.'scenario3'.'Modinj'                ;
 587 :    Finsi                                                 ;
 588 : 
 589 :   Finsi                                                  ;
 590 : 
 591 : *----------------------------------------------------------
 592 :    TBT.'Tsortie' = FAUX                                  ;
 593 : 
 594 :   Si (exist rxt 'sortie')                                ;
 595 :    vertytab rxt 'sortie' 'MAILLAGE'                      ;
 596 :    TBT.'Tsortie' = VRAI                                  ;
 597 :    Si (NON (exist rxt 'CORTEMP'))                        ;
 598 :    TBT.'CORTEMP' = FAUX                                  ;
 599 :    Finsi                                                 ;
 600 :   Finsi                                                  ;
 601 : 
 602 : *----------------------------------------------------------
 603 : * XFIMP 1 : Flux de masse imposés
 604 : *
 605 :    TBT.'TFIMP'  = FAUX                                   ;
 606 :  Si (Exist rxt 'XFIMP')                                  ;
 607 :    TBT.'TFIMP'  = VRAI                                   ;
 608 :    vertytab rxt 'XFIMP'  'TABLE'                         ;
 609 :    NBFIMP=dime (rxt.'XFIMP')                             ;
 610 :    ifimp=INDEX (rxt.'XFIMP')                             ;
 611 :   REPETER BBFIMP NBFIMP                                  ;
 612 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
 613 :    vertytab (rxt.'XFIMP') (ifimp.&BBFIMP) 'TABLE'        ;
 614 :    vertytab Bfimp 'MAILLAGE' 'MAILLAGE'                  ;
 615 :    vertytab Bfimp 't'        'LISTREEL'                  ;
 616 :    nds=dime Bfimp.'t';
 617 : 
 618 :    Si(Exist Bfimp 'qt')                                  ;
 619 :    vertytab Bfimp 'qt'       'LISTREEL'                  ;
 620 :    Sinon                                                 ;
 621 :    Bfimp.'qt'=prog nds*0.                                ;
 622 :    Finsi                                                 ;
 623 : 
 624 :    Si(Exist Bfimp 'qeau')                                ;
 625 :    vertytab Bfimp 'qeau'     'LISTREEL'                  ;
 626 :    Sinon                                                 ;
 627 :    Bfimp.'qeau'=prog nds*0.                              ;
 628 :    Finsi                                                 ;
 629 : 
 630 :    Si(Exist Bfimp 'qair')                                ;
 631 :    vertytab Bfimp 'qair'     'LISTREEL'                  ;
 632 :    Sinon                                                 ;
 633 :    Bfimp.'qair'=prog nds*0.                              ;
 634 :    Finsi                                                 ;
 635 : 
 636 :    Si(Exist Bfimp 'qhe')                                 ;
 637 :    vertytab Bfimp 'qhe'     'LISTREEL'                   ;
 638 :    Sinon                                                 ;
 639 :    Bfimp.'qhe'=prog nds*0.                               ;
 640 :    Finsi                                                 ;
 641 : 
 642 :    Si(Exist Bfimp 'qh2')                                 ;
 643 :    vertytab Bfimp 'qh2'     'LISTREEL'                   ;
 644 :    Sinon                                                 ;
 645 :    Bfimp.'qh2'=prog nds*0.                               ;
 646 :    Finsi                                                 ;
 647 : 
 648 :    Si(Exist Bfimp 'qo2')                                 ;
 649 :    vertytab Bfimp 'qo2'     'LISTREEL'                   ;
 650 :    Sinon                                                 ;
 651 :    Bfimp.'qo2'=prog nds*0.                               ;
 652 :    Finsi                                                 ;
 653 : 
 654 :    Si(Exist Bfimp 'qn2')                                 ;
 655 :    vertytab Bfimp 'qn2'     'LISTREEL'                   ;
 656 :    Sinon                                                 ;
 657 :    Bfimp.'qn2'=prog nds*0.                               ;
 658 :    Finsi                                                 ;
 659 : 
 660 :    Si(Exist Bfimp 'qco')                                 ;
 661 :    vertytab Bfimp 'qco'     'LISTREEL'                   ;
 662 :    Sinon                                                 ;
 663 :    Bfimp.'qco'=prog nds*0.                               ;
 664 :    Finsi                                                 ;
 665 : 
 666 :    Si(Exist Bfimp 'qco2')                                ;
 667 :    vertytab Bfimp 'qco2'     'LISTREEL'                  ;
 668 :    Sinon                                                 ;
 669 :    Bfimp.'qco2'=prog nds*0.                              ;
 670 :    Finsi                                                 ;
 671 : 
 672 : * Petites initialisations
 673 :    Bfimp.'Kqt'  =chai 'Kqt'   &BBTIMP                    ;
 674 :    Bfimp.'Kqeau'=chai 'Kqeau' &BBTIMP                    ;
 675 :    Bfimp.'Kqair'=chai 'Kqair' &BBTIMP                    ;
 676 :    Bfimp.'Kqhe' =chai 'Kqhe'  &BBTIMP                    ;
 677 :    Bfimp.'Kqh2' =chai 'Kqh2'  &BBTIMP                    ;
 678 :    Bfimp.'Kqo2' =chai 'Kqo2'  &BBTIMP                    ;
 679 :    Bfimp.'Kqn2' =chai 'Kqn2'  &BBTIMP                    ;
 680 :    Bfimp.'Kqco' =chai 'Kqco'  &BBTIMP                    ;
 681 :    Bfimp.'Kqco2'=chai 'Kqco2' &BBTIMP                    ;
 682 :    Bfimp.'KFL1'=chai 'KFL1' &BBTIMP                      ;
 683 :   FIN BBFIMP                                             ;
 684 :    TBT.'XFIMP' = rxt.'XFIMP'                             ;
 685 :  Finsi                                                   ;
 686 : * XFIMP 1 : Flux de masse imposés
 687 : 
 688 : *----------------------------------------------------------
 689 : * vtp : thermique paroi
 690 : *
 691 : 
 692 :    TBT.'THERMP' = FAUX                                   ;
 693 :    TBT.'THERCO' = FAUX                                   ;
 694 :    TBT.'ECHEXT' = FAUX                                   ;
 695 : 
 696 :  Si (Exist rxt 'THERMP')                                 ;
 697 :    vertytab rxt 'THERMP' 'LOGIQUE'                       ;
 698 :    TBT.'THERMP' = rxt.'THERMP'                           ;
 699 :  Finsi                                                   ;
 700 : 
 701 :  Si (Exist rxt 'THERCO')                                 ;
 702 :    vertytab rxt 'THERCO' 'LOGIQUE'                       ;
 703 :    TBT.'THERCO' = rxt.'THERCO'                           ;
 704 :   Si (TBT.'THERCO')                                      ;
 705 :    TBT.'THERMP' = VRAI                                   ;
 706 :    listand=listand et (MOTS 'THCO')                      ;
 707 :   Finsi                                                  ;
 708 :  Finsi                                                   ;
 709 : 
 710 : *---------------------------------------------------------
 711 : * Cas d'un nombre quelconque de parois
 712 :   TBT.'TPAROIS' = FAUX                                   ;
 713 :   Si ('EXIST' rxt 'PAROIS')                              ;
 714 : 
 715 :    vertytab rxt 'PAROIS' 'TABLE'                         ;
 716 :    vertytab rxt 'ECHAN'    'FLOTTANT' 'CHPOINT'          ;
 717 :    NPAR=dime rxt.'PAROIS'                                ;
 718 :    mess ' Il y a ' NPAR ' Parois(s)'                     ;
 719 :    ipr=index (rxt.'PAROIS')                              ;
 720 :    Repeter BPRS NPAR                                     ;
 721 :    Parois=rxt.'PAROIS'.(ipr.&BPRS)                       ;
 722 :    vertytab (rxt.'PAROIS') (ipr.&BPRS) 'TABLE'           ;
 723 :    mess ' Vérification Paroi ' (ipr.&BPRS)               ;
 724 : * On vérifie que le modèle est bien renseigné
 725 :    vertytab Parois 'vtp' 'MAILLAGE'                      ;
 726 :    vertytab Parois 'ROCP'     'FLOTTANT' 'CHPOINT'       ;
 727 :    vertytab Parois 'LAMBDA'   'FLOTTANT' 'CHPOINT'       ;
 728 :    vertytab Parois 'Tp0'      'FLOTTANT' 'CHPOINT'       ;
 729 : *? vertytab Parois 'ECHAN'    'FLOTTANT' 'CHPOINT'       ;
 730 :    CROCP=chai 'ROCP' &BPRS                               ;
 731 :    CLAMBDA=chai 'LAMBDA' &BPRS                           ;
 732 :    CTP0=chai 'Tp0' &BPRS                                 ;
 733 :    'SI' ('NON' ('EXIST' tic CROCP))                      ;
 734 :      tic.CROCP=Parois.'ROCP'                             ;
 735 :    'FINSI'                                               ;
 736 :    'SI' ('NON' ('EXIST' tic CLAMBDA))                    ;
 737 :    tic.CLAMBDA=Parois.'LAMBDA'                           ;
 738 :    'FINSI'                                               ;
 739 :    'SI' ('NON' ('EXIST' tic CTp0))                       ;
 740 :    tic.CTp0   =Parois.'Tp0'                              ;
 741 :    'FINSI'                                               ;
 742 :    FIN BPRS                                              ;
 743 :    TBT.'PAROIS' = rxt.'PAROIS'                           ;
 744 :    TBT.'THERMP' = VRAI                                   ;
 745 :    TBT.'TPAROIS' = VRAI                                  ;
 746 :   Finsi                                                  ;
 747 : *---------------------------------------------------------
 748 :  Si (TBT.'THERMP')                                       ;
 749 :   Si (NON(TBT.'TPAROIS'))                                ;
 750 : 
 751 : * On vérifie que le modèle est bien renseigné
 752 :    vertytab rxt 'vtp'      'MAILLAGE'                    ;
 753 :    vertytab rxt 'ROCP'     'FLOTTANT' 'CHPOINT'          ;
 754 :    vertytab rxt 'LAMBDA'   'FLOTTANT' 'CHPOINT'          ;
 755 :    vertytab rxt 'Tp0'      'FLOTTANT' 'CHPOINT'          ;
 756 :    vertytab rxt 'ECHAN'    'FLOTTANT' 'CHPOINT'          ;
 757 : 
 758 :    listchp=listchp et (MOTS 'ROCP')                      ;
 759 :    listchp=listchp et (MOTS 'LAMBDA')                    ;
 760 :    listchp=listchp et (MOTS 'Tp0'   )                    ;
 761 :    listchp=listchp et (MOTS 'ECHAN' )                    ;
 762 : 
 763 :    'SI' ('NON' ('EXIST' tic 'ROCP'))                     ;
 764 :      tic.'ROCP'=rxt.'ROCP'                               ;
 765 :    'FINSI'                                               ;
 766 :    'SI' ('NON' ('EXIST' tic 'LAMBDA'))                   ;
 767 :    tic.'LAMBDA'=rxt.'LAMBDA'                             ;
 768 :    'FINSI'                                               ;
 769 :    'SI' ('NON' ('EXIST' tic 'Tp0'))                      ;
 770 :    tic.'Tp0'   =rxt.'Tp0'                                ;
 771 :    'FINSI'                                               ;
 772 :   Finsi                                                  ;
 773 : 
 774 :   Si (NON (Exist tic 'KHW'))                             ;
 775 :    tic.'KHW'   =rxt.'ECHAN'                              ;
 776 :   Finsi                                                  ;
 777 : 
 778 :   Si (Exist rxt 'ECHEXT')                                ;
 779 :    vertytab rxt 'ECHEXT' 'LOGIQUE'                       ;
 780 :    TBT.'ECHEXT'   = rxt.'ECHEXT'                         ;
 781 :   Finsi                                                  ;
 782 : 
 783 :   Si (TBT.'ECHEXT')                                      ;
 784 :    vertytab rxt 'parext'   'MAILLAGE'                    ;
 785 :    vertytab rxt 'HEXT'     'FLOTTANT' 'CHPOINT'          ;
 786 :    vertytab rxt 'TPEXT'    'FLOTTANT' 'CHPOINT'          ;
 787 : 
 788 :    listchp=listchp et (MOTS 'HEXT'  )                    ;
 789 :    listchp=listchp et (MOTS 'TPEXT' )                    ;
 790 : 
 791 :    'SI' ('NON' ('EXIST' tic 'HEXT'))                     ;
 792 :    tic.'HEXT'=rxt.'HEXT'                                 ;
 793 :    'FINSI'                                               ;
 794 :    'SI' ('NON' ('EXIST' tic 'TPEXT'))                    ;
 795 :    tic.'TPEXT'=rxt.'TPEXT'                               ;
 796 :    'FINSI'                                               ;
 797 : 
 798 :   Finsi                                                  ;
 799 : 
 800 :  'MESS' ' : ==> Scénario avec thermique paroi  '         ;
 801 :  Sinon                                                   ;
 802 :  'MESS' ' : ==> Scénario sans thermique paroi  '         ;
 803 :  Finsi                                                   ;
 804 : *----------------------------------------------------------
 805 : * TIMPi : Températures imposées
 806 : *
 807 :    TBT.'TTIMP'  = FAUX                                   ;
 808 :    TBT.'TTIMP1' = FAUX                                   ;
 809 :    TBT.'TTIMP2' = FAUX                                   ;
 810 :    TBT.'TTIMP3' = FAUX                                   ;
 811 :  Si (Exist rxt 'TIMP')                                   ;
 812 :    TBT.'TTIMP'  = VRAI                                   ;
 813 :    vertytab rxt 'TIMP'  'TABLE'                          ;
 814 :    NBTIMP=dime (rxt.'TIMP')                              ;
 815 :    itimp=INDEX (rxt.'TIMP')                              ;
 816 :   REPETER BBTIMP NBTIMP                                  ;
 817 : * mess 'BBTIMP 1 ';
 818 :    mess ' Vérification TIMP->'(itimp.&BBTIMP)            ;
 819 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
 820 :    vertytab (rxt.'TIMP') (itimp.&BBTIMP) 'TABLE'         ;
 821 :    vertytab Btimp 'MAILLAGE' 'MAILLAGE'                  ;
 822 :    vertytab Btimp 'ECHAN'    'FLOTTANT'                  ;
 823 :    vertytab Btimp 't'        'LISTREEL'                  ;
 824 :    vertytab Btimp 'TIMP'     'LISTREEL'                  ;
 825 : * Petites initialisations
 826 :    Btimp.'KKC1'=chai 'KKC1' &BBTIMP                      ;
 827 :    Btimp.'ROVI1'=chai 'ROVI1' &BBTIMP                    ;
 828 :    Btimp.'FHP1'=chai 'FHP1' &BBTIMP                      ;
 829 :    Btimp.'KH1'=chai 'KH1' &BBTIMP                        ;
 830 :    Btimp.'Fcond1'=chai 'Fcond1' &BBTIMP                  ;
 831 :    Btimp.'Mcond1'=chai 'Mcond1' &BBTIMP                  ;
 832 :    Btimp.'TPI1'=chai 'TPI1' &BBTIMP                      ;
 833 :    Btimp.'TBP1'=chai 'TBP1' &BBTIMP                      ;
 834 :    Btimp.'KHE1'=chai 'KHE1' &BBTIMP                      ;
 835 :    Btimp.'Ltbpi'=prog                                    ;
 836 :    Btimp.'Qc1'=chai 'Qc1' &BBTIMP                        ;
 837 :   FIN BBTIMP                                             ;
 838 :    TBT.'TIMP' = rxt.'TIMP'                               ;
 839 :  Finsi                                                   ;
 840 : 
 841 :  Si (Exist rxt 'TIMP1')                                  ;
 842 :    TBT.'TTIMP1' = VRAI                                   ;
 843 :    vertytab rxt 'TIMP1' 'TABLE'                          ;
 844 :    vertytab (rxt.'TIMP1') 'MAILLAGE' 'MAILLAGE'          ;
 845 :    vertytab (rxt.'TIMP1') 'ECHAN'    'FLOTTANT'          ;
 846 :    vertytab (rxt.'TIMP1') 't'        'LISTREEL'          ;
 847 :    vertytab (rxt.'TIMP1') 'TIMP'     'LISTREEL'          ;
 848 :  Finsi                                                   ;
 849 : 
 850 :  Si (Exist rxt 'TIMP2')                                  ;
 851 :    TBT.'TTIMP2' = VRAI                                   ;
 852 :    vertytab rxt 'TIMP2' 'TABLE'                          ;
 853 :    vertytab (rxt.'TIMP2') 'MAILLAGE' 'MAILLAGE'          ;
 854 :    vertytab (rxt.'TIMP2') 'ECHAN'    'FLOTTANT'          ;
 855 :    vertytab (rxt.'TIMP2') 't'        'LISTREEL'          ;
 856 :    vertytab (rxt.'TIMP2') 'TIMP'     'LISTREEL'          ;
 857 :  Finsi                                                   ;
 858 : 
 859 :  Si (Exist rxt 'TIMP3')                                  ;
 860 :    TBT.'TTIMP3' = VRAI                                   ;
 861 :    vertytab rxt 'TIMP3' 'TABLE'                          ;
 862 :    vertytab (rxt.'TIMP3') 'MAILLAGE' 'MAILLAGE'          ;
 863 :    vertytab (rxt.'TIMP3') 'ECHAN'    'FLOTTANT' 'CHPOIN' ;
 864 :    vertytab (rxt.'TIMP3') 't'        'LISTREEL'          ;
 865 :    vertytab (rxt.'TIMP3') 'TIMP'     'LISTREEL'          ;
 866 :  Finsi                                                   ;
 867 : 
 868 : *----------------------------------------------------------
 869 : * ECHANP : Température du mur constante ou calculée via une procédure
 870 : * personnelle
 871 :    TBT.'TECHANP' = FAUX                                  ;
 872 :  Si (Exist rxt 'ECHANP')                                 ;
 873 :    TBT.'TECHANP' = VRAI                                  ;
 874 :    vertytab rxt 'ECHANP' 'TABLE'                         ;
 875 :    vertytab (rxt.'ECHANP') 'MAILLAGE' 'MAILLAGE'         ;
 876 :    vertytab (rxt.'ECHANP') 'ECHAN'    'FLOTTANT'         ;
 877 :    vertytab (rxt.'ECHANP') 'TMUR'     'FLOTTANT'         ;
 878 :  Finsi                                                   ;
 879 : *
 880 : * On verifie les données de la table RECOMB (définitions des recombineurs)
 881 : TBT . 'TRECOMB' = FAUX ;
 882 : 'SI' ('EXIS' rxt 'RECOMB') ;
 883 :    vertytab rxt 'RECOMB' 'TABLE   ' ;
 884 :    NBREC = 'DIME' rxt . 'RECOMB' ;
 885 :    'REPE' BCL1 NBREC ;
 886 :       TRECI = rxt . 'RECOMB' . &BCL1 ;
 887 :       lxt = table            ;
 888 :       lxt . 'PAREXT'   = ' ' ;
 889 :       lxt . 'ENTREE'   = ' ' ;
 890 :       lxt . 'SORTIE'   = ' ' ;
 891 :       lxt . 'direntr'  = ' ' ;
 892 :       lxt . 'dirsort'  = ' ' ;
 893 :       lxt . 'NSECTION' = ' ' ;
 894 :       lxt . 'TYPR'     = ' ' ;
 895 :       vertytab TRECI 'PAREXT' 'MAILLAGE' ;
 896 :       vertytab TRECI 'ENTREE' 'MAILLAGE' ;
 897 :       vertytab TRECI 'SORTIE' 'MAILLAGE' ;
 898 :       vertytab TRECI 'direntr' 'POINT   ' ;
 899 :       vertytab TRECI 'dirsort' 'POINT   ' ;
 900 :       'SI' ('EXIS' TRECI 'NSECTION') ;
 901 :          vertytab TRECI 'NSECTION' 'ENTIER  ' ;
 902 :       'SINO' ;
 903 :          TRECI . 'NSECTION' = 1 ;
 904 :       'FINSI' ;
 905 :       'SI' ('EXIS' TRECI 'TYPR') ;
 906 :          vertytab TRECI 'TYPR' 'MOT' ;
 907 :          lm1 = 'MOTS' 'SIEMENS' 'HEATER' ;
 908 :          vertytab lm1 (TRECI . 'TYPR') 'MOT' ;
 909 :       'SINO' ;
 910 :          TRECI . 'TYPR' = 'SIEMENS' ;
 911 :       'FINSI' ;
 912 :       typr = TRECI . 'TYPR' ;
 913 :       'SI' ('EGA' typr 'SIEMENS') ;
 914 :          lxt . 'A'        = ' ' ;
 915 :          lxt . 'B'        = ' ' ;
 916 :          lxt . 'XH2ON'    = ' ' ;
 917 :          lxt . 'XH2OFF'   = ' ' ;
 918 :          lxt . 'BETA'     = ' ' ;
 919 :          'SI' ('EXIS' TRECI 'A') ;
 920 :             vertytab TRECI 'A' 'FLOTTANT' ;
 921 :          'SINO' ;
 922 :             TRECI . 'A' = 0.48D-8 ;
 923 :          'FINSI' ;
 924 :          'SI' ('EXIS' TRECI 'B') ;
 925 :             vertytab TRECI 'B' 'FLOTTANT' ;
 926 :          'SINO' ;
 927 :             TRECI . 'B' = 0.58D-3 ;
 928 :          'FINSI' ;
 929 :          'SI' ('EXIS' TRECI 'XH2ON') ;
 930 :             vertytab TRECI 'XH2ON' 'FLOTTANT' ;
 931 :          'SINO' ;
 932 :             TRECI . 'XH2ON' = 0.005D0 ;
 933 :          'FINSI' ;
 934 :          'SI' ('EXIS' TRECI 'XH2OFF') ;
 935 :             vertytab TRECI 'XH2OFF' 'FLOTTANT' ;
 936 :          'SINO' ;
 937 :             TRECI . 'XH2OFF' = 0.005D0 ;
 938 :          'FINSI' ;
 939 :          'SI' ('EXIS' TRECI 'BETA') ;
 940 :             vertytab TRECI 'BETA' 'FLOTTANT' ;
 941 :          'SINO' ;
 942 :             TRECI . 'BETA' = 0.2D0 ;
 943 :          'FINSI' ;
 944 :       'SINO' ;
 945 :          lxt . 'PUISSANCE' = ' ' ;
 946 :          lxt . 'QHOUSING'  = ' ' ;
 947 :          lxt . 'HRAPP'     = ' ' ;
 948 :          lxt . 'CRAPP'     = ' ' ;
 949 :          vertytab TRECI 'PUISSANCE' 'EVOLUTIO' ;
 950 :          'SI' ('EXIS' TRECI 'QHOUSING') ;
 951 :             vertytab TRECI 'QHOUSING' 'FLOTTANT' ;
 952 :          'SINO' ;
 953 :             TRECI . 'QHOUSING' = 0.1D0 ;
 954 :          'FINSI' ;
 955 :          'SI' ('EXIS' TRECI 'HRAPP') ;
 956 :             vertytab TRECI 'HRAPP' 'FLOTTANT' ;
 957 :          'SINO' ;
 958 :             TRECI . 'HRAPP' = 1.7D0 ;
 959 :          'FINSI' ;
 960 :          'SI' ('EXIS' TRECI 'CRAPP') ;
 961 :             vertytab TRECI 'CRAPP' 'FLOTTANT' ;
 962 :          'SINO' ;
 963 :             TRECI . 'CRAPP' = 136.0868234D0 ;
 964 :          'FINSI' ;
 965 :       'FINSI' ;
 966 :       indtrec = 'INDE' treci ;
 967 :       nind    = 'DIME' indtrec ;
 968 : *      'LIST' indtrec ;
 969 : *      'LIST' lxt ;
 970 :       'REPE' bouind nind ;
 971 :          'SI' ('NON' ('EXIS'  lxt ('MOT' indtrec . &bouind))) ;
 972 : Mess                                                                 ;
 973 : Mess '**************************************************************';
 974 : Mess                                                                 ;
 975 : Mess ' Il y a un indice non reconnu :   ' (indtrec . &bouind)
 976 : '    dans la table RECOMB . ' &bcl1 ;
 977 : Mess                                                                 ;
 978 : Mess '**************************************************************';
 979 : 'ERRE' 21 ;
 980 :          'FINSI' ;
 981 :       'FIN' bouind ;
 982 :    'FIN' BCL1 ;
 983 :    TBT . 'TRECOMB' = VRAI ;
 984 :    TBT . 'RECOMB'  = rxt . 'RECOMB' ;
 985 : 'FINSI' ;
 986 : *----------------------------------------------------------
 987 : * MODTURB = Mot identifiant le modèle de turbulence
 988 : * NUTURB ou LMEL ou KEPSILON ou NUTCONS
 989 : 
 990 :   Si (Exist rxt 'MODTURB')                               ;
 991 : 
 992 :    vertytab rxt 'MODTURB' 'MOT'                          ;
 993 :    TBT.'MODTURB'=rxt.'MODTURB'                           ;
 994 : 
 995 : * On vérifie que le modèle est bien identifié
 996 :    lxt=table                                             ;
 997 :    lxt.'NUTURB'   = ' '                                  ;
 998 :    lxt.'LMEL'     = ' '                                  ;
 999 :    lxt.'KEPSILON' = ' '                                  ;
1000 :    vertytab lxt rxt.'MODTURB' 'MOT'                      ;
1001 : 
1002 : * Nu turbulent constant
1003 :    Si(Ega rxt.'MODTURB' 'NUTURB')                        ;
1004 : *  listentr=listentr et (mots 'NUT')                     ;
1005 :    listentr.'NUT'         =''                            ;
1006 :    vertytab rxt 'NUT' 'FLOTTANT'                         ;
1007 :    TBT.'NUT'    = rxt.'NUT'                              ;
1008 :    Finsi                                                 ;
1009 : 
1010 : * Longueur de mélange
1011 :    Si(Ega rxt.'MODTURB' 'LMEL' )                         ;
1012 : *  listentr=listentr et (mots 'LMEL')                    ;
1013 :    listentr.'LMEL'        =''                            ;
1014 :    vertytab rxt 'LMEL' 'FLOTTANT'                        ;
1015 :    TBT.'LMEL' = rxt.'LMEL'                               ;
1016 :    Finsi                                                 ;
1017 : 
1018 :  'MESS' '         : ==> Scenario avec modèle de turbulence '
1019 :   rxt.'MODTURB' ;
1020 :  Sinon                                                   ;
1021 :  'MESS' '         : ==> Scenario sans modèle de turbulence ';
1022 :  Finsi                                                   ;
1023 : *----------------------------------------------------------
1024 : * FPAROI = logique identifiant l'utilisation de fonctions
1025 : * de paroi
1026 : 
1027 :    TBT.'FPAROI' = FAUX                                   ;
1028 :  'SI' ('EXIST' rxt 'FPAROI')                             ;
1029 :    vertytab rxt 'FPAROI' 'LOGIQUE'                       ;
1030 :    TBT.'FPAROI' = rxt.'FPAROI'                           ;
1031 :  'FINSI'                                                 ;
1032 : 
1033 :  'SI' TBT.'FPAROI'                                       ;
1034 :  'MESS' '         : ==> Scenario avec fonction de paroi ';
1035 : *  listentr=listentr et (mots 'YP')                      ;
1036 :    listentr.'YP'          =''                            ;
1037 :    vertytab rxt 'YP' 'FLOTTANT'                          ;
1038 :    TBT.'YP'=rxt.'YP'                                     ;
1039 :  'FINSI'                                                 ;
1040 : 
1041 : *----------------------------------------------------------
1042 : * MODCOND = mot identifiant la formulation du flux de 
1043 : * condensation
1044 :    TBT.'MODCOND' = 'CHIL0'                               ;
1045 : 'SI' ('EXIST' rxt 'MODCOND')                             ;
1046 :    vertytab rxt 'MODCOND' 'MOT'                          ;
1047 :    TBT.'MODCOND' = rxt.'MODCOND'                         ;
1048 : 
1049 : * On vérifie que le modèle est bien identifié
1050 :    lxt=table                                             ;
1051 :    lxt.'CHIL0'   = ' '                                   ;
1052 :    lxt.'CHIL1'     = ' '                                 ;
1053 :    vertytab lxt rxt.'MODCOND' 'MOT'                      ;
1054 : 
1055 : 'FINSI'                                                  ;
1056 :    'MESS' '       : ==> Scénario avec flux de condensation ' 
1057 :   TBT.'MODCOND' ;
1058 : *----------------------------------------------------------
1059 : * PERSO = logique identifiant une procédure PERSO
1060 : * dans le cas de calcul
1061 : 
1062 :    TBT.'PERSO' = FAUX                                    ;
1063 : 'SI' ('EXIST' rxt 'PERSO')                               ;
1064 :    vertytab rxt 'PERSO' 'LOGIQUE'                        ;
1065 :    TBT.'PERSO' = rxt.'PERSO'                             ;
1066 : 'FINSI'                                                  ;
1067 : 
1068 :  'SI' TBT.'PERSO'                                        ;
1069 :  'MESS' '         : ==> Scénario avec exécution d une  ' ;
1070 :  'MESS' '               procédure personnelle          ' ;
1071 : 
1072 : * listentr = listentr et (mots 'PRCPERSO' 'TABPERSO')    ;
1073 :   listentr.'PRCPERSO' =''                                ;
1074 :   listentr.'TABPERSO' =''                                ;
1075 : 
1076 :    vertytab rxt 'PRCPERSO' 'MOT'                         ;
1077 :    TBT.'PRCPERSO' = rxt.'PRCPERSO'                       ;
1078 :    vertytab rxt 'TABPERSO' 'TABLE'                       ;
1079 :    TBT.'TABPERSO' = rxt.'TABPERSO'                       ;
1080 : 'FINSI'                                                  ; 
1081 : 
1082 : *----------------------------------------------------------
1083 : * VAPEUR = logique identifiant l'utilisation de vapeur
1084 : * dans le cas de calcul
1085 : 
1086 :    TBT.'VAPEUR' = FAUX                                   ;
1087 :  'SI' ('EXIST' rxt 'VAPEUR')                             ;
1088 :    vertytab rxt 'VAPEUR' 'LOGIQUE'                       ;
1089 :    TBT.'VAPEUR' = rxt.'VAPEUR'                           ;
1090 :  'FINSI'                                                 ;
1091 : 
1092 :  'SI' TBT.'VAPEUR'                                       ;
1093 :    vertytab rxt 'Yvap0' 'FLOTTANT'                       ;
1094 :    listentr.'Yvap0'        =''                           ;
1095 :    listentr.'Mliq0'        =''                           ;
1096 :    listentr.'Lv'           =''                           ;
1097 :    listentr.'Cpvap'        =''                           ;
1098 :  'FINSI'                                                 ;
1099 : 
1100 : *-----------------------------------------------------------
1101 : * Modif. FP 18/05/00
1102 : * Introduction d'une nouvelle variable logique qui est vrai lorsque la
1103 : * condensation en masse est prise en compte.
1104 : 
1105 : * CONDMAS = Mot identifiant le modèle de condensation en masse
1106 : * CMAS0
1107 : 
1108 :    TBT.'CONDMAS' = FAUX                                  ;
1109 :    TBT.'MODCMAS'  ='????'                                ;
1110 :    listentr.'CONDMAS'     =''                            ;
1111 :    listentr.'HMAS'        =''                            ;
1112 :    listentr.'WCM'         =''                            ;
1113 : *'SI' ('EXIST' rxt 'CONDMAS')                             ;
1114 : *   vertytab rxt 'CONDMAS' 'MOT'                          ;
1115 : *   TBT.'CONDMAS' = VRAI                                  ;
1116 : ** On vérifie que le modèle est bien identifié
1117 : *   lxt=table                                             ;
1118 : *   lxt.'CMAS0'    = ' '                                  ;
1119 : *   vertytab lxt rxt.'CONDMAS' 'MOT'                      ;
1120 : *   TBT.'MODCMAS'  = rxt.'CONDMAS'                        ;
1121 : *     Si ('EGA' rxt.'CONDMAS' 'CMAS0')                    ;
1122 : *      Si ('EXIST' rxt 'HMAS')                            ;
1123 : *      vertytab rxt 'HMAS' 'FLOTTANT'                     ;
1124 : *      TBT.'HMAS'=rxt.'HMAS'                              ;
1125 : *      Sinon                                              ;
1126 : *      TBT.'HMAS'=0.                                      ;
1127 : *      Finsi                                              ;
1128 : *      Si ('EXIST' rxt 'WCM')                             ;
1129 : *      vertytab rxt 'WCM' 'FLOTTANT'                      ;
1130 : *      TBT.'WCM'=rxt.'WCM'                                ;
1131 : *      Sinon                                              ;
1132 : *      TBT.'WCM'=0.                                       ;
1133 : *      Finsi                                              ;
1134 : *     Finsi                                               ;
1135 : *'FINSI'                                                  ;
1136 : *-----------------------------------------------------------
1137 : * ASPER logique indiquant qu'on traite l'aspersion
1138 : 
1139 : 'SI' TBT.'VAPEUR'                                        ;
1140 :    listentr.'ASPER'       =''                            ;
1141 : 'FINSI'                                                  ;
1142 : 
1143 :    TBT.'ASPER' = FAUX                                    ;
1144 :  'SI' ('EXIST' rxt 'ASPER')                              ;
1145 :    vertytab rxt 'ASPER' 'LOGIQUE'                        ;
1146 :    TBT.'ASPER' = rxt.'ASPER'                             ;
1147 :  'FINSI'                                                 ;
1148 : 
1149 :  'SI' (TBT.'ASPER')                                      ;
1150 :    listentr.'scenasp'    =''                             ;
1151 :    vertytab rxt 'scenasp' 'TABLE   '                     ;
1152 :    scn = rxt.'scenasp'                                   ;
1153 : 
1154 :    vertytab rxt 'aspinj' 'MAILLAGE'                      ;
1155 :    listentr.'aspinj'      =''                            ;
1156 :    vertytab rxt 'toitf'  'MAILLAGE'                      ;
1157 :    listentr.'toitf'       =''                            ;
1158 :    vertytab rxt 'rod'    'FLOTTANT'                      ;
1159 :    listentr.'rod'        =''                             ;
1160 :    vertytab rxt 'Cpd'    'FLOTTANT'                      ;
1161 :    listentr.'Cpd'         =''                            ;
1162 :  'FINSI'                                                 ;
1163 : 
1164 : *----------------------------------------------------------
1165 : * Vérification des incondensables utilisés
1166 : * Les incondensables possibles sont H2, HE, O2, N2, CO, CO2
1167 : *
1168 : *---------------------------------------------------------
1169 : LINCOND = 'MOTS'                                         ;
1170 : TBT.'TH2' = FAUX                                         ;
1171 : TBT.'THE' = FAUX                                         ;
1172 : TBT.'TO2' = FAUX                                         ;
1173 : TBT.'TN2' = FAUX                                         ;
1174 : TBT.'TCO2'= FAUX                                         ;
1175 : TBT.'TAIR'= FAUX                                         ;
1176 : TBT.'TCO' = FAUX                                         ;
1177 : 
1178 : 'SI' ('EXIST' rxt 'H2' )                                 ;
1179 :  vertytab rxt 'H2' 'LOGIQUE'                             ;
1180 :  TBT.'TH2' = rxt.'H2'                                    ;
1181 :  'SI' TBT.'TH2'                                          ;
1182 :  LINCOND=LINCOND 'ET' ('MOTS' 'H2')                      ; 
1183 :  vertytab rxt 'Yh20' 'FLOTTANT'                          ;
1184 :  listentr.'Yh20'        =''                              ;
1185 :   'SI' ('EXIST' rxt 'scenario')                          ;
1186 :     vertytab (rxt.'scenario') 'qh2' 'LISTREEL'           ;
1187 :   'FINSI'                                                ;
1188 :  'FINSI'                                                 ;
1189 : 'FINSI'                                                  ;
1190 : 
1191 : 'SI' ('EXIST' rxt 'HE' )                                 ;
1192 :  vertytab rxt 'HE' 'LOGIQUE'                             ;
1193 :  TBT.'THE' = rxt.'HE'                                    ;
1194 :  'SI' TBT.'THE'                                          ;
1195 :  LINCOND=LINCOND 'ET' ('MOTS' 'HE')                      ;
1196 :  vertytab rxt 'Yhe0' 'FLOTTANT'                          ;
1197 :  listentr.'Yhe0'        =''                              ;
1198 :   'SI' ('EXIST' rxt 'scenario')                          ;
1199 :     vertytab (rxt.'scenario') 'qhe' 'LISTREEL'           ;
1200 :   'FINSI'                                                ;
1201 :  'FINSI'                                                 ;
1202 : 'FINSI'                                                  ;
1203 : 
1204 : 'SI' ('EXIST' rxt 'O2' )                                 ;
1205 :  vertytab rxt 'O2' 'LOGIQUE'                             ;
1206 :  TBT.'TO2' = rxt.'O2'                                    ;
1207 :  'SI' TBT.'TO2'                                          ;
1208 :  LINCOND=LINCOND 'ET' ('MOTS' 'O2')                      ;
1209 :  vertytab rxt 'Yo20' 'FLOTTANT'                          ;
1210 :  listentr.'Yo20'        =''                              ;
1211 :   'SI' ('EXIST' rxt 'scenario')                          ;
1212 :     vertytab (rxt.'scenario') 'qo2' 'LISTREEL'           ;
1213 :   'FINSI'                                                ;
1214 :  'FINSI'                                                 ;
1215 : 'FINSI'                                                  ;
1216 : 
1217 : 'SI' ('EXIST' rxt 'N2' )                                 ;
1218 :  vertytab rxt 'N2' 'LOGIQUE'                             ;
1219 :  TBT.'TN2' = rxt.'N2'                                    ;
1220 :  'SI' TBT.'TN2'                                          ;
1221 :  LINCOND=LINCOND 'ET' ('MOTS' 'N2')                      ;
1222 :  vertytab rxt 'Yn20' 'FLOTTANT'                          ;
1223 :  listentr.'Yn20'        =''                              ;
1224 :   'SI' ('EXIST' rxt 'scenario')                          ;
1225 :     vertytab (rxt.'scenario') 'qn2' 'LISTREEL'           ;
1226 :   'FINSI'                                                ;
1227 :  'FINSI'                                                 ;
1228 : 'FINSI'                                                  ;
1229 : 
1230 : 'SI' ('EXIST' rxt 'CO2' )                                ;
1231 :  vertytab rxt 'CO2' 'LOGIQUE'                            ;
1232 :  TBT.'TCO2' = rxt.'CO2'                                  ;
1233 :  'SI' TBT.'TCO2'                                         ;
1234 :  LINCOND=LINCOND 'ET' ('MOTS' 'CO2')                     ;
1235 :  vertytab rxt 'Yco20' 'FLOTTANT'                         ;
1236 :  listentr.'Yco20'       =''                              ;
1237 :   'SI' ('EXIST' rxt 'scenario')                          ;
1238 :     vertytab (rxt.'scenario') 'qco2' 'LISTREEL'          ;
1239 :   'FINSI'                                                ;
1240 :  'FINSI'                                                 ;
1241 : 'FINSI'                                                  ;
1242 : 
1243 : 'SI' ('EXIST' rxt 'AIR' )                                ;
1244 :  vertytab rxt 'AIR' 'LOGIQUE'                            ;
1245 :  TBT.'TAIR' = rxt.'AIR'                                  ;
1246 :  'SI' TBT.'TAIR'                                         ;
1247 :  LINCOND=LINCOND 'ET' ('MOTS' 'AIR')                     ;
1248 :   'SI' ('EXIST' rxt 'scenario')                          ;
1249 :     vertytab (rxt.'scenario') 'qair' 'LISTREEL'          ;
1250 :   'FINSI'                                                ;
1251 :  'FINSI'                                                 ;
1252 : 'FINSI'                                                  ;
1253 : 
1254 : 'SI' ('EXIST' rxt 'CO' )                                 ;
1255 :  vertytab rxt 'CO' 'LOGIQUE'                             ;
1256 :  TBT.'TCO' = rxt.'CO'                                    ;
1257 :  'SI' TBT.'TCO'                                          ;
1258 :  LINCOND=LINCOND 'ET' ('MOTS' 'CO')                      ;
1259 :  vertytab rxt 'Yco0' 'FLOTTANT'                          ;
1260 :  listentr.'Yco0'        =''                              ;
1261 :   'SI' ('EXIST' rxt 'scenario')                          ;
1262 :     vertytab (rxt.'scenario') 'qco' 'LISTREEL'           ;
1263 :   'FINSI'                                                ;
1264 :  'FINSI'                                                 ;
1265 : 'FINSI'                                                  ;
1266 : 
1267 : *---------------------------------------------------------
1268 : * Affichage de la liste des incondensables
1269 : *---------------------------------------------------------
1270 : 
1271 : TINCOND= 'NON' ( 'EGA' ('DIME' LINCOND ) 0 )             ;
1272 : 'SI' TINCOND                                             ;
1273 : 'MESS' ' Liste des incondensables : '                    ;
1274 : 'LIST' LINCOND                                           ;
1275 : 'SINON'                                                  ;
1276 : 'MESS' ' Il n y a pas d incondensable hormis AIR '       ;
1277 : 'FINSI'                                                  ;
1278 : *
1279 : 'SI' TBT.'TRECOMB' ;
1280 :    LOG0  = TBT.'TH2' 'ET' TBT.'VAPEUR' 'ET' TBT.'TN2' 'ET' TBT.'TO2' ;
1281 :    NBREC = 'DIME' rxt . 'RECOMB' ;
1282 :    'REPE' BCL2 NBREC ;
1283 :         TRECI = rxt . 'RECOMB' . &BCL2 ;
1284 :         'SI' ('EGA' (TRECI . 'TYPR') 'SIEMENS') ;
1285 :              'SI' ('NON' LOG0) ;
1286 :                'MESS' 'RECOMBINEUR ==> H2, H20, O2 et N2 par defaut !' ;
1287 :                'ERRE' 5 ;
1288 :              'FINSI' ;
1289 :              'QUIT' BCL2 ;
1290 :         'FINSI' ;
1291 :    'FIN' BCL2 ;
1292 : 'FINSI' ;
1293 : *---------------------------------------------------------
1294 : * Initialisation des paramètres du modèle
1295 : * nimpr = Niveau impression lors de la résolution
1296 : *         0 = Pas d'impression
1297 : * epsi = tolérance pour les maillages (OPERATEUR ELIM)
1298 : * FRPREC : ENTIER fréquence de recalcul du préconditionnement
1299 : *---------------------------------------------------------
1300 : 
1301 :  TBT.'nimpr'=0                                           ;
1302 :  TBT.'IMPR' =2                                           ;
1303 : 'SI' ('EXIST' rxt 'IMPR' )                               ;
1304 :  vertytab rxt 'IMPR'  'ENTIER'                           ;
1305 :  TBT.'IMPR' =rxt.'IMPR'                                  ;
1306 : 'FINSI'                                                  ;
1307 : 
1308 :   GEO.'epsi'= 1.e-4                                      ;
1309 : 'SI' ('EXIST' rxt 'epsi')                                ;
1310 :   vertytab rxt 'epsi' 'FLOTTANT'                         ;
1311 :   GEO.'epsi'= rxt.'epsi'                                 ;
1312 : 'FINSI'                                                  ;
1313 : 
1314 : 'SI' ( 'EXIST' rxt 'FRPREC' )                                      ;
1315 :   vertytab rxt 'FRPREC' 'ENTIER'                                   ;
1316 :   TBT.'FRPREC'   = rxt.'FRPREC'                                    ;
1317 : 'FINSI'                                                            ;
1318 : *-----------------------------------------------------------------------
1319 : * Controle des entrées de la table RXT et de la compatibilité
1320 : * entre les entrées.
1321 : *-----------------------------------------------------------------------
1322 : * On vérifie que les entrées de RXT sont autorisées
1323 : 
1324 : 
1325 :   lindex=index rxt ;
1326 :   n=dime lindex;
1327 : 
1328 :   repeter Bver n ;
1329 : *mess lindex.&bver ;
1330 :   tae=type lindex.&bver ;
1331 :   Si (non (ega tae 'MOT'));
1332 :   Mess ' Il y a un indice qui n est pas de type mot dans la table ';
1333 :   erreur 21 ;
1334 :   Finsi ;
1335 :   Si (non (exist listentr lindex.&bver)) ;
1336 :   Mess                                                                 ;
1337 :   Mess '**************************************************************';
1338 :   Mess                                                                 ;
1339 :   Mess ' Il y a un indice non reconnu :   ' lindex.&bver
1340 :  '    dans la table ';
1341 :   Mess                                                                 ;
1342 :   Mess '**************************************************************';
1343 : 
1344 :   erreur 21 ;
1345 :   Finsi ;
1346 :   Fin Bver ;
1347 : 
1348 :   n=dime listand ;
1349 :   Si (non (ega n 0));
1350 :   Mess                                                                 ;
1351 :   Mess '**************************************************************';
1352 :   Mess                                                                 ;
1353 :   Mess ' Il y a des options surchargées dont voici la liste :   '      ;
1354 :   list listand                                                         ;
1355 :   Si (exist listand 'THCO')                                            ;
1356 :   Mess                                                                 ;
1357 :   Mess 'Commentaire:'                                                  ;
1358 :   mess 'THCO: le couplage thermique paroi/thermohydraulique'
1359 :   ' est implicite'                                                     ;
1360 :   Finsi                                                                ;
1361 :   Mess                                                                 ;
1362 :   Mess '**************************************************************';
1363 :   Finsi ;
1364 : 
1365 : * Vérification de Compatibilités
1366 : 
1367 : 'SI'(('EGA' TBT.'ALGO' 'EFM1') et ('EGA' TBT.'discr' 'QUAF'))          ;
1368 : vertytab 'ERREUR' 'ERREUR'
1369 :                             (CHAI 'Options QUAF et EFM1 incompatibles');
1370 : 'FINSI'                                                                ;
1371 : 
1372 : 
1373 : 'SI'(Exist TBT 'MODTURB')                                              ;
1374 : 'SI'( (Ega TBT.'MODTURB' 'KEPSILON') et (non('EGA' TBT.'ALGO' 'EFM1')));
1375 : vertytab 'ERREUR' 'ERREUR'
1376 :        (CHAI 'L option EFM1 est nécessaire pour le modèle K-epsilon')  ;
1377 : 'FINSI'                                                                ;
1378 : 'FINSI'                                                                ;
1379 : 
1380 : 'SI'(TBT.'Tsortie' et TBT.'CORTEMP')                                   ;
1381 : vertytab 'ERREUR' 'ERREUR'
1382 :   (CHAI 'Ecoulement ouvert (Sortie) incompatible avec CORTEMP VRAI')   ;
1383 : 'FINSI'                                                                ;
1384 : 
1385 : 
1386 : 
1387 : 
1388 : *-----------------------------------------------------------------------
1389 : *-----------------------------------------------------------------------
1390 : *-----------------------------------------------------------------------
1391 : * ------------- FIN DES INITIALISATIONS ET VERIFICATIONS ---------------
1392 : *-----------------------------------------------------------------------
1393 : *-----------------------------------------------------------------------
1394 : *-----------------------------------------------------------------------
1395 : 
1396 :  'SI' (TPREPA);
1397 :    PREPAENC rxt TBT GEO TIC ;
1398 :  'FINSI' ;
1399 : 
1400 :   rxt.'TBT'=TBT;
1401 : 
1402 : *==============================================================
1403 :  GEO=rxt.'GEO' ;
1404 : 
1405 : * On depile un certain nombre de renseignements sur le
1406 : * cas test a traiter
1407 : 
1408 :   idim = vale 'DIME';
1409 :   DIM3D=FAUX ;
1410 :   Si(EGA idim 3);
1411 :   DIM3D=VRAI ;
1412 :   Finsi ;
1413 : 
1414 : * B/ Les maillages ou modeles
1415 : 
1416 :  vtf         = rxt.'vtf'                                 ;
1417 : 'SI' (TBT.'Tbreche');
1418 :  breche = rxt.'breche'                                   ;
1419 :  brechec=GEO.'brechec'                                   ;
1420 :  brechei=GEO.'brechei'                                   ;
1421 :  $breche=GEO.'$breche'                                   ;
1422 :  Sbreche = GEO.'Sbreche'                                 ;
1423 : 'FINSI';
1424 : 'SI' (TBT.'Tbreche2');
1425 :  breche2=rxt.'breche2'                                   ;
1426 :  brech2c=GEO.'brech2c'                                   ;
1427 :  brech2i=GEO.'brech2i'                                   ;
1428 :  $breche2=GEO.'$breche2'                                 ;
1429 :  Sbreche2= GEO.'Sbreche2'                                ;
1430 : 'FINSI';
1431 : 'SI' (TBT.'Tbreche3');
1432 :  breche3=rxt.'breche3'                                   ;
1433 :  brech3c=GEO.'brech3c'                                   ;
1434 :  brech3i=GEO.'brech3i'                                   ;
1435 :  $breche3=GEO.'$breche3'                                 ;
1436 :  Sbreche3= GEO.'Sbreche3'                                ;
1437 : 'FINSI';
1438 : 
1439 :  $vtf      = GEO.'$vtf'                                  ;
1440 : 'SI' TBT.'THERMP'                                        ;
1441 :  $vtp      = GEO.'$vtp'                                  ;
1442 :  $paroif  = GEO.'$paroif'                                ;
1443 :  paroif   = GEO.'paroif'                                 ;
1444 : 'FINSI'                                                  ;
1445 : 
1446 :  Diag   = 'DOMA' $vtf    'XXDIAGSI'                      ;
1447 : 
1448 :  Volvtf = 'DOMA' $vtf    'VOLUME'                        ;
1449 :  VTotal  = GEO.'VTotal'                                  ;
1450 : 
1451 : 
1452 : 'MESS' ' ************* GEOMETRIE  *********************' ;
1453 : 'MESS' ' **********************************************' ;
1454 :   'DOMA' $vtf 'IMPR'                                     ;
1455 : 'SI' TBT.'THERMP'                                        ;
1456 :   'DOMA' $vtp 'IMPR'                                     ;
1457 : 'FINSI'                                                  ;
1458 : 
1459 : 
1460 : * C/ Les chaines de caracteres
1461 : 
1462 :  tic    = rxt.'TIC'                                      ;
1463 : 
1464 : * D/ Les données physiques
1465 : 
1466 :  Cpvap  = TBT.'Cpvap'                                    ;
1467 :  Lv     = TBT.'Lv'                                       ;
1468 :  Rgh2   = TBT.'Rgh2'                                     ;
1469 :  Rghe   = TBT.'Rghe'                                     ;
1470 :  Rgo2   = TBT.'Rgo2'                                     ;
1471 :  Rgn2   = TBT.'Rgn2'                                     ;
1472 :  Rgco2  = TBT.'Rgco2'                                    ;
1473 :  Rgco   = TBT.'Rgco'                                     ;
1474 :  Rgvap  = TBT.'Rgvap'                                    ;
1475 :  Rgair  = TBT.'Rgair'                                    ;
1476 : 
1477 : 'MESS' ' ************* DISCRETISATION *****************' ;
1478 : 'MESS' ' **********************************************' ;
1479 : 'MESS' ' Discr = ' tbt.'discr' ' Pression = ' tbt.'KPRE' ;
1480 : 'MESS' ' Algo  = ' algo  ' Niveau impression = ' nimpr   ;
1481 : 'MESS' ' Pas de temps DT = ' rxt.'DT0'                   ;
1482 : 
1483 : * Calcul Cp (Tfm)
1484 : ndl   = 'DIME' (tic.'Tfm')                               ;
1485 : Tfm   = 'EXTR' (tic.'Tfm')    ndl                        ;
1486 : * CALCP initialisation  ?
1487 : Cph2 Cphe Cpo2 Cpn2 Cpco2 Cpco Cpair =  CALCP  Tfm       ;
1488 : Cpvap = TBT.'Cpvap'                                      ;
1489 : 
1490 : * Calcul Mu (Tkm)
1491 : Tkm=Tfm '+' 273.15                                       ;
1492 : Muh2 Muhe Muo2 Mun2 Muco2 Muco Muvap Muair =  CALMU  Tkm ;
1493 : 
1494 : 'MESS' ' ******* PROPRIETES PHYSIQUES *****************' ;
1495 : 'MESS' ' **********************************************' ;
1496 : 
1497 : 'MESS' ' ***** Air ***** '                               ;
1498 :  Cvair       = Cpair '-' Rgair                           ;
1499 : 'MESS' '==> Cpair = ' Cpair 'J/kg/K'                     ;
1500 : 'MESS' '==> Cvair = ' Cvair 'J/kg/K'                     ;
1501 : 'MESS' '==> Rgair = ' Rgair 'J/kg/K'                     ;
1502 : 
1503 : 'SI' TBT.'VAPEUR'                                        ;
1504 : 'MESS' ' ***** Vapeur H2o ***** '                        ;
1505 :  Cvvap       = Cpvap '-' Rgvap                           ;
1506 : 'MESS' '==> Cpvap = ' Cpvap 'J/kg/K'                     ;
1507 : 'MESS' '==> Cvvap = ' Cvvap 'J/kg/K'                     ;
1508 : 'MESS' '==> Rgvap = ' Rgvap 'J/kg/K'                     ;
1509 : 'MESS' '==> Lv    = ' Lv  'J/kg/K'                       ;
1510 : 'FINSI'                                                  ;
1511 : 
1512 : 'SI' TBT.'THE'                                           ;
1513 : 'MESS' ' ***** He  ***** '                               ;
1514 :  Cvhe        = Cphe  '-' Rghe                            ;
1515 : 'MESS' '==> Cphe  = ' Cphe 'J/kg/K'                      ;
1516 : 'MESS' '==> Cvhe  = ' Cvhe 'J/kg/K'                      ;
1517 : 'MESS' '==> Rghe  = ' Rghe 'J/kg/K'                      ;
1518 : 'FINSI'                                                  ;
1519 : 
1520 : 'SI' TBT.'TH2'                                           ;
1521 : 'MESS' ' ***** H2  ***** '                               ;
1522 :  Cvh2        = Cph2  '-' Rgh2                            ;
1523 : 'MESS' '==> Cph2  = ' Cph2 'J/kg/K'                      ;
1524 : 'MESS' '==> Cvh2  = ' Cvh2 'J/kg/K'                      ;
1525 : 'MESS' '==> Rgh2  = ' Rgh2 'J/kg/K'                      ;
1526 : 'FINSI'                                                  ;
1527 : 
1528 : 'SI' TBT.'TO2'                                           ;
1529 : 'MESS' ' ***** O2  ***** '                               ;
1530 :  Cvo2        = Cpo2  '-' Rgo2                            ;
1531 : 'MESS' '==> Cpo2  = ' Cpo2 'J/kg/K'                      ;
1532 : 'MESS' '==> Cvo2  = ' Cvo2 'J/kg/K'                      ;
1533 : 'MESS' '==> Rgo2  = ' Rgo2 'J/kg/K'                      ;
1534 : 'FINSI'                                                  ;
1535 : 
1536 : 'SI' TBT.'TN2'                                           ;
1537 : 'MESS' ' ***** N2  ***** '                               ;
1538 :  Cvn2        = Cpn2  '-' Rgn2                            ;
1539 : 'MESS' '==> Cpn2  = ' Cpn2 'J/kg/K'                      ;
1540 : 'MESS' '==> Cvn2  = ' Cvn2 'J/kg/K'                      ;
1541 : 'MESS' '==> Rgn2  = ' Rgn2 'J/kg/K'                      ;
1542 : 'FINSI'                                                  ;
1543 : 
1544 : 'SI' TBT.'TCO2'                                          ;
1545 : 'MESS' ' ***** CO2 ***** '                               ;
1546 :  Cvco2       = Cpco2 '-' Rgco2                           ;
1547 : 'MESS' '==> Cpco2 = ' Cpco2 'J/kg/K'                     ;
1548 : 'MESS' '==> Cvco2 = ' Cvco2 'J/kg/K'                     ;
1549 : 'MESS' '==> Rgco2 = ' Rgco2 'J/kg/K'                     ;
1550 : 'FINSI'                                                  ;
1551 : 
1552 : 'SI' TBT.'TAIR'                                          ;
1553 : 'MESS' ' ***** AIR ***** '                               ;
1554 :  Cvair       = Cpair '-' Rgair                           ;
1555 : 'MESS' '==> Cpair = ' Cpair 'J/kg/K'                     ;
1556 : 'MESS' '==> Cvair = ' Cvair 'J/kg/K'                     ;
1557 : 'MESS' '==> Rgair = ' Rgair 'J/kg/K'                     ;
1558 : 'FINSI'                                                  ;
1559 : 
1560 : 'SI' TBT.'TCO'                                           ;
1561 : 'MESS' ' ***** CO  ***** '                               ;
1562 :  Cvco        = Cpco  '-' Rgco                            ;
1563 : 'MESS' '==> Cpco  = ' Cpco 'J/kg/K'                      ;
1564 : 'MESS' '==> Cvco  = ' Cvco 'J/kg/K'                      ;
1565 : 'MESS' '==> Rgco  = ' Rgco 'J/kg/K'                      ;
1566 : 'FINSI'                                                  ;
1567 : 
1568 : 'MESS' ' *************** '                               ;
1569 : 'MESS' ' Diffusion browniene db = ' db                   ;
1570 : 'SI' TBT.'THERMP'                                        ;
1571 :   'SI' ('EGA' ('TYPE' tic.'KHW') 'CHPOINT')              ;
1572 :     'MESS' ' Coefficient d echange ECHAN (Min/Max)= ' 
1573 :        ('MINI' tic.'KHW') '  ' ('MAXI' tic.'KHW') 'W/m2/K' ;
1574 :   'SINON' ;
1575 : 'MESS' ' Coefficient d echange ECHAN= ' tic.'KHW' 'W/m2/K' ;
1576 :   'FINSI'                                                ;
1577 : 'FINSI'                                                  ;
1578 : 
1579 : 
1580 : 'MESS' '*** Bilans initiaux 0D-MultiD ***'               ;
1581 : 'MESS' '_____________________________________________________________';
1582 : 'MESS' '---------Bilans 0D ____________________Bilans MultiD ________'
1583 :        '_____________ Erreur Relative (%)';
1584 : *---- Bilan masse
1585 :  Rhom   = 'EXTR' (tic.'Rhom')    ndl                     ;
1586 :  M0D = Rhom '*' Vtotal                                   ;
1587 :  MMD = 'SOMT' (Diag '*' rxt.'TIC'.'RHO')                 ;
1588 : 
1589 :  'SI' TBT.'VAPEUR'                                       ;
1590 :       Rhomv   = 'EXTR' (tic.'Rhomv')    ndl              ;
1591 :       MV0D = Rhomv '*' Vtotal                            ;
1592 :       MVMD = 'SOMT' (Diag '*' rxt.'TIC'.'ROVP')          ;
1593 :       Rhomvg  = 'EXTR' (tic.'Rhomvg')    ndl             ;
1594 : *?    Rliqm   = 'EXTR' (tic.'Rliqm')     ndl             ;
1595 : *?    Rbrom   = 'EXTR' (tic.'Rbrom')     ndl             ;
1596 :       MVG0D = Rhomvg '*' Vtotal                          ;
1597 :       MVGMD = 'SOMT' (Diag '*' rxt.'TIC'.'RVP')          ;
1598 :  'FINSI'                                                 ;
1599 :  'SI' TBT.'THE'                                          ;
1600 :       Rhomhe   = 'EXTR' (tic.'Rhomhe')    ndl            ;
1601 :       MHE0D = Rhomhe '*' Vtotal                          ;
1602 :       MHEMD = 'SOMT' (Diag '*' rxt.'TIC'.'RHE')          ;
1603 :  'FINSI'                                                 ;
1604 :  'SI' TBT.'TH2'                                          ;
1605 :       Rhomh2   = 'EXTR' (tic.'Rhomh2')    ndl            ;
1606 :       MH20D = Rhomh2 '*' Vtotal                          ;
1607 :       MH2MD = 'SOMT' (Diag '*' rxt.'TIC'.'RH2')          ;
1608 :  'FINSI'                                                 ;
1609 :  'SI' TBT.'TO2'                                          ;
1610 :       Rhomo2   = 'EXTR' (tic.'Rhomo2')    ndl            ;
1611 :       MO20D = Rhomo2 '*' Vtotal                          ;
1612 :       MO2MD = 'SOMT' (Diag '*' rxt.'TIC'.'RO2')          ;
1613 :  'FINSI'                                                 ;
1614 :  'SI' TBT.'TN2'                                          ;
1615 :       Rhomn2   = 'EXTR' (tic.'Rhomn2')    ndl            ;
1616 :       MN20D = Rhomn2 '*' Vtotal                          ;
1617 :       MN2MD = 'SOMT' (Diag '*' rxt.'TIC'.'RN2')          ;
1618 :  'FINSI'                                                 ;
1619 :  'SI' TBT.'TCO'                                          ;
1620 :       Rhomco   = 'EXTR' (tic.'Rhomco')    ndl            ;
1621 :       MCO0D = Rhomco '*' Vtotal                          ;
1622 :       MCOMD = 'SOMT' (Diag '*' rxt.'TIC'.'RCO')          ;
1623 :  'FINSI'                                                 ;
1624 :  'SI' TBT.'TCO2'                                         ;
1625 :       Rhomco2   = 'EXTR' (tic.'Rhomco2')    ndl          ;
1626 :       MCO20D = Rhomco2 '*' Vtotal                        ;
1627 :       MCO2MD = 'SOMT' (Diag '*' rxt.'TIC'.'RCO2')        ;
1628 :  'FINSI'                                                 ;
1629 :  'SI' TBT.'TAIR'                                         ;
1630 :       Rhomair   = 'EXTR' (tic.'Rhomair')    ndl          ;
1631 :       MAIR0D = Rhomair '*' Vtotal                        ;
1632 :       MAIRMD = 'SOMT' (Diag '*' rxt.'TIC'.'RAIR')        ;
1633 :  'FINSI'                                                 ;
1634 : 
1635 : *---- Bilan energie
1636 : 
1637 :  Remn   = 'EXTR' (tic.'Remn')    ndl                     ;
1638 :  E0D = Remn                                              ;
1639 :  'SI' ( 'EGA' ndl 1 )                                    ;
1640 :  Cvm     = 'EXTR' (tic.'Cvm')      ndl                   ;
1641 :  'SINON'                                                 ;
1642 :  Cvm     = 'EXTR' (tic.'Cvm')     (ndl-1)                ;
1643 :  'FINSI'                                                 ;
1644 :  EMD = ( 'SOMT' (Diag '*' Cvm '*' rxt.'TIC'.'RHO' '*' 
1645 :        (rxt.'TIC'.'TF' '+' 273.15)) ) '/' Vtotal         ;
1646 :  'MESS' ' Masse   (Kg)  ' M0D '_______' MMD '________'
1647 :        (100. '*'(M0D '-' MMD) '/'M0D)                    ;
1648 :  'MESS' ' Energie (J/m3)' E0D '_______' EMD '________'
1649 :        (100. '*' (E0D '-' EMD) '/' E0D)                  ;
1650 :  'SI' (TBT.'VAPEUR' 'ET' ('NON' ('EGA' MV0D 0.0)))       ;
1651 :  'MESS' ' M Vapeur(Kg)  ' MV0D '_______' MVMD '_______'
1652 :        (100. '*' (MV0D '-' MVMD) '/' MV0D)               ;
1653 :  'FINSI'                                                 ;
1654 :  'SI' (TBT.'THE' 'ET' ('NON' ('EGA' MHE0D 0.0)))         ;
1655 :  'MESS' ' M Helium (Kg)  ' MHE0D '_______' MHEMD '_______'
1656 :        (100. '*' (MHE0D '-' MHEMD) '/' MHE0D)            ;
1657 :  'FINSI'                                                 ;
1658 :  'SI' (TBT.'TH2' 'ET' ('NON' ('EGA' MH20D 0.0)))         ;
1659 :  'MESS' ' M Hydrogene (Kg)  ' MH20D '_______' MH2MD '_______'
1660 :        (100. '*' (MH20D '-' MH2MD) '/' MH20D)            ;
1661 :  'FINSI'                                                 ;
1662 :  'SI' (TBT.'TO2' 'ET' ('NON' ('EGA' MO20D 0.0)))         ;
1663 :  'MESS' ' M Oxygene (Kg)  ' MO20D '_______' MO2MD '_______'
1664 :        (100. '*' (MO20D '-' MO2MD) '/' MO20D)            ;
1665 :  'FINSI'                                                 ;
1666 :  'SI' (TBT.'TN2' 'ET' ('NON' ('EGA' MN20D 0.0)))         ;
1667 :  'MESS' ' M Azote (Kg)  ' MN20D '_______' MN2MD '_______'
1668 :        (100. '*' (MN20D '-' MN2MD) '/' MN20D)            ;
1669 :  'FINSI'                                                 ;
1670 :  'SI' (TBT.'TCO' 'ET' ('NON' ('EGA' MCO0D 0.0)))         ;
1671 :  'MESS' ' M CO (Kg)  ' MCO0D '_______' MCOMD '_______'
1672 :        (100. '*' (MCO0D '-' MCOMD) '/' MCO0D)            ;
1673 :  'FINSI'                                                 ;
1674 :  'SI' (TBT.'TCO2' 'ET' ('NON' ('EGA' MCO20D 0.0)))       ;
1675 :  'MESS' ' M CO2 (Kg)  ' MCO20D '_______' MCO2MD '_______'
1676 :        (100. '*' (MCO20D '-' MCO2MD) '/' MCO20D)         ;
1677 :  'FINSI'                                                 ;
1678 :  'SI' (TBT.'TAIR' 'ET' ('NON' ('EGA' MAIR0D 0.0)))       ;
1679 :  'MESS' ' M AIR (Kg)  ' MAIR0D '_______' MAIRMD '_______'
1680 :        (100. '*' (MAIR0D '-' MAIRMD) '/' MAIR0D)         ;
1681 :  'FINSI'                                                 ;
1682 :  'MESS' '_____________________________________________'
1683 :         '________________'                               ;
1684 :  'SI' TBT.'THERMP'                                       ;
1685 :       Emurn  = 'EXTR' (tic.'Emur')    ndl                ;
1686 :      'MESS' ' Energie Stockée Mur (J) ' Emurn            ;
1687 :  'MESS' '_____________________________________________'
1688 :         '________________'                               ;
1689 :  'FINSI'                                                 ;
1690 : 
1691 : 'MESS' ' *** Divers **** '                               ;
1692 : 
1693 : 'MESS' ' Dimension espace: ' idim                        ;
1694 : 'MESS' ' Nombre d elements/noeuds ' ('NBEL' vtf) 
1695 :                                     ('NBNO' vtf)         ;
1696 : 
1697 : 'MESS' '***********************************************' ;
1698 : 
1699 : 
1700 :  Econv = 0.0                                             ;
1701 :  Qc = 0.0                                                ;
1702 :  Econd = 0.0                                             ;
1703 :  Hcond = 0.0                                             ;
1704 :  Rgp = tic.'Rgp'                                         ;
1705 : 
1706 :  dRhov  = 0.                                             ;
1707 :  dRhohe = 0.                                             ;
1708 :  dRhoh2 = 0.                                             ;
1709 :  dRhoo2 = 0.                                             ;
1710 :  dRhon2 = 0.                                             ;
1711 :  dRhoco = 0.                                             ;
1712 :  dRhoco2= 0.                                             ;
1713 : 
1714 : *----------------------------------------------------------
1715 : *----- BOUCLE PRINCIPALE DE RESOLUTION SUR LE NB ----------
1716 : *----- TOTAL DE PAS DE TEMPS A REALISER -------------------
1717 : *----------------------------------------------------------
1718 : 
1719 :   Si (NON (EXIST tic 'DT'))                              ;
1720 :   tic.'DT'   = rxt.'DT0'                                 ;
1721 :   Finsi                                                  ;
1722 : 
1723 : *>1 'REPETER' BCLTPS nbit
1724 :  'REPETER' BCLTPS nbit                                   ;
1725 :  
1726 : * Gestion de la frequence de preconditionnement
1727 :  'SI' ('OU' ('EGA' &BCLTPS 1) 
1728 :             ('MULT' &BCLTPS RXT.'FRPREC')) ;
1729 :    calprec = VRAI ;
1730 :  'SINON' ;
1731 :    calprec = FAUX ;
1732 :  'FINSI' ;
1733 : 
1734 :  'SI' ('EGA' nbit 0)                                     ;
1735 :       'QUITTER' BCLTPS                                   ;
1736 :  'FINSI'                                                 ;
1737 : 
1738 :  nupadt = tic.'NUPADT'                                   ;
1739 :  nupadt = nupadt '+' 1                                   ;
1740 :  tic.'NUPADT' = nupadt                                   ;
1741 : *>1 ndl   = 'DIME' (tic.'LTPS')
1742 :  ndl   = 'DIME' (tic.'LTPS')                             ;
1743 : 
1744 :  Tps='EXTR' (tic.'LTPS') ndl                             ;
1745 : 
1746 :  Tps        = tic.'Tps' '+' tic.'DT'                     ;
1747 :  tic.'Tps'  = Tps                                        ;
1748 :  tic.'LTPS' = tic.'LTPS' 'ET' ('PROG' Tps )              ;
1749 : 
1750 :  'SI' ( TBT.'IMPR' >EG 1)                                             ;
1751 :  'MESS' '*************************************************************'
1752 :         '***********************';
1753 :  'MESS' '*************************************************************'
1754 :         '***********************';
1755 :  'MESS' '==> Pas de temps ' nupadt
1756 :        ' Temps = ' tps 'Secondes     Pas de temps : DT= ' tic.'DT'    ;
1757 :  'FINSI'                                                              ;
1758 : 
1759 : 
1760 : **** Initialisations en début de bas de temps ****************
1761 : 
1762 : **** Evolution de la source en fct du temps ******************
1763 : ******** Scenario transitoire ********************************
1764 : 
1765 :  Ksi=1. ; Ksi2=1. ; Ksi3=1. ;
1766 :  Qlj=0. ; Qlj2=0. ; Qlj3=0. ;
1767 :  Qo='Qo'; Qlo='Qlo';
1768 :  Qovp=0.; Qlovp=0.;
1769 :  Qohe=0.;
1770 :  Qoh2=0.;
1771 :  Qon2=0.;
1772 :  Qoo2=0.;
1773 :  Qoco=0.;
1774 :  Qoco2=0.;
1775 : 
1776 :   Si (TBT.'TTsortie')                                              ;
1777 :      NBR=dime rxt.'Sorties'                                        ;
1778 :      ibr=index (rxt.'Sorties')                                     ;
1779 :     Repeter BBRS NBR                                               ;
1780 : qeau qlj qair qhe qh2 qo2 qn2 qco qco2=broche 'KAS1' &BBRS rxt ;
1781 :  Qovp=Qovp + Qeau; Qlovp=Qlovp + Qlj ;
1782 :  Qohe=Qohe + Qhe ;
1783 :  Qoh2=Qoh2 + Qh2 ; 
1784 :  Qon2=Qon2 + Qn2 ; 
1785 :  Qoo2=Qoo2 + Qo2 ; 
1786 :  Qoco=Qoco + Qco ;
1787 :  Qoco2=Qoco2 + Qco2 ; 
1788 :     FIN BBRS                                                       ;
1789 :   FINSI                                                            ;
1790 : 
1791 :   Si (TBT.'TTbreche')                                              ;            
1792 :      NBR=dime rxt.'Breches'                                        ;
1793 :      ibr=index (rxt.'Breches')                                     ;
1794 :     Repeter BBRS NBR                                               ;
1795 : *    mess ' Bruche KAS1 :  Breche  ' (ibr.&BBRS)                   ;
1796 : qeau qlj qair qhe qh2 qo2 qn2 qco qco2=bruche 'KAS1' (&BBRS + 3) rxt ;
1797 :  Qovp=Qovp + Qeau; Qlovp=Qlovp + Qlj ;
1798 :  Qohe=Qohe + Qhe ;
1799 :  Qoh2=Qoh2 + Qh2 ; 
1800 :  Qon2=Qon2 + Qn2 ; 
1801 :  Qoo2=Qoo2 + Qo2 ; 
1802 :  Qoco=Qoco + Qco ;
1803 :  Qoco2=Qoco2 + Qco2 ; 
1804 :     FIN BBRS                                                       ;
1805 :   FINSI                                                            ;
1806 : 
1807 :  Si (TBT.'Tbreche') ;
1808 :  qeau qlj qair qhe qh2 qo2 qn2 qco qco2 =  bruche 'KAS1' 1 rxt     ;
1809 :  Qovp=Qovp + Qeau ; Qlovp=Qlovp + Qlj  ;
1810 :  Qohe=Qohe + Qhe ; 
1811 :  Qoh2=Qoh2 + Qh2 ;
1812 :  Qon2=Qon2 + Qn2 ; 
1813 :  Qoo2=Qoo2 + Qo2 ; 
1814 :  Qoco=Qoco + Qco ;
1815 :  Qoco2=Qoco2 + Qco2 ; 
1816 :  Finsi                                                             ;
1817 : 
1818 :  Si (TBT.'Tbreche2') ;
1819 :  qeau2 qlj2 qair2 qhe2 qh22 qo22 qn22 q2co q2co2 = bruche 'KAS1' 2 rxt;
1820 :  Qovp=Qovp + Qeau2; Qlovp=Qlovp + Qlj2 ;
1821 :  Qohe=Qohe + Qhe2; 
1822 :  Qoh2=Qoh2 + Qh22;
1823 :  Qon2=Qon2 + Qn22; 
1824 :  Qoo2=Qoo2 + Qo22; 
1825 :  Qoco=Qoco + Q2co; 
1826 :  Qoco2=Qoco2 + Q2co2; 
1827 :  Finsi;
1828 : 
1829 :  Si (TBT.'Tbreche3') ;
1830 :  qeau3 qlj3 qair3 qhe3 qh23 qo23 qn23 q3co q3co2 = bruche 'KAS1' 3 rxt;
1831 :  Qovp=Qovp + Qeau3; Qlovp=Qlovp + Qlj3 ;
1832 :  Qohe=Qohe + Qhe3;
1833 :  Qoh2=Qoh2 + Qh23;
1834 :  Qon2=Qon2 + Qn23; 
1835 :  Qoo2=Qoo2 + Qo23; 
1836 :  Qoco=Qoco + Q3co; 
1837 :  Qoco2=Qoco2 + Q3co2; 
1838 :  Finsi;
1839 : 
1840 : 
1841 : *--------------------------------------------------------------
1842 : * Interpolation des conditions aux limites en température
1843 : * imposée sur une ou plusieurs parois et chargement coef d'échange
1844 : * TTIMP  -> rxt.'TIMP'.'TIMPI'
1845 : * TTIMP1 -> tic.'TBP1' etc
1846 : 
1847 : * XFIMP 2 : Flux de chaleur imposés  (exec RTF)
1848 : 'SI' TBT.'TFIMP'                                             ;
1849 :    NBFIMP=dime (rxt.'XFIMP')                                 ;
1850 :    ifimp=INDEX (rxt.'XFIMP')                                 ;
1851 :   REPETER BBFIMP NBFIMP                                      ;
1852 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                         ;
1853 : * Petites initialisations
1854 :   Smfpi=Bfimp.'Smfpi'                                        ;
1855 : 
1856 :   CKqt=Bfimp.'Kqt'                                           ;
1857 :   qft ='IPOL' tps (Bfimp.'t') (Bfimp.'qt')                   ;
1858 :   tic.CKqt =qft/Smfpi                                        ;
1859 : 
1860 :   CKqeau=Bfimp.'Kqeau'                                       ;
1861 :   qfeau ='IPOL' tps (Bfimp.'t') (Bfimp.'qeau')               ;
1862 :   tic.CKqeau =qfeau/Smfpi                                    ;
1863 : 
1864 :   CKqair=Bfimp.'Kqair'                                       ;
1865 :   qfair ='IPOL' tps (Bfimp.'t') (Bfimp.'qair')               ;
1866 :   tic.CKqair =qfair/Smfpi                                    ;
1867 : 
1868 :   CKqhe=Bfimp.'Kqhe'                                         ;
1869 :   qfhe ='IPOL' tps (Bfimp.'t') (Bfimp.'qhe')                 ;
1870 :   tic.CKqhe =qfhe/Smfpi                                      ;
1871 : 
1872 :   CKqh2=Bfimp.'Kqh2'                                         ;
1873 :   qfh2 ='IPOL' tps (Bfimp.'t') (Bfimp.'qh2')                 ;
1874 :   tic.CKqh2 =qfh2/Smfpi                                      ;
1875 : 
1876 :   CKqn2=Bfimp.'Kqn2'                                         ;
1877 :   qfn2 ='IPOL' tps (Bfimp.'t') (Bfimp.'qn2')                 ;
1878 :   tic.CKqn2 =qfn2/Smfpi                                      ;
1879 : 
1880 :   CKqo2=Bfimp.'Kqo2'                                         ;
1881 :   qfo2 ='IPOL' tps (Bfimp.'t') (Bfimp.'qo2')                 ;
1882 :   tic.CKqo2 =qfo2/Smfpi                                      ;
1883 : 
1884 :   CKqco=Bfimp.'Kqco'                                         ;
1885 :   qfco ='IPOL' tps (Bfimp.'t') (Bfimp.'qco')                 ;
1886 :   tic.CKqco =qfco/Smfpi                                      ;
1887 : 
1888 :   CKqco2=Bfimp.'Kqco2'                                       ;
1889 :   qfco2 ='IPOL' tps (Bfimp.'t') (Bfimp.'qco2')               ;
1890 :   tic.CKqco2 =qfco2/Smfpi                                    ;
1891 : 
1892 :   Qovp=Qovp + Qfeau                                          ;
1893 :   Qohe=Qohe + Qfhe                                           ;
1894 :   Qoh2=Qoh2 + Qfh2                                           ;
1895 :   Qon2=Qon2 + Qfn2                                           ;
1896 :   Qoo2=Qoo2 + Qfo2                                           ;
1897 :   Qoco=Qoco + Qfco                                           ;
1898 :   Qoco2=Qoco2 + Qfco2                                        ;
1899 : 
1900 : **Si  (NON ((TBT.'VAPEUR') et (exist tic CKH1)))             ;
1901 : **tic.CKH1  = (Btimp.'ECHAN')                                ;
1902 : **Finsi                                                      ;
1903 : **Bfimp.'Ltbpi'= Bfimp.'Ltbpi' et (prog tic.(Bfimp.'TBP1'))  ;
1904 :   FIN BBFIMP                                                 ;                  
1905 : 'FINSI'                                                      ;
1906 : * XFIMP 2 : Flux de chaleur imposés  (exec RTF)
1907 : 
1908 : 'SI' TBT.'TTIMP'                                             ;
1909 :    NBTIMP=dime (rxt.'TIMP')                                  ;
1910 :    itimp=INDEX (rxt.'TIMP')                                  ;
1911 :   REPETER BBTIMP NBTIMP                                      ;
1912 : * mess 'BBTIMP 2 ';
1913 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                          ;
1914 : * Petites initialisations
1915 :   CTBP1=Btimp.'TBP1'                                         ;
1916 :   CKH1=Btimp.'KH1'                                           ;
1917 :   tic.CTBP1 = 'IPOL' tps (Btimp.'t') (Btimp.'TIMP')          ;
1918 :   Si  (NON ((TBT.'VAPEUR') et (exist tic CKH1)))             ;
1919 :   tic.CKH1  = (Btimp.'ECHAN')                                ;
1920 :   Finsi                                                      ;
1921 :   Btimp.'Ltbpi'= Btimp.'Ltbpi' et (prog tic.(Btimp.'TBP1'))  ;
1922 :   FIN BBTIMP                                                 ;
1923 : 'FINSI'                                                      ;
1924 : 
1925 : 'SI' TBT.'TTIMP1'                                            ;
1926 :   tic.'TBP1' = 'IPOL' tps (rxt.'TIMP1'.'t') (rxt.'TIMP1'.'TIMP');
1927 :   Si  (NON ((TBT.'VAPEUR') et (exist tic 'KH1')))            ;
1928 :   tic.'KH1'  = (rxt.'TIMP1'.'ECHAN')                         ;
1929 :   Finsi                                                      ;
1930 :   tic.'Ltbp1'= tic.'Ltbp1' et (prog (tic.'TBP1'))            ;
1931 : 'FINSI'                                                      ;
1932 : 
1933 : 'SI' TBT.'TTIMP2'                                            ;
1934 :   tic.'TBP2' = 'IPOL' tps (rxt.'TIMP2'.'t') (rxt.'TIMP2'.'TIMP');
1935 :   Si  (NON ((TBT.'VAPEUR') et (exist tic 'KH2')))            ;
1936 :   tic.'KH2'  = (rxt.'TIMP2'.'ECHAN')                         ;
1937 :   Finsi                                                      ;
1938 :   tic.'Ltbp2'= tic.'Ltbp2' et (prog (tic.'TBP2'))            ;
1939 : 'FINSI'                                                      ;
1940 : 
1941 : 'SI' TBT.'TTIMP3'                                            ;
1942 :   tic.'TBP3' = 'IPOL' tps (rxt.'TIMP3'.'t') (rxt.'TIMP3'.'TIMP');
1943 :   Si  (NON ((TBT.'VAPEUR') et (exist tic 'KH3')))            ;
1944 :   tic.'KH3'  = (rxt.'TIMP3'.'ECHAN')                         ;
1945 :   Finsi                                                      ;
1946 :   tic.'Ltbp3'= tic.'Ltbp3' et (prog (tic.'TBP3'))            ;
1947 : 'FINSI'                                                      ;
1948 : 
1949 : 'SI' TBT.'TECHANP'                                           ;
1950 :   'SI' ('NON' ('EXIST' TIC 'TBP0'))                          ;
1951 :   tic.'TBP0' = 'KCHT' RXT.'GEO'.'$mtp0' 'SCAL' 'SOMMET' 
1952 :                                          rxt.'ECHANP'.'TMUR' ;
1953 :   'FINSI' ;
1954 :   Si  (NON ((TBT.'VAPEUR') et (exist tic 'KH0')))            ;
1955 :   tic.'KH0'  = 'KCHT' RXT.'GEO'.'$mtp0' 'SCAL' 'CENTRE' 
1956 :                                         rxt.'ECHANP'.'ECHAN' ;
1957 :   Finsi                                                      ;
1958 : 'FINSI'                                                      ;
1959 : 
1960 : *--------------------------------------------------------------
1961 : * Traitement de l'aspersion
1962 : 
1963 : 'SI' TBT.'ASPER '                                            ;
1964 :    t       =  rxt.'scenasp'.'t'                             ;
1965 :    vzinj   = 'IPOL' tps t (rxt.'scenasp'.'vzinj')           ;
1966 :    xdinj   = 'IPOL' tps t (rxt.'scenasp'.'xdinj')           ;
1967 :    tdinj   = 'IPOL' tps t (rxt.'scenasp'.'tdinj')           ;
1968 :    ddinj   = 'IPOL' tps t (rxt.'scenasp'.'ddinj')           ;
1969 :    $aspinj = GEO.'$aspinj'                                   ;
1970 :    $toitf  = GEO.'$toitf'                                    ;
1971 : *   vnj     = 'KCHT' $aspinj 'VECT' 'SOMMET' 'COMP'
1972 : *                        ('MOTS' 1VN 2VN 3VN) (0.0 0.0 vzinj) ;
1973 : 
1974 :       'SI' (DIM3D) ;   
1975 :    vnj     = 'KCHT' $aspinj 'VECT' 'SOMMET' 'COMP'
1976 :                         ('MOTS' 1VN 2VN 3VN) (0.0 0.0 vzinj) ;
1977 :    'SINON' ;
1978 : *--------------------------------------------------------------
1979 : *                    modif Tojo 12/07/2007                    *
1980 : *
1981 : *   mise en place de vecteurs inclinés conformément 
1982 : *   à l'angle d'ouverture du jet
1983 : *   ici l'inclinaison est fixée à 30°
1984 : *   une prochaine évolution pourrait consister à mettre 
1985 : *   l'angle d'ouverture comme donnée d'entrée
1986 : *   dans la table scenasp
1987 : *
1988 : *--------------------------------------------------------------
1989 : *
1990 : cc1 = coor 1 rxt.'aspinj'                                     ;
1991 : z0 = (sin(300. '*' cc1)) '*' ((cos(300. '*' cc1)) '**' (-1.0));
1992 : z0 = z0 '*' (vzinj '*' -1.)                                   ;
1993 : z0 = chan attribut z0 nature diffus                           ;
1994 : z1 = z0 '*' 0.                                                ;
1995 : ux0 = nomc '1VN' z0                                           ;
1996 : z1 = z1 '+' vzinj                                             ;      
1997 : z1 = chan attribut z1 nature diffus                           ;
1998 : uy0 = nomc '2VN' z1                                           ;
1999 : vnj1 = ux0 et uy0                                             ;
2000 : vnj  = 'KCHT' $aspinj 'VECT' 'SOMMET' 'COMP'
2001 : ('MOTS' '1VN' '2VN') vnj1                                     ;
2002 : *
2003 : *--------------------------------------------------------------
2004 :    'FINSI' ;
2005 : *--------------------fin modif Tojo Juillet 2007---------------
2006 : 
2007 :    xdj     = 'KCHT' $aspinj 'SCAL' 'SOMMET' 'COMP'
2008 :                          ('MOT'  'XD') xdinj                 ;
2009 :    tdj     = 'KCHT' $aspinj 'SCAL' 'SOMMET' 'COMP'
2010 :                          ('MOT'  'TD') tdinj                 ;
2011 :    ddj     = 'KCHT' $toitf  'SCAL' 'SOMMET' 'COMP'
2012 :                          ('MOT'  'DD') ddinj                 ;
2013 : 'FINSI'                                                      ;
2014 : 
2015 : *--------------------------------------------------------------
2016 : *>1**********************************************************
2017 : *>1* Grandeurs moyennes au debut du pas de temps N **********
2018 : *>1* i.e. au temps N-1 **************************************
2019 : 
2020 :   Ptnm    = 'EXTR' (tic.'PT')    ndl                         ;
2021 :   dPdtnm  = 'EXTR' (tic.'dPdt')  ndl                         ;
2022 :   Rgpmnm  = 'EXTR' (tic.'Rgpm')  ndl                         ;
2023 :   Cvmnm   = 'EXTR' (tic.'Cvm')   ndl                         ;
2024 :   Gamnm   = 'EXTR' (tic.'Gamm')  ndl                         ;
2025 :   Cpmnm   = 'EXTR' (tic.'Cpm')   ndl                         ;
2026 :   Rhomnm  = 'EXTR' (tic.'Rhom')  ndl                         ;
2027 : 
2028 :   Rhomvn  = 0.                                               ;
2029 :   Rhovgn  = 0.                                               ;
2030 :   Rbrom   = 0.                                               ;
2031 :   Rmhen   = 0.                                               ;
2032 :   Rmh2n   = 0.                                               ;
2033 :   Rmn2n   = 0.                                               ;
2034 :   Rmo2n   = 0.                                               ;
2035 :   Rmcon   = 0.                                               ;
2036 :   Rmco2n  = 0.                                               ;
2037 :   Rmairn  = 0.                                               ;
2038 : 
2039 :   'SI' TBT.'VAPEUR'                                          ;
2040 : *>1 Rhomvnm,Rhovgnm,Rliqm = EXTR tic.'Rhomv','Rhomvg','Rliqm' ndl
2041 :   Rhomvnm = 'EXTR' (tic.'Rhomv')  ndl                        ;
2042 :   Rhovgnm = 'EXTR' (tic.'Rhomvg') ndl                        ;
2043 :    'SI' TBT.'CONDMAS'                                        ;
2044 :     Rliqm   = 'EXTR' (tic.'Rliqm')  ndl                      ;
2045 :     Rbrom   = 'EXTR' (tic.'Rbrom')  ndl                      ;
2046 :    'FINSI'                                                   ;
2047 :   'FINSI'                                                    ;
2048 :   'SI' TBT.'THE'                                             ;
2049 :   Rmhenm  = 'EXTR' (tic.'Rhomhe') ndl                        ;
2050 :   'FINSI'                                                    ;
2051 :   'SI' TBT.'TH2'                                             ;
2052 :   Rmh2nm  = 'EXTR' (tic.'Rhomh2') ndl                        ;
2053 :   'FINSI'                                                    ;
2054 :   'SI' TBT.'TO2'                                             ;
2055 :   Rmo2nm  = 'EXTR' (tic.'Rhomo2') ndl                        ;
2056 :   'FINSI'                                                    ;
2057 :   'SI' TBT.'TN2'                                             ;
2058 :   Rmn2nm  = 'EXTR' (tic.'Rhomn2') ndl                        ;
2059 :   'FINSI'                                                    ;
2060 :   'SI' TBT.'TCO'                                             ;
2061 :   Rmconm  = 'EXTR' (tic.'Rhomco') ndl                        ;
2062 :   'FINSI'                                                    ;
2063 :   'SI' TBT.'TCO2'                                            ;
2064 :   Rmco2nm  = 'EXTR' (tic.'Rhomco2') ndl                      ;
2065 :   'FINSI'                                                    ;
2066 : 
2067 :   Rmairnm  = 'EXTR' (tic.'Rhomair') ndl                      ;
2068 :   Remnm   = 'EXTR' (tic.'Remn')  ndl                         ;
2069 :   'SI' TBT.'THERMP'                                          ;
2070 :   Emurnm  = 'EXTR' (tic.'Emur')  ndl                         ;
2071 :   'FINSI'                                                    ;
2072 :   'SI' TBT.'ASPER '                                          ;
2073 :        Qasp    = extr (tic.'Qaspe') ndl                      ;
2074 :        Easp    = extr (tic.'Easpe') ndl                      ;
2075 :        Hasp    = extr (tic.'Haspe') ndl                      ;
2076 :   'SINON'                                                    ;
2077 :        Qasp    = 0.0                                         ;
2078 :        Easp    = 0.0                                         ;
2079 :        Hasp    = 0.0                                         ;
2080 :   'FINSI'                                                    ;
2081 :   
2082 :   Qcnm    = 'EXTR' (tic.'Qc')    ndl                         ;
2083 :   Qcm     = 0.                                               ;
2084 : * Qcm     = 'EXTR' (tic.'Qcm')   ndl                         ;
2085 : * Pour faire marcher la version V0
2086 :   Econdnm = 'EXTR' (tic.'Econd') ndl                         ;
2087 :   Econvnm = 'EXTR' (tic.'Econv') ndl                         ;
2088 :   Hcondnm = 'EXTR' (tic.'Hcond') ndl                         ;
2089 :   MinjT   = 'EXTR' (tic.'Minj')  ndl                         ;
2090 :   McondT  = 'EXTR' (tic.'Mcond') ndl                         ;
2091 :   
2092 :   'SI' (TBT.'VAPEUR')                                        ;
2093 :     'SI' (TBT.'VERSION' > 0)                                 ;
2094 :       'SI' (EXIST TIC 'Mcondm')                              ;
2095 :         Mcondm  = 'EXTR' (tic.'Mcondm') ndl                  ;
2096 :       'SINON'                                                ;
2097 :         tic.'Mcondm' = 'PROG' 0.0                            ;
2098 :         Mcondm       = 0.0                                   ;
2099 :       'FINSI'                                                ;
2100 :       'SI' (NON (EXIST TIC 'Qcm'))                           ;
2101 :         tic.'Qcm'   = 'PROG' 0.0                             ;
2102 :       'FINSI'                                                ;
2103 :     'FINSI'                                                  ;
2104 : 
2105 :     'SI' (TBT.'TPAROIF')                                     ;
2106 :       'SI' (EXIST TIC 'Mcondw')                              ;
2107 :         McondTw = 'EXTR' (tic.'Mcondw') ndl                  ;
2108 :       'SINON'                                                ;
2109 :         tic.'Mcondw' = 'PROG' 0.0                            ;
2110 :         McondTw      = 0.0                                   ;
2111 :       'FINSI'                                                ;
2112 :       'SI' (NON (EXIST TIC 'Qcw'))                           ;
2113 :         tic.'Qcw'   = 'PROG' 0.0                             ;
2114 :       'FINSI'                                                ;
2115 :     'FINSI'                                                  ;
2116 :     'SI' (TBT.'TTIMP')                                       ;
2117 :        NBTIMP=dime (rxt.'TIMP')                              ;
2118 :        itimp=INDEX (rxt.'TIMP')                              ;
2119 :       REPETER BBTIMP NBTIMP                                  ;
2120 : * mess 'BBTIMP 3 ';
2121 :        Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
2122 :       CQc1=Btimp.'Qc1'                                       ;
2123 :       'SI' (NON (EXIST TIC CQc1))                            ;
2124 :         tic.CQc1    = 'PROG' 0.0                             ;
2125 :       'FINSI'                                                ;
2126 :       CMcond1=Btimp.'Mcond1'                                 ;
2127 :       'SI' (EXIST tic.CMcond1)                               ;
2128 :         McondT1 = 'EXTR' (tic.CMcond1) ndl                   ;
2129 :       'SINON'                                                ;
2130 :         tic.CMcond1  = 'PROG' 0.0                            ;
2131 :         McondT1      = 0.0                                   ;
2132 :       'FINSI'                                                ;
2133 :       FIN BBTIMP                                             ;
2134 :     'FINSI'                                                  ;
2135 :     'SI' (TBT.'TTIMP1')                                      ;
2136 :       'SI' (EXIST TIC 'Mcond1')                              ;
2137 :         McondT1 = 'EXTR' (tic.'Mcond1') ndl                  ;
2138 :       'SINON'                                                ;
2139 :         tic.'Mcond1' = 'PROG' 0.0                            ;
2140 :         McondT1      = 0.0                                   ;
2141 :       'FINSI'                                                ;
2142 :       'SI' (NON (EXIST TIC 'Qc1'))                           ;
2143 :         tic.'Qc1'   = 'PROG' 0.0                             ;
2144 :       'FINSI'                                                ;
2145 :     'FINSI'                                                  ;
2146 :     'SI' (TBT.'TTIMP2')                                      ;
2147 :       'SI' (EXIST TIC 'Mcond2')                              ;
2148 :         McondT2 = 'EXTR' (tic.'Mcond2') ndl                  ;
2149 :       'SINON'                                                ;
2150 :         tic.'Mcond2' = 'PROG' 0.0                            ;
2151 :         McondT2      = 0.0                                   ;
2152 :       'FINSI'                                                ;
2153 :       'SI' (NON (EXIST TIC 'Qc2'))                           ;
2154 :         tic.'Qc2'   = 'PROG' 0.0                             ;
2155 :       'FINSI'                                                ;
2156 :     'FINSI'                                                  ;
2157 :     'SI' (TBT.'TTIMP3')                                      ;
2158 :       'SI' (EXIST TIC 'Mcond3')                              ;
2159 :         McondT3 = 'EXTR' (tic.'Mcond3') ndl                  ;
2160 :       'SINON'                                                ;
2161 :        tic.'Mcond3' = 'PROG' 0.0                             ;
2162 :        McondT3      = 0.0                                    ;
2163 :       'FINSI'                                                ;
2164 :       'SI' (NON (EXIST TIC 'Qc3'))                           ;
2165 :         tic.'Qc3'   = 'PROG' 0.0                             ;
2166 :       'FINSI'                                                ;
2167 :     'FINSI'                                                  ;
2168 :     'SI' (TBT.'TECHANP')                                     ;
2169 :       'SI' (EXIST TIC 'Mcond0')                              ;
2170 :         McondT0 = 'EXTR' (tic.'Mcond0') ndl                  ;
2171 :       'SINON'                                                ;
2172 :        tic.'Mcond0' = 'PROG' 0.0                             ;
2173 :        McondT0      = 0.0                                    ;
2174 :       'FINSI'                                                ;
2175 :       'SI' (NON (EXIST TIC 'Qc0'))                           ;
2176 :         tic.'Qc0'   = 'PROG' 0.0                             ;
2177 :       'FINSI'                                                ;
2178 :     'FINSI'                                                  ;
2179 :   'FINSI'                                                    ;
2180 :   MrestT  = 'EXTR' (tic.'Mrest') ndl                         ;
2181 : 
2182 : *-------------------------------------------------------------
2183 : * Calcul KH/Ro Cp pour l'équation en température TF
2184 : 
2185 :  'SI' TBT.'THERMP'                                           ;
2186 :   tic.'KHEW'=tic.'KHW' /  (Rhomnm '*' Cpmnm)                 ;
2187 :   tic.'LHEW' = -1.0 * tic.'KHEW'                             ;
2188 :  'FINSI'                                                     ;
2189 : 
2190 : 'SI' TBT.'TTIMP'                                             ;
2191 :    NBTIMP=dime (rxt.'TIMP')                                  ;
2192 :    itimp=INDEX (rxt.'TIMP')                                  ;
2193 :   REPETER BBTIMP NBTIMP                                      ;
2194 : * mess 'BBTIMP 4 ';
2195 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                          ;
2196 :    CKHE1=Btimp.'KHE1'                                        ;
2197 :    CKH1 =Btimp.'KH1'                                         ;
2198 :    tic.CKHE1   = tic.CKH1 '/' (Rhomnm '*' Cpmnm)             ;
2199 :   FIN BBTIMP                                                 ;
2200 : 'FINSI'                                                      ;
2201 : 
2202 : 'SI' TBT.'TTIMP1'                                            ;
2203 :    CKHE1='KHE1'                                              ;
2204 :    CKH1 ='KH1'                                               ;
2205 :      tic.CKHE1  = (tic.CKH1) '/' (Rhomnm '*' Cpmnm)          ;
2206 : 'FINSI'                                                      ;
2207 : 
2208 : 'SI' TBT.'TTIMP2'                                            ;
2209 :      tic.'KHE2'  = (tic.'KH2') '/' (Rhomnm '*' Cpmnm)        ;
2210 : 'FINSI'                                                      ;
2211 : 
2212 : 'SI' TBT.'TTIMP3'                                            ;
2213 :      tic.'KHE3'  = (tic.'KH3') '/' (Rhomnm '*' Cpmnm)        ;
2214 : 'FINSI'                                                      ;
2215 : 
2216 : 'SI' TBT.'TECHANP'                                           ;
2217 :      tic.'KHE0'  = (tic.'KH0') '/' (Rhomnm '*' Cpmnm)        ;
2218 : 'FINSI'                                                      ;
2219 : 
2220 : *=============================================================
2221 : *BRECHES et Sorties
2222 : *=============================================================
2223 :    Qtot = 0.                                                 ;
2224 :    dr   = 0.                                                 ;
2225 :    srcs = 0.                                                 ;
2226 : 
2227 :   Si (TBT.'TTsortie')                                        ;
2228 :      NBR=dime rxt.'Sorties'                                  ;
2229 :      ibr=index (rxt.'Sorties')                               ;
2230 :     Repeter BBRS NBR                                         ;
2231 :   Rvapj Rairj Rhej Rh2j Ro2j Rn2j Rco2j Rcoj Rgj Hj Ej
2232 :   Tj aex Qj Roj gj guj unvf0 src = broche 'KAS2' &BBRS rxt   ;
2233 :      asrc = (Roj '*' ('ABS' src))                            ;
2234 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB';
2235 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB';
2236 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBB';
2237 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBB';
2238 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBB   BBBBBBBBBBBBBBBBBBBBBBBB';
2239 : *mess ' BBBBBBBBBBBBBBBBBBBBBBB     BBBBBBBBBBBBBBBBBBBBBBB';
2240 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBB   BBBBBBBBBBBBBBBBBBBBBBBB';
2241 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBB';
2242 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBB';
2243 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB';
2244 : *mess ' BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB';
2245 :    Qtot   = Qtot '+' (aex*asrc)                              ;
2246 :    dr = dr + (Qj '*' Hj '*' aex)                             ;
2247 :    srcs=srcs + (aex '*' src)                                 ;
2248 : *----------------------------------------------------------
2249 : * STOCKAGE des valeurs de l'injection pour le temps courant       
2250 : * Breches &BBRS
2251 : * La brèche peut avoir eu une existence évanescente (Tbreche=FAUX)
2252 : * Si tic.'Qj' existe on complete avec des valeurs nulles
2253 : * tic.'Qj',tic.'guj',tic.'Hj',tic.'Ej'
2254 : *
2255 :   Briches=rxt.'Sorties'.(ibr.&BBRS)                          ;
2256 :  Si(Exist Briches 'Qj')                                      ;
2257 :   Briches.'guj'= Briches.'guj' 'ET' ('PROG' guj)             ;
2258 :   Briches.'Qj' = Briches.'Qj' 'ET' ('PROG' asrc)             ;
2259 :  Finsi ;
2260 :     FIN BBRS                                                 ;
2261 :   FINSI                                                      ;
2262 : 
2263 : 
2264 :   Si (TBT.'TTbreche')                                        ;
2265 :      NBR=dime rxt.'Breches'                                  ;
2266 :      ibr=index (rxt.'Breches')                               ;
2267 :     Repeter BBRS NBR                                         ;
2268 : *    mess ' Bruche KAS2 : Breche  ' (ibr.&BBRS)              ;
2269 :   Rvapj Rairj Rhej Rh2j Ro2j Rn2j Rco2j Rcoj Rgj Hj Ej
2270 :   Tj Qj Roj gj guj unvf0 src = bruche 'KAS2' (&BBRS + 3) rxt ;
2271 :      asrc = (Roj '*' ('ABS' src))                            ;
2272 :    Qtot   = Qtot '+' asrc                                    ;
2273 :    dr = dr + (Qj '*' Hj)                                     ;
2274 :    srcs=srcs + src                                           ;
2275 : *----------------------------------------------------------
2276 : * STOCKAGE des valeurs de l'injection pour le temps courant       
2277 : * Breches &BBRS
2278 : * La brèche peut avoir eu une existence évanescente (Tbreche=FAUX)
2279 : * Si tic.'Qj' existe on complete avec des valeurs nulles
2280 : * tic.'Qj',tic.'guj',tic.'Hj',tic.'Ej'
2281 : *
2282 :   Briches=rxt.'Breches'.(ibr.&BBRS)                          ;
2283 :  Si(Exist Briches 'Qj')                                      ;
2284 :   Briches.'guj'= Briches.'guj' 'ET' ('PROG' guj)             ;
2285 :   Briches.'Qj' = Briches.'Qj' 'ET' ('PROG' asrc)             ;
2286 :  Finsi ;
2287 :     FIN BBRS                                                 ;
2288 :   FINSI                                                      ;
2289 : 
2290 : *=============================================================
2291 : *BRECHE
2292 : *=============================================================
2293 :   Qj   = 0. ;
2294 :   Roj  = 1.e-10 ;
2295 :   src  = 0. ;
2296 :   guj  = 0. ;
2297 :   Ej=0. ;
2298 :   Hj=0. ;
2299 :   Tj=0. ;
2300 : 
2301 :  Si (TBT.'Tbreche') ;
2302 :   Rvapj Rairj Rhej Rh2j Ro2j Rn2j Rco2j Rcoj Rgj Hj Ej
2303 :   Tj Qj Roj gj guj unvf0 src = bruche 'KAS2'   1 rxt         ;
2304 :    asrc = Roj '*' ('ABS' src)                                ;
2305 :    Qtot   = Qtot '+' asrc                                    ;
2306 :    dr = dr + (Qj '*' Hj)                                     ;
2307 :  Finsi;
2308 : 
2309 : *----------------------------------------------------------
2310 : * STOCKAGE des valeurs de l'injection pour le temps courant       
2311 : * 1ere Breche
2312 : * La brèche peut avoir eu une existance évanescente (Tbreche=FAUX)
2313 : * Si tic.'Qj' existe on complete avec des valeurs nulles
2314 : * tic.'Qj',tic.'guj',tic.'Hj',tic.'Ej'
2315 : *
2316 :  Si(Exist tic 'Qj') ;
2317 :   tic.'guj'= tic.'guj' 'ET' ('PROG' guj)                   ;
2318 :   asrc = Roj '*' ('ABS' src)                               ;
2319 :   tic.'Qj' = tic.'Qj' 'ET' ('PROG' asrc)                   ;
2320 : 
2321 :   tic.'Hj'= tic.'Hj' 'ET' ('PROG' Hj)                      ;
2322 :   tic.'Ej'= tic.'Ej' 'ET' ('PROG' Ej)                      ;
2323 :  Finsi ;
2324 : 
2325 : *=============================================================
2326 : *BRECHE 2
2327 : *=============================================================
2328 :   Qj2   = 0. ;
2329 :   Roj2  = 1.e-10 ;
2330 :   src2  = 0. ;
2331 :   guj2  = 0. ;
2332 :   Ej2=0. ;
2333 :   Hj2=0. ;
2334 :   Tj2=0. ;
2335 : 
2336 :  Si (TBT.'Tbreche2') ;
2337 :   Rvapj2 Rairj2 Rhej2 Rh2j2 Ro2j2 Rn2j2 Rco2j2 Rcoj2 Rgj2 Hj2 Ej2
2338 :   Tj2 Qj2 Roj2 gj2 guj2 unvf0 src2 = bruche 'KAS2'   2 rxt    ;
2339 : 
2340 :  asrc2 = Roj2 '*' ('ABS' src2)                                ;
2341 :  Qtot  = Qtot '+' asrc2                                       ;
2342 :  dr    = dr + (Qj2 '*' Hj2)                                   ;
2343 :  Finsi                                                        ;
2344 : 
2345 : *----------------------------------------------------------
2346 : * STOCKAGE des valeurs de l'injection pour le temps courant
2347 : * 2eme Breche
2348 : * La brèche peut avoir eu une existance évanescente (Tbreche2=FAUX)
2349 : * Si tic.'Qj2' existe on complete avec des valeurs nulles
2350 : * tic.'Qj2',tic.'guj2',tic.'Hj2',tic.'Ej2'
2351 : *
2352 :  Si(Exist tic 'Qj2') ;
2353 :   tic.'guj2'= tic.'guj2' 'ET' ('PROG' guj2)                   ;
2354 :   asrc2 = Roj2 '*' ('ABS' src2)                               ;
2355 :   tic.'Qj2' = tic.'Qj2' 'ET' ('PROG' asrc2)                   ;
2356 :   tic.'Hj2'= tic.'Hj2' 'ET' ('PROG' Hj2)                      ;
2357 :   tic.'Ej2'= tic.'Ej2' 'ET' ('PROG' Ej2)                      ;
2358 :  Finsi ;
2359 : *=============================================================
2360 : *BRECHE 3
2361 : *=============================================================
2362 :   Qj3   = 0. ;
2363 :   Roj3  = 1.e-10 ;
2364 :   src3 = 0.;
2365 :   guj3  = 0. ;
2366 :   Ej3=0. ;
2367 :   Hj3=0. ;
2368 :   Tj3=0. ;
2369 : 
2370 :  Si (TBT.'Tbreche3') ;
2371 :   Rvapj3 Rairj3 Rhej3 Rh2j3 Ro2j3 Rn2j3 Rco2j3 Rcoj3 Rgj3 Hj3 Ej3
2372 :   Tj3 Qj3 Roj3 gj3 guj3 unvf0 src3 = bruche 'KAS2'   3  rxt   ;
2373 : 
2374 :  asrc3 = Roj3 '*' ('ABS' src3)                                ;
2375 :  Qtot  = Qtot '+' asrc3                                       ;
2376 :  dr = dr + (Qj3 '*' Hj3)                                      ;
2377 :  Finsi                                                        ;
2378 : 
2379 : *----------------------------------------------------------
2380 : * STOCKAGE des valeurs de l'injection pour le temps courant
2381 : * 3ème Breche
2382 : * La brèche peut avoir eu une existance évanescente (Tbreche3=FAUX)
2383 : * Si tic.'Qj3' existe on complète avec des valeurs nulles
2384 : * tic.'Qj3',tic.'guj3',tic.'Hj3',tic.'Ej3'
2385 : *
2386 : Si(Exist tic 'Qj3') ;
2387 :  tic.'guj3'= tic.'guj3' 'ET' ('PROG' guj3)                   ;
2388 :  asrc3 = Roj3 '*' ('ABS' src3)                               ;
2389 :  tic.'Qj3' = tic.'Qj3' 'ET' ('PROG' asrc3)                   ;
2390 :  tic.'Hj3'= tic.'Hj3' 'ET' ('PROG' Hj3)                      ;
2391 :  tic.'Ej3'= tic.'Ej3' 'ET' ('PROG' Ej3)                      ;
2392 : Finsi ;
2393 : *=============================================================
2394 : 
2395 : 
2396 : 'SI' TBT.'TRECOMB' ;
2397 : 
2398 : MDRECOMB RXT ;
2399 : 
2400 : 'FINSI' ;
2401 : 
2402 : *------------------------------------------------------------
2403 : **** Avancement des grandeurs moyennes 0D *******************
2404 : **** compte tenu des injections           *******************
2405 : * Pour le calcul de RHO, P
2406 : *
2407 : 
2408 : 
2409 : * Calcul de l energie moyenne au pas de temps N
2410 :  Htot          = Hcondnm '-' Hasp                            ;
2411 :  Etot          = Econvnm '-' Easp                            ;
2412 :  dr            = dr '-' Etot '-' Htot                        ;
2413 :  Qtot          = Qtot '+' Qasp '-' Qcnm ;
2414 : 
2415 : *mess ' Etot ' Etot   ' Htot ' Htot  'dr=' dr;
2416 : *mess 'Econv pour calcul de dr ' Econv;
2417 : 
2418 : * Calcul de la densité moyenne au pas de temps N
2419 : 
2420 : * Prise en compte des données du ou des recombineurs eventuels
2421 : 'SI' TBT.'TRECOMB' ;
2422 : 
2423 :    NBREC = 'DIME' rxt.'RECOMB' ;
2424 :    'REPETER' BCLREC NBREC ;
2425 : 
2426 :    DIRNAME = 'CHAIN' 'DREC' 'ent' &BCLREC ;
2427 :    direntr = RXT.'GEO'. DIRNAME ;
2428 :    DIRNAME = 'CHAIN' 'DREC' 'sor' &BCLREC ;
2429 :    dirsort = RXT.'GEO'. DIRNAME ;
2430 : 
2431 :    $NAME = 'CHAIN' '$REC' 'ent' &BCLREC ;
2432 :    $ENTREE = RXT.'GEO'. $NAME ;
2433 :    $NAME = 'CHAIN' '$REC' 'sor' &BCLREC ;
2434 :    $SORTIE = RXT.'GEO'. $NAME ;
2435 : 
2436 :    'SI' TBT.'FPAROI' ;
2437 :       NAME = 'CHAIN' 'REC' 'ent' &BCLREC ;
2438 :       ENTREE = RXT.'GEO'.NAME ;
2439 :       NAME = 'CHAIN' 'REC' 'sor' &BCLREC ;
2440 :       SORTIE = RXT.'GEO'.NAME ;
2441 :    'SINON' ;
2442 :       NAME = 'CHAIN' 'REC' 'entI' &BCLREC ;
2443 :       ENTREE = RXT.'GEO'.NAME ;
2444 :       NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
2445 :       SORTIE = RXT.'GEO'.NAME ;
2446 :    'FINSI' ;
2447 : 
2448 :    LMOT1 = 'MOTS' 1UN 2UN ;
2449 :    LMOT2 = 'MOTS' UX  UY  ;
2450 :    
2451 :    'SI' DIM3D;
2452 :     LMOT1 = LMOT1 'ET' ('MOTS' 3UN ) ;
2453 :     LMOT2 = LMOT2 'ET' ('MOTS' UZ  ) ;
2454 :    'FINSI' ;
2455 :    NRECT = 'DIME' RXT.'TIC'.'RECOMB'.&BCLREC.'Uin' ;
2456 :    Uin1  = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'Uin'  NRECT ;
2457 :    Uout1 = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'Uout' NRECT ;
2458 :    DEB1  = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'DEB'  NRECT ;
2459 :    Hin1  = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'Hin'  NRECT ;
2460 :    Hout1 = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'Hout' NRECT ;
2461 :    toto1 = 'KCHT' $ENTREE 'VECT' 'SOMMET' 'COMP'
2462 :              LMOT1  (direntr * Uin1);
2463 :    toto1 = 'REDU' toto1 ENTREE  ;
2464 :    toto1 = 'KCHT' $ENTREE 'VECT' 'SOMMET' 'COMP'
2465 :              LMOT1  toto1;
2466 :    toto2 = 'NOMC' LMOT1 LMOT2 toto1 ;
2467 :    toto3 = 'KCHT' RXT.'GEO'.'$menvf'  'VECT' 'SOMMET'  toto2 ;
2468 :    toto3 = 'DBIT' toto3 RXT.'GEO'.'$menvf' ;
2469 : 
2470 :    tutu1 = 'KCHT' $SORTIE 'VECT' 'SOMMET' 'COMP'
2471 :              LMOT1  (dirsort * Uout1);
2472 :    tutu1 = 'REDU' tutu1 SORTIE  ;
2473 :    tutu1 = 'KCHT' $SORTIE 'VECT' 'SOMMET' 'COMP'
2474 :              LMOT1  tutu1;
2475 :    tutu2 = 'NOMC' LMOT1 LMOT2 tutu1 ;
2476 :    tutu3 = 'KCHT' RXT.'GEO'.'$menvf'  'VECT' 'SOMMET'  tutu2 ;
2477 :    tutu3 = 'DBIT' tutu3 RXT.'GEO'.'$menvf' ;
2478 :    
2479 :    'SI' ('EGA' &BCLREC 1) ;
2480 :      Urec0 = toto1 'ET' tutu1 ;
2481 : *     Srho0 = tutu3 '-' toto3 ;
2482 :    'SINON' ;
2483 :      Urec0 = Urec0 'ET' toto1 'ET' tutu1 ;
2484 : *     Srho0 = Srho0 '+' tutu3 '-' toto3 ;
2485 :    'FINSI' ;
2486 :      Srho0 = 0.0 ;
2487 : 
2488 : ** Dans le recombineur, on suppose que le debit massique entrant
2489 : ** est egale au debit massique sortant
2490 : ** ==> auncune correction n'est a effectué sur la densité totale !
2491 : * Qtot          = Qtot '+' 0.0  ;
2492 :    
2493 :  dr = dr '+' (DEB1 '*' (Hout1 '-' Hin1)) ;
2494 : 
2495 :    'FIN' BCLREC ;
2496 : 
2497 : 'FINSI' ;
2498 : * Modif. FP 19/05/00
2499 : * Retranchement de la masse et de l'énergie perdues par condensation
2500 : * en masse :
2501 : 
2502 : *µµµµµµµµµµµµµ calcul Rhomn et Remn µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ
2503 : Si TBT.'Tsortie';
2504 : 
2505 :  Tf=tic.'TF'                                                 ;
2506 :  Rho=tic.'RHO'                                               ;
2507 :  Cvm     = 'EXTR' (tic.'Cvm')      ndl                       ;
2508 :  Rhomn = Rhom                                                ;
2509 :  Remn  = (Somt(Diag * Rho * cvm * (Tf+273.15))) '/' VTotal   ;
2510 :  tic.'Rhom'  = tic.'Rhom'  'ET' ('PROG' Rhomn)               ;
2511 :  tic.'Remn'  = tic.'Remn'  'ET' ('PROG' Remn)                ;
2512 : 
2513 : Sinon;
2514 : 
2515 : * Détermination de la masse volumique et de l'énergie interne moyenne
2516 : 
2517 :  Rhomn = MAXI (PROG (Rhomnm '+' (tic.'DT' '*' Qtot '/' VTotal )) 0.0);
2518 :  Remn  = MAXI (PROG (Remnm  '+' (tic.'DT' '*' dr '/' VTotal )  ) 0.0);
2519 : 
2520 :  tic.'Rhom'  = tic.'Rhom'  'ET' ('PROG' Rhomn)               ;
2521 :  tic.'Remn'  = tic.'Remn'  'ET' ('PROG' Remn)                ;
2522 : 
2523 : Finsi ;
2524 : *µµµµµµµµµµµµµ calcul Rhomn et Remn µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ
2525 : 
2526 : * Calcul de l'energie dans le mur au pas de temps N
2527 : * Il manque la partie convective !!!!
2528 :  'SI' TBT.'THERMP'                                           ;
2529 :  Hmur = Qcnm '*' TBT.'Lv'                                    ;
2530 :  Emurn = Emurnm '+' ( tic.'DT' '*' Hmur)                     ;
2531 :  tic.'Emur'  = tic.'Emur'  'ET' ('PROG' Emurn)               ;
2532 :  'FINSI'                                                     ;
2533 : 
2534 : * Calcul de la densité moyenne de vapeur au pas de temps N
2535 :  'SI' TBT.'VAPEUR'                                           ;
2536 :   'SI' TBT.'TRECOMB' ;
2537 :  QIN_H2O  = 'EXTR' RXT.'TIC'.'QIN_H2O'  ('DIME' RXT.'TIC'.'QIN_H2O')  ;
2538 :  QOUT_H2O = 'EXTR' RXT.'TIC'.'QOUT_H2O' ('DIME' RXT.'TIC'.'QOUT_H2O') ;
2539 : *FD 
2540 : *mess 'QIN_H2O - QOUT_H2O' (QIN_H2O - QOUT_H2O) ;
2541 : 
2542 :  Qovp=Qovp + QOUT_H2O - QIN_H2O  ;
2543 :   'FINSI' ;
2544 : *>2       Calcul Rhovgn Rhomvn -> tic.'Rhomvg' et tic.'Rhomv'
2545 : *>2 Rhovgn= MAXI (PROG (Rhovgnm '+'
2546 : *>2 (tic.'DT' '*' (Qovp '-' Qcnm '-' Qcm '+' Qasp)'/' VTotal)) 0.);
2547 : *>2 Rhomvn= Rhovgn - Rbrom                                      ;
2548 :  Rhovgn= MAXI (PROG (Rhovgnm '+'
2549 :   (tic.'DT' '*' (Qovp '-' Qcnm '+' Qasp - Qcm) '/' VTotal )) 0.0) ;
2550 :  Rhomvn= Rhovgn -  Rbrom                                     ;
2551 :  tic.'Rhomv' = tic.'Rhomv' 'ET' ('PROG' Rhomvn)              ;
2552 :  tic.'Rhomvg'= tic.'Rhomvg' 'ET' ('PROG' Rhovgn)             ;
2553 :  Mlq = (tic.'DT' '*' (Qcnm + Qlovp))                         ;
2554 : 
2555 :  'FINSI'                                                     ;
2556 : 
2557 :  'SI' TBT.'THE'                                              ;
2558 :  Rmhen= MAXI (PROG (Rmhenm '+' (tic.'DT' '*' Qohe '/' VTotal )) 0.0);
2559 :  tic.'Rhomhe' = tic.'Rhomhe' 'ET' ('PROG' Rmhen)             ;
2560 :  'FINSI'                                                     ;
2561 : 
2562 :  'SI' TBT.'TH2'                                              ;
2563 :   'SI' TBT.'TRECOMB' ;
2564 :  QIN_H2   = 'EXTR' RXT.'TIC'.'QIN_H2'   ('DIME' RXT.'TIC'.'QIN_H2' ) ;
2565 :  QOUT_H2  = 'EXTR' RXT.'TIC'.'QOUT_H2'  ('DIME' RXT.'TIC'.'QOUT_H2') ; 
2566 :  Qoh2=Qoh2 + QOUT_H2 - QIN_H2  ;
2567 : *FD 
2568 : mess 'QIN_H2 - QOUT_H2' QIN_H2 QOUT_H2 (QIN_H2 - QOUT_H2) ;
2569 :   'FINSI' ;
2570 : 
2571 :  Rmh2n= MAXI (PROG (Rmh2nm '+' (tic.'DT' '*' Qoh2 '/' VTotal )) 0.0) ;
2572 :  tic.'Rhomh2' = tic.'Rhomh2' 'ET' ('PROG' Rmh2n)             ;
2573 :  'FINSI'                                                     ;
2574 : 
2575 :  'SI' TBT.'TN2'                                              ;
2576 :   'SI' TBT.'TRECOMB' ;
2577 :  QIN_N2   = 'EXTR' RXT.'TIC'.'QIN_N2'   ('DIME' RXT.'TIC'.'QIN_N2' ) ;
2578 :  QOUT_N2  = 'EXTR' RXT.'TIC'.'QOUT_N2'  ('DIME' RXT.'TIC'.'QOUT_N2') ; 
2579 :  Qon2=Qon2 + QOUT_N2 - QIN_N2  ;
2580 : *FD 
2581 : *mess 'QIN_N2 - QOUT_N2' (QIN_N2 - QOUT_N2) ;
2582 : 
2583 :   'FINSI' ;
2584 : 
2585 :  Rmn2n= MAXI (PROG (Rmn2nm '+' (tic.'DT' '*' Qon2 '/' VTotal )) 0.0);
2586 :  tic.'Rhomn2' = tic.'Rhomn2' 'ET' ('PROG' Rmn2n)             ;
2587 :  'FINSI'                                                     ;
2588 : 
2589 :  'SI' TBT.'TO2'                                              ;
2590 :  'SI' TBT.'TRECOMB' ;
2591 :  QIN_O2   = 'EXTR' RXT.'TIC'.'QIN_O2'   ('DIME' RXT.'TIC'.'QIN_O2' ) ;
2592 :  QOUT_O2  = 'EXTR' RXT.'TIC'.'QOUT_O2'  ('DIME' RXT.'TIC'.'QOUT_O2') ; 
2593 :  Qoo2=Qoo2 + QOUT_O2 - QIN_O2  ;
2594 : *FD 
2595 : *mess 'QIN_O2 - QOUT_O2' (QIN_O2 - QOUT_O2) ;
2596 : 
2597 :  'FINSI' ;
2598 : 
2599 :  Rmo2n= MAXI (PROG (Rmo2nm '+' (tic.'DT' '*' Qoo2 '/' VTotal )) 0.0) ;
2600 :  tic.'Rhomo2' = tic.'Rhomo2' 'ET' ('PROG' Rmo2n)             ;
2601 :  'FINSI'                                                     ;
2602 : 
2603 :  'SI' TBT.'TCO'                                              ;
2604 :  Rmcon= MAXI (PROG (Rmconm '+' (tic.'DT' '*' Qoco '/' VTotal )) 0.0) ;
2605 :  tic.'Rhomco' = tic.'Rhomco' 'ET' ('PROG' Rmcon)             ;
2606 :  'FINSI'                                                     ;
2607 : 
2608 :  'SI' TBT.'TCO2'                                             ;
2609 :  Rmco2n=MAXI (PROG (Rmco2nm '+' (tic.'DT' '*' Qoco2 '/' VTotal )) 0.0);
2610 :  tic.'Rhomco2' = tic.'Rhomco2' 'ET' ('PROG' Rmco2n)          ;
2611 :  'FINSI'                                                     ;
2612 : 
2613 : *D'où la masse d'air totale
2614 : *Rmairn = Rhomn - Rhovgn - Rmhen - Rmh2n - Rmn2n -
2615 :  Rmairn = Rhomn - Rhomvn - Rmhen - Rmh2n - Rmn2n -
2616 :  Rmo2n -  Rmcon - Rmco2n                                     ;
2617 :  'SI' (Rmairn '<' 0.0) ;
2618 :     'MESS' 'Pb avec la masse d air 0D' ;
2619 :  'FINSI';
2620 :  tic.'Rhomair' = tic.'Rhomair' 'ET' ('PROG' Rmairn)          ;
2621 : *
2622 : *? d_ME            = tic.'DT' * (Easp + Hasp)                        ;
2623 : *? d_RhoE          = tic.'DT' * (Easp + Hasp) / Vtotal               ;
2624 : *
2625 : *µµµµµµµµ calcul de la Pression 0D au pas de temps N µµµµµµµµµµµµµµµµµµµ
2626 : * Si Cavité ouverte Pression nulle !
2627 :  Si TBT.'Tsortie'                                           ;
2628 :   Pt       = 0.                                             ;
2629 :   DPDT     = 0.                                             ;
2630 :  Sinon                                                      ;
2631 : * Calcul de la Pression 0D au pas de temps N
2632 : * Calcul du terme DPDT  0D au pas de temps N
2633 : * Estimation de la pression Pt au temps N
2634 : 
2635 :   Pt       = (Gamnm '-' 1.) '*' Remn                        ;
2636 : * mess 'Estimation de Pt =' Pt;
2637 :   DPDT     = (Pt '-' Ptnm) '/' (tic.'DT')                   ;
2638 :  Finsi                                                      ;
2639 :   tic.'dPdt' = tic.'dPdt' 'ET' ('PROG' DPDT)                ;
2640 : 
2641 : *µµµµµµµµ calcul de la Pression 0D au pas de temps N µµµµµµµµµµµµµµµµµµµ
2642 : *-----------------------------------------------------------------------
2643 : * Execution d'une eventuelle procedure PERSO
2644 :  Si TBT.'PERSO'                                                        ;
2645 :   'SI' ( TBT.'IMPR' >EG 2)                                             ;
2646 : mess '                             ***********************************';
2647 : mess '                             * Execution d une procédure PERSO *';
2648 : mess '                             *          '(rxt.'PRCPERSO')
2649 :      '                *';
2650 : mess '                             ***********************************';
2651 :   'FINSI'                                                              ;
2652 :  (TEXT (rxt.'PRCPERSO')) Tps rxt                                       ;
2653 :   'SI' ( TBT.'IMPR' >EG 2)                                             ;
2654 : mess '                             ***********************************';
2655 : mess '                             * Fin execution de la procédure   *';
2656 : mess '                             *          '(rxt.'PRCPERSO')
2657 :      '                *';
2658 : mess '                             ***********************************';
2659 :   'FINSI'                                                              ;
2660 :  Finsi                                                                 ;
2661 : 
2662 : *-----------------------------------------------------------------------
2663 : * RESOLUTION DE LA QDM
2664 : * Calcul du terme source de l'equation de QDM
2665 : * Ajout de la CLIM injection
2666 :                                                         
2667 :  tic.'DSRC'  =  ((-1.) '*' (srcs + src + src2 + src3) '/' VTotal) ;
2668 : 
2669 : ** contribution source densité des recombineurs ---
2670 :  'SI' (TBT.'TRECOMB') ;
2671 :  tic.'DSRC'  =  tic.'DSRC' '+' Srho0 ;
2672 :  'FINSI' ;
2673 : ** ------------------------------------------------
2674 : 
2675 :  rv         =  TBT.'RV'                                    ;
2676 : 
2677 :  gjo  matxx= 'KOPS' 'MATRIK'                               ;
2678 :   Si (TBT.'TTsortie')                                      ;
2679 :      NBR=dime rxt.'Sorties'                                ;
2680 :      ibr=index (rxt.'Sorties')                             ;
2681 :     Repeter BBRS NBR                                       ;
2682 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
2683 : *     mess ' Sorties CL pour QDM '   (ibr.&BBRS)            ;
2684 :      gjo=gjo et (Briches.'gj')                             ;
2685 : *     list gjo;
2686 :     FIN BBRS                                               ;
2687 :   FINSI                                                    ;
2688 :   Si (TBT.'TTbreche')                                      ;
2689 :      NBR=dime rxt.'Breches'                                ;
2690 :      ibr=index (rxt.'Breches')                             ;
2691 :     Repeter BBRS NBR                                       ;
2692 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
2693 : *    mess ' Breches CL pour QDM '   (ibr.&BBRS)            ;
2694 :      gjo=gjo et (Briches.'gj')                             ;
2695 :     FIN BBRS                                               ;
2696 :   FINSI                                                    ;
2697 :  Si (TBT.'Tbreche')                                        ;
2698 :  gjo= gjo et gj                                            ;
2699 :  Finsi                                                     ;
2700 :  Si (TBT.'Tbreche2')                                       ;
2701 :  gjo= gjo et gj2                                           ;
2702 :  Finsi                                                     ;
2703 :  Si (TBT.'Tbreche3')                                       ;
2704 :  gjo= gjo et gj3                                           ;
2705 :  Finsi                                                     ;
2706 : 
2707 : 'SI'((EGA TBT.'MODTURB' 'KEPSILON') et (EGA TBT.'FEF' 'EFM1'));
2708 : *---- Modèle K-Epsilon EFM1 --------------------------------
2709 : *mess 'Modèle K-Epsilon EFM1' ;
2710 :   Si (TBT.'TTsortie')                                      ;
2711 :      NBR=dime rxt.'Sorties'                                ;
2712 :      ibr=index (rxt.'Sorties')                             ;
2713 :     Repeter BBRS NBR                                       ;
2714 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
2715 : *    mess ' Sorties CL pour QDM'   (ibr.&BBRS)             ;
2716 :      gjs=Briches.'gj'                                      ;
2717 :  lcj=extr gjs 'COMP'                                       ;
2718 :  mdj=gjs 'PSCA' gjs lcj lcj                                ;
2719 :  gk=((0.05**2.)*mdj) nomc 'KN'                             ;
2720 :  gk=CHAN 'ATTRIBUT' gk 'NATURE' 'DISCRET'                  ;
2721 :  ge=((gk**1.5)/(GEO.'Dbreche')) nomc 'EN'                  ;
2722 :  gjo= gjo et gk                                            ;
2723 :  gjo= gjo et ge                                            ;
2724 :     FIN BBRS                                               ;
2725 :   FINSI                                                    ;
2726 :   Si (TBT.'TTbreche')                                      ;
2727 :      NBR=dime rxt.'Breches'                                ;
2728 :      ibr=index (rxt.'Breches')                             ;
2729 :     Repeter BBRS NBR                                       ;
2730 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
2731 : *    mess ' Breches CL pour QDM'   (ibr.&BBRS)             ;
2732 :      gjs=Briches.'gj'                                      ;
2733 :  lcj=extr gjs 'COMP'                                       ;
2734 :  mdj=gjs 'PSCA' gjs lcj lcj                                ;
2735 :  gk=((0.05**2.)*mdj) nomc 'KN'                             ;
2736 :  gk=CHAN 'ATTRIBUT' gk 'NATURE' 'DISCRET'                  ;
2737 :  ge=((gk**1.5)/(GEO.'Dbreche')) nomc 'EN'                  ;
2738 :  gjo= gjo et gk                                            ;
2739 :  gjo= gjo et ge                                            ;
2740 :     FIN BBRS                                               ;
2741 :   FINSI                                                    ;
2742 :  Si (TBT.'Tbreche')                                        ;
2743 :  lcj=extr gj 'COMP'                                        ;
2744 :  mdj=gj 'PSCA' gj lcj lcj                                  ;
2745 :  gk=((0.05**2.)*mdj) nomc 'KN'                             ;
2746 :  gk=CHAN 'ATTRIBUT' gk 'NATURE' 'DISCRET'                  ;
2747 :  ge=((gk**1.5)/(GEO.'Dbreche')) nomc 'EN'                  ;
2748 :  gjo= gjo et gk                                            ;
2749 :  gjo= gjo et ge                                            ;
2750 :  Finsi                                                     ;
2751 :  Si (TBT.'Tbreche2')                                       ;
2752 :  lcj=extr gj2 'COMP'                                       ;
2753 :  mdj=gj2 'PSCA' gj2 lcj lcj                                ;
2754 :  gk=((0.05**2.)*mdj) nomc 'KN'                             ;
2755 :  gk=CHAN 'ATTRIBUT' gk 'NATURE' 'DISCRET'                  ;
2756 :  ge=((gk**1.5)/(GEO.'Dbreche2')) nomc 'EN'                 ;
2757 :  gjo= gjo et gk                                            ;
2758 :  gjo= gjo et ge                                            ;
2759 :  Finsi                                                     ;
2760 :  Si (TBT.'Tbreche3')                                       ;
2761 :  lcj=extr gj3 'COMP'                                       ;
2762 :  mdj=gj3 'PSCA' gj3 lcj lcj                                ;
2763 :  gk=((0.05**2.)*mdj) nomc 'KN'                             ;
2764 :  gk=CHAN 'ATTRIBUT' gk 'NATURE' 'DISCRET'                  ;
2765 :  ge=((gk**1.5)/(GEO.'Dbreche3')) nomc 'EN'                 ;
2766 :  gjo= gjo et gk                                            ;
2767 :  gjo= gjo et ge                                            ;
2768 :  Finsi                                                     ;
2769 : 
2770 : *---- Modèle K-Epsilon EFM1 -- FIN -------------------------
2771 :  'FINSI'                                                   ;
2772 : 
2773 : Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
2774 :       ou TBT.'TTbreche' ou TBT.'TTsortie')                ;
2775 : rv.'CLIM'    = (rv.'CLIM'  '-' rv.'CLIM')  '+' gjo        ;
2776 : Finsi ;
2777 : 
2778 : ** contribution CL vitesse des recombineurs ---
2779 :  'SI' (TBT.'TRECOMB') ;
2780 :   'SI' ((TBT.'Tbreche') 'OU' (TBT.'Tbreche2') 'OU' (TBT.'Tbreche3')
2781 :       ou TBT.'TTbreche' ou TBT.'TTsortie')                ;
2782 :      rv.'CLIM'    = rv.'CLIM' '+' Urec0 ;
2783 :   'SINON' ;
2784 :      rv.'CLIM'    = (rv.'CLIM'  '-' rv.'CLIM')  '+' Urec0 ;
2785 :   'FINSI' ;
2786 :  'FINSI' ;
2787 : ** --------------------------------------------
2788 : 
2789 : 
2790 :  Rgp = tic.'Rgp' ;
2791 : 
2792 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
2793 :  'MESS' '==> RESOLUTION QDM'                               ;
2794 :  'FINSI'                                                   ;
2795 : 
2796 : *--- Actualisation de NU
2797 :  tic.'NU'  = (tic.'Mu' '/' Rhomnm)                         ;
2798 :  tic.'NUm' = somt (GEO.'Diag' * tic.'NU') / GEO.'VTotal'   ;
2799 : 
2800 : *--- On actualise YP (si Fonction de paroi)
2801 :  Si (TBT.'FPAROI');
2802 :  tic.'YP'=rxt.'YP';
2803 :  Finsi ;
2804 : 
2805 : *--- Actualisation de NUEFF
2806 : Si (Exist TBT 'MODTURB')                                   ;
2807 : 
2808 : *---- Modèle viscosité tourbillonnaire constante -----------
2809 :  Si ( Ega TBT.'MODTURB' 'NUTURB')                          ;
2810 :   tic.'NUEFF'=tic.'NU' + rxt.'NUT'                         ;
2811 :  Finsi                                                     ;
2812 : *---- Modèle viscosité tourbillonnaire constante -- FIN ----
2813 : 
2814 : *---- Modèle de longueur de mélange ------------------------
2815 :  Si ( Ega TBT.'MODTURB' 'LMEL')                            ;
2816 :   un    = tic.'UN'                                         ;
2817 :   P = PRODT UN $vtf                                        ;
2818 :   lm=TBT.'LMEL'                                            ;
2819 :   NUT= (lm*lm*(P**0.5))                                    ;
2820 : *Réalisabilité sur Nut
2821 :    Nu=tic.'NU'                                             ;
2822 :    a = 5000.*Nu                                            ;
2823 :    al=0.8 ; ala=al*a ; b=ala*((2.*(1.-al))**(-1.))         ;
2824 :    ik=masq Nut 'INFERIEUR' ala                             ;
2825 :    Nut=(ik*Nut)+( (1.-ik)*a*(Nut + b)*(inve (a + Nut + b)));
2826 :    Nutsnu=Nut*(inve Nu)                                    ;
2827 :   'SI' ( TBT.'IMPR' >EG 2)                                 ;
2828 :    MESS ' Mini Maxi Nut/Nu ' (mini Nutsnu) (maxi Nutsnu)   ;
2829 :   'FINSI'                                                  ;
2830 :    tic.'NUEFF'=NUT + tic.'NU'                              ;
2831 : 
2832 :  Finsi                                                     ;
2833 : *---- Modèle de longueur de mélange -- FIN -----------------
2834 : 
2835 : *---- Modèle K-Epsilon Implicite ---------------------------
2836 :  Si (( Ega TBT.'MODTURB' 'KEPSILON') et (non(EGA TBT.'FEF' 'EFM1')));
2837 : * Calcul KEPSILON
2838 : ************** Constantes du K epsilon ******
2839 : cnu=0.09;
2840 : c1=1.44;
2841 : c2=1.92;
2842 : sgk=1. ;
2843 : sge=1.3;
2844 : 
2845 :  Dg = doma $vtf 'XXDIAGSI' ;
2846 :  Lma=(somt Dg)**(1./(vale DIME));
2847 :  Lmi=(mini Dg)**((1.)/(vale DIME));
2848 :   un    = tic.'UN'                                         ;
2849 :   P = PRODT UN $vtf                                        ;
2850 : * P= PRODT UN $vtf m4 m5 ;
2851 : 
2852 :  Rrk=  TBT.'Rrk'                                           ;
2853 :  Rre=  TBT.'Rre'                                           ;
2854 : 
2855 :  En=tic.'EN'    ;
2856 :  Kn=tic.'KN'    ;
2857 : *Nut=Cnu * Kn * Kn * (inve En) ;
2858 :  Nut = (Lmi*Lma*(P**0.5)) ;
2859 : * Réalisabilité sur Nut
2860 : * Nut > 1.e-15
2861 :  ik=masq Nut 'SUPERIEUR' 1.e-15 ;
2862 :  Nut=(ik*Nut)+((1.-ik)*1.e-15);
2863 : * Nut P < En
2864 : *a= En * (inve P) * 0.133;
2865 :  a= En * (inve P) * 0.133;
2866 :  al=0.8; ala=al*a; b=ala*((2.*(1.-al))**(-1.));
2867 :  ik=masq Nut 'INFERIEUR' ala ;
2868 : *Nut=(ik*Nut)+( (1.-ik)*a*(Nut + b)*(inve (a + Nut + b)));
2869 : *Nut = kcht $vtf scal sommet Nut  ;
2870 :  mess 'mini maxi Nut ' (mini Nut ) (maxi Nut ) ;
2871 :  Sk=Nut * P - ((KN**1.5)*(1./Lma))  ;
2872 :  Kn         =  'KOPS' Kn  '|<' 1.e-5                       ;
2873 :  EsK= En * (inve Kn) ;
2874 :  Se=EsK*(Nut * P - (c2*En));
2875 :  tic.'Se'=Se;
2876 :  tic.'Sk'=Sk;
2877 : 
2878 : tic.'NUEFF'=NUT + tic.'NU'                               ;
2879 : *-- On traite l'injection comme une C.L. en température
2880 : cpv  matxx= 'KOPS' 'MATRIK' ;
2881 : Si (TBT.'Tbreche') ;
2882 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'KN'
2883 :                            Knj 'NATURE' 'DISCRET')        ;
2884 : Finsi ;
2885 : Si (TBT.'Tbreche2') ;
2886 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'KN'
2887 :                            Knj2 'NATURE' 'DISCRET')       ;
2888 : Finsi ;
2889 : Si (TBT.'Tbreche3') ;
2890 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'KN'
2891 :                            Knj3 'NATURE' 'DISCRET')       ;
2892 : Finsi ;
2893 : 
2894 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3'));
2895 :  Rrk.'CLIM' = cpv;
2896 :  Finsi ;
2897 : 
2898 : 
2899 :  Rrk.'METHINV'.'CALPREC' = calprec ;
2900 :  EXEC Rrk ;
2901 : *  Filtre  0 '<' Kn
2902 :  Kn         =  tic.'KN'                                    ;
2903 :  Kn         =  'KOPS' Kn  '|<' 1.e-5                       ;
2904 :  tic.'KN'   = Kn                                           ;
2905 : 
2906 : 
2907 : 
2908 : *-- On traite l'injection comme une C.L. en température
2909 : cpv  matxx= 'KOPS' 'MATRIK' ;
2910 : Si (TBT.'Tbreche') ;
2911 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'EN'
2912 :                            Enj 'NATURE' 'DISCRET')        ;
2913 : Finsi ;
2914 : Si (TBT.'Tbreche2') ;
2915 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'EN'
2916 :                            Enj2 'NATURE' 'DISCRET')       ;
2917 : Finsi ;
2918 : Si (TBT.'Tbreche3') ;
2919 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'EN'
2920 :                            Enj3 'NATURE' 'DISCRET')       ;
2921 : Finsi ;
2922 : 
2923 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
2924 :       ou TBT.'TTbreche' ou TBT.'TTsortie')                ;
2925 :  Rre.'CLIM' = cpv;
2926 :  Finsi ;
2927 : 
2928 : 
2929 :  Rre.'METHINV'.'CALPREC' = calprec ;
2930 :  EXEC Rre ;
2931 : *  Filtre  0 '<' En
2932 :  En         =  tic.'EN'                                    ;
2933 :  En         =  'KOPS' En  '|<' 1.e-15                      ;
2934 :  tic.'EN'   = En                                           ;
2935 : 
2936 : * Réalisabilité sur Nut
2937 :    Nut = cnu * Kn * Kn * (inve En) ;                       ;
2938 :    Nu= tic.'NU'                                             ;
2939 : mess 'Réalisabilité sur Nut';
2940 :    a = 1500.*Nu ; al=0.8 ; ala=al*a ; b=ala*((2.*(1.-al))**(-1.));
2941 :  tic.'ala'=ala ;
2942 :  tic.'nut'=nut ;
2943 :    ik=masq Nut 'INFERIEUR' ala ;
2944 :    Nut=(ik*Nut)+( (1.-ik)*a*(Nut + b)*(inve (a + Nut + b)));
2945 :    Nut = kcht $vtf scal sommet Nut ;
2946 :    Nutsnu=(1./Nu)*Nut;
2947 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
2948 :   MESS ' Mini Maxi Nut/Nu ' (mini Nutsnu) (maxi Nutsnu)    ;
2949 :  'FINSI'                                                   ;
2950 : 
2951 : tic.'NUEFF'=NUT + tic.'NU'                                 ;
2952 : 
2953 : 
2954 :  Finsi                                                     ;
2955 : *---- Modèle K-Epsilon Implicite -- FIN --------------------
2956 : 
2957 : *---- Modèle K-Epsilon EFM1 --------------------------------
2958 : 'SI'(( Ega TBT.'MODTURB' 'KEPSILON') et (EGA TBT.'FEF' 'EFM1'));
2959 :   tic.'NUEFF'=tic.'NUT' + tic.'NU'                         ;
2960 : *---- Modèle K-Epsilon EFM1 -- FIN -------------------------
2961 :  Finsi                                                     ;
2962 : 
2963 : Sinon                                                      ;
2964 : *---- Il n'y a pas de modèle de turbulence -----------------
2965 :   tic.'NUEFF'=tic.'NU'                                     ;
2966 : Finsi                                                      ;
2967 : 
2968 : *--- Actualisation de MUT
2969 :   tic.'MUT'   = (tic.'NUEFF'* Rhomnm)                        ;
2970 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2971 : 
2972 : *   Mess ' Avt EXEC RV tic.DT=' tic.'DT'                      ;
2973 : 
2974 :   rv.'METHINV'.'CALPREC' = calprec ;
2975 :   'SI' ('EXIS' rv 'PROJ') ;
2976 :     rv.'PROJ'.'METHINV'.'CALPREC' = calprec ;
2977 :   'FINSI' ;
2978 :   EXEC  rv                                                 ;
2979 : 
2980 : * Modif. FP 18/05/00
2981 : * Détermination des termes sources liés à la condensation en masse :
2982 : * ------------------------------------------------------------------
2983 : 
2984 : *---------------------------------------------------
2985 : * RESOLUTION DE LA DENSITE DE VAPEUR
2986 : * Affichage des masses totales vapeur AVANT et APRES
2987 : * Creation de la CLIM pour injection
2988 : 
2989 : 'SI' TBT.'VAPEUR'                                         ;
2990 :  Rrvap       =  TBT.'Rrvap'                               ;
2991 : 
2992 : *-- On traite l'injection comme une C.L. en densite
2993 : 
2994 : cpv  matxx= 'KOPS' 'MATRIK' ;
2995 :   Si (TBT.'TTsortie')                                     ;
2996 :      NBR=dime rxt.'Sorties'                               ;
2997 :      ibr=index (rxt.'Sorties')                            ;
2998 :     Repeter BBRS NBR                                      ;
2999 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                    ;
3000 : *    mess ' Sorties CL pour Vapeur '  (ibr.&BBRS)         ;
3001 :      brecheis = Briches.'srechei'                         ;
3002 : Si (NON Briches.'TTOUT')                                  ;
3003 : *     mess;
3004 : *     mess;
3005 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RVP'
3006 :              (Briches.'Rvapj') 'NATURE' 'DISCRET')        ;
3007 : *     mess ' CL SORTIE RVAP ';
3008 : *     list cpv;
3009 : Finsi                                                     ;                     
3010 :     FIN BBRS                                              ;
3011 :   FINSI                                                   ;
3012 :   Si (TBT.'TTbreche')                                     ;
3013 :      NBR=dime rxt.'Breches'                               ;
3014 :      ibr=index (rxt.'Breches')                            ;
3015 :     Repeter BBRS NBR                                      ;
3016 :      Briches=rxt.'Breches'.(ibr.&BBRS)                    ;
3017 : *    mess ' Breches CL pour Vapeur '  (ibr.&BBRS)         ;
3018 :      brecheis = Briches.'brechei'                         ;
3019 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RVP'
3020 :              (Briches.'Rvapj') 'NATURE' 'DISCRET')        ;
3021 :     FIN BBRS                                              ;
3022 :   FINSI                                                   ;
3023 : Si (TBT.'Tbreche') ;
3024 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'RVP'
3025 :                          Rvapj 'NATURE' 'DISCRET')        ;
3026 : Finsi ;
3027 : Si (TBT.'Tbreche2') ;
3028 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'RVP'
3029 :                         Rvapj2  'NATURE' 'DISCRET')       ;
3030 : Finsi ;
3031 : Si (TBT.'Tbreche3') ;
3032 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'RVP'
3033 :                         Rvapj3  'NATURE' 'DISCRET')       ;
3034 : Finsi ;
3035 : 
3036 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3037 :       ou TBT.'TTbreche' ou TBT.'TTsortie')                ;
3038 :  Rrvap.'CLIM' = cpv;
3039 :  Finsi ;                           
3040 : 
3041 :  'SI' TBT.'TRECOMB' ;
3042 :    cpvrec  matxx= 'KOPS' 'MATRIK' ;
3043 : 
3044 :    NBREC = 'DIME' rxt.'RECOMB' ;
3045 :    'REPETER' BCLREC NBREC ;
3046 :       NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
3047 :       SORTIEi = GEO.NAME ;
3048 :       NRECT = 'DIME' RXT.'TIC'.'RECOMB'.&BCLREC.'RH2OS' ;
3049 :       RH2Os  = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'RH2OS' NRECT ;
3050 :      
3051 :      cpvrec = cpvrec 'ET' ('MANU' 'CHPO' SORTIEi 1 'RVP'
3052 :                          RH2Os 'NATURE' 'DISCRET')        ;
3053 :    'FIN' BCLREC ;
3054 :    
3055 :   'SI' ((TBT.'Tbreche') 'OU' (TBT.'Tbreche2') 'OU' (TBT.'Tbreche3')
3056 :       ou TBT.'TTbreche' ou TBT.'TTsortie')                ;
3057 :      Rrvap.'CLIM'    = Rrvap.'CLIM' '+' cpvrec ;
3058 :   'SINON' ;
3059 :      Rrvap.'CLIM'    = cpvrec ;
3060 :   'FINSI' ;
3061 :  'FINSI' ;
3062 : 
3063 : 
3064 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
3065 :  'MESS' '==> RESOLUTION Rrvap'                             ;
3066 :  'FINSI'                                                   ;
3067 : 
3068 :   Rrvap.'METHINV'.'CALPREC' = calprec ;
3069 : 
3070 :   EXEC  Rrvap                                              ;
3071 : 
3072 : 'SINON'                                                    ;
3073 :  Rvp        = 0.                                           ;
3074 :  tic.'RVP'  = Rvp                                          ;
3075 : 'FINSI'                                                    ;
3076 : tic.'ROVP' = tic.'RVP'                                     ;
3077 : 
3078 : *------------------------------------------------
3079 : * RESOLUTION DE LA DENSITE HELIUM
3080 : *
3081 :  'SI' TBT.'THE'                                            ;
3082 :  Rrhe        =  TBT.'Rrhe'                                 ;
3083 : 
3084 : *-- On traite l'injection comme une C.L. en densite
3085 : cpv  matxx= 'KOPS' 'MATRIK' ;
3086 :   Si (TBT.'TTsortie')                                      ;
3087 :      NBR=dime rxt.'Sorties'                                ;
3088 :      ibr=index (rxt.'Sorties')                             ;
3089 :     Repeter BBRS NBR                                       ;
3090 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
3091 : *    mess ' Sorties CL pour HE '   (ibr.&BBRS)             ;
3092 :      brecheis = Briches.'brechei'                          ;
3093 : Si (NON Briches.'TTOUT')                                   ;
3094 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RHE'
3095 :              (Briches.'Rhej') 'NATURE' 'DISCRET')          ;
3096 : Finsi                                                      ;
3097 :     FIN BBRS                                               ;
3098 :   FINSI                                                    ;
3099 :   Si (TBT.'TTbreche')                                      ;
3100 :      NBR=dime rxt.'Breches'                                ;
3101 :      ibr=index (rxt.'Breches')                             ;
3102 :     Repeter BBRS NBR                                       ;
3103 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
3104 : *    mess ' Breches CL pour HE '   (ibr.&BBRS)             ;
3105 :      brecheis = Briches.'brechei'                          ;
3106 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RHE'
3107 :              (Briches.'Rhej') 'NATURE' 'DISCRET')          ;
3108 :     FIN BBRS                                               ;
3109 :   FINSI                                                    ;
3110 : Si (TBT.'Tbreche') ;
3111 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'RHE'
3112 :                          Rhej  'NATURE' 'DISCRET')         ;
3113 : Finsi ;
3114 : Si (TBT.'Tbreche2') ;
3115 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'RHE'
3116 :                         Rhej2  'NATURE' 'DISCRET')         ;
3117 : Finsi ;
3118 : Si (TBT.'Tbreche3') ;
3119 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'RHE'
3120 :                         Rhej3  'NATURE' 'DISCRET')         ;
3121 : Finsi ;
3122 : 
3123 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3124 :        ou TBT.'TTbreche' ou TBT.'TTsortie')                ;
3125 :  Rrhe.'CLIM' = cpv;
3126 :  Finsi ;
3127 : 
3128 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
3129 :  'MESS' '==> RESOLUTION Rrhe'                              ;
3130 :  'FINSI'                                                   ;
3131 : 
3132 :  Rrhe.'resmn'              = tic.'RHE' NOMC 'RHE'          ;
3133 : 
3134 :   Rrhe.'METHINV'.'CALPREC' = calprec ;
3135 :   EXEC  Rrhe                                               ;
3136 : 
3137 : 
3138 : *  Filtre  0 '<' Rhe
3139 :  rhe        =  tic.'RHE'                                   ;
3140 :  rhe        =  'KOPS' rhe '|<' 1.e-10                      ;
3141 :  rhe        =  'KOPS' rhe '>|' (maxi tic.'RHO')            ;
3142 : 'SINON'                                                    ;
3143 :  rhe        = 0.                                           ;
3144 : 'FINSI'                                                    ;
3145 : 
3146 : *------------------------------------------------
3147 : * RESOLUTION DE LA DENSITE HYDROGENE
3148 : *
3149 :  'SI' TBT.'TH2'                                            ;
3150 :  Rrh2        =  TBT.'Rrh2'                                 ;
3151 : 
3152 : *-- On traite l'injection comme une C.L. en densite
3153 : cpv  matxx= 'KOPS' 'MATRIK'                                ;
3154 :   Si (TBT.'TTsortie')                                      ;
3155 :      NBR=dime rxt.'Sorties'                                ;
3156 :      ibr=index (rxt.'Sorties')                             ;
3157 :     Repeter BBRS NBR                                       ;
3158 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
3159 : *    mess ' Sorties CL pour H2 '   (ibr.&BBRS)             ;
3160 :      brecheis = Briches.'brechei'                          ;
3161 : Si (NON Briches.'TTOUT')                                   ;
3162 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RH2'
3163 :              (Briches.'Rh2j') 'NATURE' 'DISCRET')          ;
3164 : Finsi                                                      ;
3165 :     FIN BBRS                                               ;
3166 :   FINSI                                                    ;
3167 :   Si (TBT.'TTbreche')                                      ;
3168 :      NBR=dime rxt.'Breches'                                ;
3169 :      ibr=index (rxt.'Breches')                             ;
3170 :     Repeter BBRS NBR                                       ;
3171 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
3172 : *    mess ' Breches CL pour H2 '   (ibr.&BBRS)             ;
3173 :      brecheis = Briches.'brechei'                          ;
3174 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RH2'
3175 :              (Briches.'Rh2j') 'NATURE' 'DISCRET')          ;
3176 :     FIN BBRS                                               ;
3177 :   FINSI                                                    ;
3178 : Si (TBT.'Tbreche')                                         ;
3179 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'RH2'
3180 :                            Rh2j 'NATURE' 'DISCRET')        ;
3181 : Finsi                                                      ;
3182 : Si (TBT.'Tbreche2')                                        ;
3183 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'RH2'
3184 :                        Rh2j2 'NATURE' 'DISCRET')           ;
3185 : Finsi                                                      ;
3186 : Si (TBT.'Tbreche3')                                        ;
3187 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'RH2'
3188 :                        Rh2j3 'NATURE' 'DISCRET')           ;
3189 : Finsi                                                      ;
3190 : 
3191 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3192 :        ou TBT.'TTbreche' ou TBT.'TTsortie');
3193 :  Rrh2.'CLIM' = cpv                                         ;
3194 :  Finsi                                                     ;
3195 : 
3196 :  'SI' TBT.'TRECOMB' ;
3197 :    cpvrec  matxx= 'KOPS' 'MATRIK' ;
3198 : 
3199 :    NBREC = 'DIME' rxt.'RECOMB' ;
3200 :    'REPETER' BCLREC NBREC ;
3201 :       NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
3202 :       SORTIEi = GEO.NAME ;
3203 :       NRECT = 'DIME' RXT.'TIC'.'RECOMB'.&BCLREC.'RH2S' ;
3204 :       RH2s  = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'RH2S' NRECT ;
3205 :      
3206 :      cpvrec = cpvrec 'ET' ('MANU' 'CHPO' SORTIEi 1 'RH2'
3207 :                          RH2s 'NATURE' 'DISCRET')        ;
3208 :    'FIN' BCLREC ;
3209 :    
3210 :   'SI' ((TBT.'Tbreche') 'OU' (TBT.'Tbreche2') 'OU' (TBT.'Tbreche3')
3211 :           ou TBT.'TTbreche' ou TBT.'TTsortie');
3212 :      Rrh2.'CLIM'    = Rrh2.'CLIM' '+' cpvrec ;
3213 :   'SINON' ;
3214 :      Rrh2.'CLIM'    = cpvrec ;
3215 :   'FINSI' ;
3216 :  'FINSI' ;
3217 : 
3218 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
3219 :  'MESS' '==> RESOLUTION Rrh2'                              ;
3220 :  'FINSI'                                                   ;
3221 : 
3222 :  Rrh2.'resmn'              = tic.'RH2' NOMC 'RH2'          ;
3223 : 
3224 :   Rrh2.'METHINV'.'CALPREC' = calprec ;
3225 :   EXEC  Rrh2                                               ;
3226 : 
3227 : *  Filtre  0 '<' Rh2
3228 :  rh2        =  tic.'RH2'                                   ;
3229 :  rh2        =  'KOPS' rh2 '|<' 1.e-10                      ;
3230 :  rh2        =  'KOPS' rh2 '>|' (maxi tic.'RHO')            ;
3231 : 'SINON'                                                    ;
3232 :  rh2        = 0.                                           ;
3233 : 'FINSI'                                                    ;
3234 : 
3235 : *------------------------------------------------
3236 : * RESOLUTION DE LA DENSITE OXYGENE
3237 : *
3238 :  'SI' TBT.'TO2'                                            ;
3239 :  Rro2        =  TBT.'Rro2'                                 ;
3240 : 
3241 : *-- On traite l'injection comme une C.L. en densite
3242 : 
3243 : cpv  matxx= 'KOPS' 'MATRIK'                                ;
3244 :   Si (TBT.'TTsortie')                                      ;
3245 :      NBR=dime rxt.'Sorties'                                ;
3246 :      ibr=index (rxt.'Sorties')                             ;
3247 :     Repeter BBRS NBR                                       ;
3248 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
3249 : *    mess ' Sorties CL pour O2 '   (ibr.&BBRS)             ;
3250 :      brecheis = Briches.'brechei'                          ;
3251 : Si (NON Briches.'TTOUT')                                   ;
3252 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RO2'
3253 :              (Briches.'Ro2j') 'NATURE' 'DISCRET')          ;
3254 : Finsi                                                      ;
3255 :     FIN BBRS                                               ;
3256 :   FINSI                                                    ;
3257 :   Si (TBT.'TTbreche')                                      ;
3258 :      NBR=dime rxt.'Breches'                                ;
3259 :      ibr=index (rxt.'Breches')                             ;
3260 :     Repeter BBRS NBR                                       ;
3261 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
3262 : *    mess ' Breches CL pour O2 '   (ibr.&BBRS)             ;
3263 :      brecheis = Briches.'brechei'                          ;
3264 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RO2'
3265 :              (Briches.'Ro2j') 'NATURE' 'DISCRET')          ;
3266 :     FIN BBRS                                               ;
3267 :   FINSI                                                    ;
3268 : Si (TBT.'Tbreche')                                         ;
3269 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'RO2'
3270 :                            Ro2j 'NATURE' 'DISCRET')        ;
3271 : Finsi                                                      ;
3272 : Si (TBT.'Tbreche2')                                        ;
3273 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'RO2'
3274 :                        Ro2j2 'NATURE' 'DISCRET')           ;
3275 : Finsi                                                      ;
3276 : Si (TBT.'Tbreche3')                                        ;
3277 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'RO2'
3278 :                        Ro2j3 'NATURE' 'DISCRET')           ;
3279 : Finsi                                                      ;
3280 : 
3281 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3282 :        ou TBT.'TTbreche' ou TBT.'TTsortie');
3283 :  Rro2.'CLIM' = cpv                                         ;
3284 :  Finsi                                                     ;
3285 : 
3286 :  'SI' TBT.'TRECOMB' ;
3287 :    cpvrec  matxx= 'KOPS' 'MATRIK' ;
3288 : 
3289 :    NBREC = 'DIME' rxt.'RECOMB' ;
3290 :    'REPETER' BCLREC NBREC ;
3291 :       NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
3292 :       SORTIEi = GEO.NAME ;
3293 :       NRECT = 'DIME' RXT.'TIC'.'RECOMB'.&BCLREC.'RO2S' ;
3294 :       RO2s  = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'RO2S' NRECT ;
3295 :      
3296 :      cpvrec = cpvrec 'ET' ('MANU' 'CHPO' SORTIEi 1 'RO2'
3297 :                          RO2s 'NATURE' 'DISCRET')        ;
3298 :    'FIN' BCLREC ;
3299 :    
3300 :   'SI' ((TBT.'Tbreche') 'OU' (TBT.'Tbreche2') 'OU' (TBT.'Tbreche3')
3301 :           ou TBT.'TTbreche' ou TBT.'TTsortie');
3302 :      Rro2.'CLIM'    = Rro2.'CLIM' '+' cpvrec ;
3303 :   'SINON' ;
3304 :      Rro2.'CLIM'    = cpvrec ;
3305 :   'FINSI' ;
3306 :  'FINSI' ;
3307 : 
3308 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
3309 :  'MESS' '==> RESOLUTION Rro2'                              ;
3310 :  'FINSI'                                                   ;
3311 : 
3312 :  Rro2.'resmn'              = tic.'RO2' NOMC 'RO2'          ;
3313 : 
3314 :   Rro2.'METHINV'.'CALPREC' = calprec ;
3315 :   EXEC  Rro2                                               ;
3316 : 
3317 : *  Filtre  0 '<' Ro2
3318 :  ro2        =  tic.'RO2'                                   ;
3319 :  ro2        =  'KOPS' ro2 '|<' 1.e-10                      ;
3320 :  ro2        =  'KOPS' ro2 '>|' (maxi tic.'RHO')            ;
3321 : 'SINON'                                                    ;
3322 :  ro2        = 0.                                           ;
3323 : 'FINSI'                                                    ;
3324 : 
3325 : *------------------------------------------------
3326 : * RESOLUTION DE LA DENSITE AZOTE
3327 : *
3328 :  'SI' TBT.'TN2'                                            ;
3329 :  Rrn2        =  TBT.'Rrn2'                                 ;
3330 : 
3331 : *-- On traite l'injection comme une C.L. en densite
3332 : 
3333 : cpv  matxx= 'KOPS' 'MATRIK'                                ;
3334 :   Si (TBT.'TTsortie')                                      ;
3335 :      NBR=dime rxt.'Sorties'                                ;
3336 :      ibr=index (rxt.'Sorties')                             ;
3337 :     Repeter BBRS NBR                                       ;
3338 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
3339 : *    mess ' Sorties CL pour N2 '   (ibr.&BBRS)             ;
3340 :      brecheis = Briches.'brechei'                          ;
3341 : Si (NON Briches.'TTOUT')                                   ;
3342 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RN2'
3343 :                (Briches.'Rn2j') 'NATURE' 'DISCRET')        ;
3344 : Finsi                                                      ;
3345 :     FIN BBRS                                               ;
3346 :   FINSI                                                    ;
3347 :   Si (TBT.'TTbreche')                                      ;
3348 :      NBR=dime rxt.'Breches'                                ;
3349 :      ibr=index (rxt.'Breches')                             ;
3350 :     Repeter BBRS NBR                                       ;
3351 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
3352 : *    mess ' Breches CL pour N2 '   (ibr.&BBRS)             ;
3353 :      brecheis = Briches.'brechei'                          ;
3354 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RN2'
3355 :                (Briches.'Rn2j') 'NATURE' 'DISCRET')        ;
3356 :     FIN BBRS                                               ;
3357 :   FINSI                                                    ;
3358 : Si (TBT.'Tbreche')                                         ;
3359 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'RN2'
3360 :                            Rn2j 'NATURE' 'DISCRET')        ;
3361 : Finsi                                                      ;
3362 : Si (TBT.'Tbreche2')                                        ;
3363 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'RN2'
3364 :                        Rn2j2 'NATURE' 'DISCRET')           ;
3365 : Finsi                                                      ;
3366 : Si (TBT.'Tbreche3')                                        ;
3367 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'RN2'
3368 :                        Rn2j3 'NATURE' 'DISCRET')           ;
3369 : Finsi                                                      ;
3370 : 
3371 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3372 :        ou TBT.'TTbreche' ou TBT.'TTsortie');
3373 :  Rrn2.'CLIM' = cpv                                         ;
3374 :  Finsi                                                     ;
3375 : 
3376 :  'SI' TBT.'TRECOMB' ;
3377 :    cpvrec  matxx= 'KOPS' 'MATRIK' ;
3378 : 
3379 :    NBREC = 'DIME' rxt.'RECOMB' ;
3380 :    'REPETER' BCLREC NBREC ;
3381 :       NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
3382 :       SORTIEi = GEO.NAME ;
3383 :       NRECT = 'DIME' RXT.'TIC'.'RECOMB'.&BCLREC.'RN2S' ;
3384 :       RN2s  = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'RN2S' NRECT ;
3385 :      
3386 :      cpvrec = cpvrec 'ET' ('MANU' 'CHPO' SORTIEi 1 'RN2'
3387 :                          RN2s 'NATURE' 'DISCRET')        ;
3388 :    'FIN' BCLREC ;
3389 :    
3390 :   'SI' ((TBT.'Tbreche') 'OU' (TBT.'Tbreche2') 'OU' (TBT.'Tbreche3')
3391 :           ou TBT.'TTbreche' ou TBT.'TTsortie') ;
3392 :      Rrn2.'CLIM'    = Rrn2.'CLIM' '+' cpvrec ;
3393 :   'SINON' ;
3394 :      Rrn2.'CLIM'    = cpvrec ;
3395 :   'FINSI' ;
3396 :  'FINSI' ;
3397 : 
3398 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
3399 :  'MESS' '==> RESOLUTION Rrn2'                              ;
3400 :  'FINSI'                                                   ;
3401 : 
3402 :  Rrn2.'resmn'              = tic.'RN2' NOMC 'RN2'          ;
3403 : 
3404 :   Rrn2.'METHINV'.'CALPREC' = calprec ;
3405 :   EXEC  Rrn2                                               ;
3406 : 
3407 : *  Filtre  0 '<' Rn2
3408 :  rn2        =  tic.'RN2'                                   ;
3409 :  rn2        =  'KOPS' rn2 '|<' 1.e-10                      ;
3410 :  rn2        =  'KOPS' rn2 '>|' (maxi tic.'RHO')            ;
3411 : 'SINON'                                                    ;
3412 :  rn2        = 0.                                           ;
3413 : 'FINSI'                                                    ;
3414 : 
3415 : *------------------------------------------------
3416 : * RESOLUTION DE LA DENSITE DIOXYDE DE CARBONE
3417 : *
3418 :  'SI' TBT.'TCO2'                                           ;
3419 :  Rrco2       =  TBT.'Rrco2'                                ;
3420 : 
3421 : *-- On traite l'injection comme une C.L. en densite
3422 : 
3423 : cpv  matxx= 'KOPS' 'MATRIK'                                ;
3424 :   Si (TBT.'TTsortie')                                      ;
3425 :      NBR=dime rxt.'Sorties'                                ;
3426 :      ibr=index (rxt.'Sorties')                             ;
3427 :     Repeter BBRS NBR                                       ;
3428 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
3429 : *    mess ' Sorties CL pour CO2 '   (ibr.&BBRS)            ;
3430 :      brecheis = Briches.'brechei'                          ;
3431 : Si (NON Briches.'TTOUT')                                   ;
3432 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RCO2'
3433 :                (Briches.'Rco2j') 'NATURE' 'DISCRET')       ;
3434 : Finsi                                                      ;
3435 :     FIN BBRS                                               ;
3436 :   FINSI                                                    ;
3437 :   Si (TBT.'TTbreche')                                      ;
3438 :      NBR=dime rxt.'Breches'                                ;
3439 :      ibr=index (rxt.'Breches')                             ;
3440 :     Repeter BBRS NBR                                       ;
3441 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
3442 : *    mess ' Breches CL pour CO2 '   (ibr.&BBRS)            ;
3443 :      brecheis = Briches.'brechei'                          ;
3444 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RCO2'
3445 :                (Briches.'Rco2j') 'NATURE' 'DISCRET')       ;
3446 :     FIN BBRS                                               ;
3447 :   FINSI                                                    ;
3448 : Si (TBT.'Tbreche')                                         ;
3449 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'RCO2'
3450 :                           Rco2j 'NATURE' 'DISCRET')        ;
3451 : Finsi                                                      ;
3452 : Si (TBT.'Tbreche2')                                        ;
3453 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'RCO2'
3454 :                        Rco2j2 'NATURE' 'DISCRET')          ;
3455 : Finsi                                                      ;
3456 : Si (TBT.'Tbreche3')                                        ;
3457 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'RCO2'
3458 :                        Rco2j3 'NATURE' 'DISCRET')          ;
3459 : Finsi                                                      ;
3460 : 
3461 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3462 :        ou TBT.'TTbreche' ou TBT.'TTsortie');
3463 :  Rrco2.'CLIM' = cpv                                        ;
3464 :  Finsi                                                     ;
3465 : 
3466 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
3467 :  'MESS' '==> RESOLUTION Rrco2'                             ;
3468 :  'FINSI'                                                   ;
3469 : 
3470 :  Rrco2.'resmn'              = tic.'RCO2' NOMC 'RCO2'       ;
3471 : 
3472 :   Rrco2.'METHINV'.'CALPREC' = calprec ;
3473 :   EXEC  Rrco2                                              ;
3474 : 
3475 : *  Filtre  0 '<' Rco2
3476 :  rco2        =  tic.'RCO2'                                 ;
3477 :  rco2        =  'KOPS' rco2 '|<' 1.e-10                    ;
3478 :  rco2        =  'KOPS' rco2 '>|' (maxi tic.'RHO')          ;
3479 : 'SINON'                                                    ;
3480 :  rco2       = 0.                                           ;
3481 : 'FINSI'                                                    ;
3482 : 
3483 : *------------------------------------------------
3484 : * RESOLUTION DE LA DENSITE D'AIR
3485 : *
3486 :  'SI' TBT.'TAIR'                                           ;
3487 :  Rrair       =  TBT.'Rrair'                                ;
3488 : 
3489 : *-- On traite l'injection comme une C.L. en densite
3490 : 
3491 : cpv  matxx= 'KOPS' 'MATRIK'                                ;
3492 :   Si (TBT.'TTsortie')                                      ;
3493 :      NBR=dime rxt.'Sorties'                                ;
3494 :      ibr=index (rxt.'Sorties')                             ;
3495 :     Repeter BBRS NBR                                       ;
3496 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
3497 : *    mess ' Sorties CL pour AIR '   (ibr.&BBRS)            ;
3498 :      brecheis = Briches.'brechei'                          ;
3499 : Si (NON Briches.'TTOUT')                                   ;
3500 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RAIR'
3501 :                (Briches.'Rairj') 'NATURE' 'DISCRET')       ;
3502 : Finsi                                                      ;
3503 :     FIN BBRS                                               ;
3504 :   FINSI                                                    ;
3505 :   Si (TBT.'TTbreche')                                      ;
3506 :      NBR=dime rxt.'Breches'                                ;
3507 :      ibr=index (rxt.'Breches')                             ;
3508 :     Repeter BBRS NBR                                       ;
3509 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
3510 : *    mess ' Breches CL pour AIR '   (ibr.&BBRS)            ;
3511 :      brecheis = Briches.'brechei'                          ;
3512 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RAIR'
3513 :                (Briches.'Rairj') 'NATURE' 'DISCRET')       ;
3514 :     FIN BBRS                                               ;
3515 :   FINSI                                                    ;
3516 : Si (TBT.'Tbreche')                                         ;
3517 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'RAIR'
3518 :                           Rairj 'NATURE' 'DISCRET')        ;
3519 : Finsi                                                      ;
3520 : Si (TBT.'Tbreche2')                                        ;
3521 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'RAIR'
3522 :                        Rairj2 'NATURE' 'DISCRET')          ;
3523 : Finsi                                                      ;
3524 : Si (TBT.'Tbreche3')                                        ;
3525 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'RAIR'
3526 :                        Rairj3 'NATURE' 'DISCRET')          ;
3527 : Finsi                                                      ;
3528 : 
3529 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3530 :        ou TBT.'TTbreche' ou TBT.'TTsortie');
3531 :  Rrair.'CLIM' = cpv                                        ;
3532 :  Finsi                                                     ;
3533 : 
3534 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
3535 :  'MESS' '==> RESOLUTION Rrair'                             ;
3536 :  'FINSI'                                                   ;
3537 : 
3538 :  Rrair.'resmn'              = tic.'RAIR' NOMC 'RAIR'       ;
3539 : 
3540 :   Rrair.'METHINV'.'CALPREC' = calprec ;
3541 :   EXEC  Rrair                                              ;
3542 : 
3543 : *  Filtre  0 '<' Rair
3544 :  rair        =  tic.'RAIR'                                 ;
3545 :  rair        =  'KOPS' rair '|<' 1.e-10                    ;
3546 :  rair        =  'KOPS' rair '>|' (maxi tic.'RHO')          ;
3547 : 'FINSI'                                                    ;
3548 : 
3549 : *------------------------------------------------
3550 : * RESOLUTION DE LA DENSITE MONOXYDE DE CARBONE
3551 : *
3552 :  'SI' TBT.'TCO'                                            ;
3553 :  Rrco        =  TBT.'Rrco'                                 ;
3554 : 
3555 : *-- On traite l'injection comme une C.L. en densite
3556 : 
3557 : cpv  matxx= 'KOPS' 'MATRIK'                                ;
3558 :   Si (TBT.'TTsortie')                                      ;
3559 :      NBR=dime rxt.'Sorties'                                ;
3560 :      ibr=index (rxt.'Sorties')                             ;
3561 :     Repeter BBRS NBR                                       ;
3562 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
3563 : *    mess ' Sorties CL pour CO '   (ibr.&BBRS)             ;
3564 :      brecheis = Briches.'brechei'                          ;
3565 : Si (NON Briches.'TTOUT')                                   ;
3566 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RCO'
3567 :                (Briches.'Rcoj') 'NATURE' 'DISCRET')        ;
3568 : Finsi                                                      ;
3569 :     FIN BBRS                                               ;
3570 :   FINSI                                                    ;
3571 :   Si (TBT.'TTbreche')                                      ;
3572 :      NBR=dime rxt.'Breches'                                ;
3573 :      ibr=index (rxt.'Breches')                             ;
3574 :     Repeter BBRS NBR                                       ;
3575 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
3576 : *    mess ' Breches CL pour CO '   (ibr.&BBRS)             ;
3577 :      brecheis = Briches.'brechei'                          ;
3578 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'RCO'
3579 :                (Briches.'Rcoj') 'NATURE' 'DISCRET')        ;
3580 :     FIN BBRS                                               ;
3581 :   FINSI                                                    ;
3582 : Si (TBT.'Tbreche')                                         ;
3583 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'RCO'
3584 :                           Rcoj  'NATURE' 'DISCRET')        ;
3585 : Finsi                                                      ;
3586 : Si (TBT.'Tbreche2')                                        ;
3587 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'RCO'
3588 :                        Rcoj2  'NATURE' 'DISCRET')          ;
3589 : Finsi                                                      ;
3590 : Si (TBT.'Tbreche3')                                        ;
3591 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'RCO'
3592 :                        Rcoj3  'NATURE' 'DISCRET')          ;
3593 : Finsi                                                      ;
3594 : 
3595 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3596 :        ou TBT.'TTbreche' ou TBT.'TTsortie');
3597 :  Rrco.'CLIM' = cpv                                         ;
3598 :  Finsi                                                     ;
3599 : 
3600 :  'SI' ( TBT.'IMPR' >EG 2)                                  ;
3601 :  'MESS' '==> RESOLUTION Rrco'                              ;
3602 :  'FINSI'                                                   ;
3603 : 
3604 :  Rrco.'resmn'              = tic.'RCO' NOMC 'RCO'          ;
3605 : 
3606 :   Rrco.'METHINV'.'CALPREC' = calprec ;
3607 :   EXEC  Rrco                                               ;
3608 : 
3609 : *  Filtre  0 '<' Rco
3610 :  rco        =  tic.'RCO'                                   ;
3611 :  rco        =  'KOPS' rco '|<' 1.e-10                      ;
3612 :  rco        =  'KOPS' rco '>|' (maxi tic.'RHO')            ;
3613 : 'SINON'                                                    ;
3614 :  rco        = 0.                                           ;
3615 : 'FINSI'                                                    ;
3616 : 
3617 : *------------------------------------------------
3618 : * RESOLUTION DE LA TEMPERATURE DU FLUIDE TF
3619 : * Definition des températures TBPW et TBP pour ECHI
3620 : *                             TBPW température paroi (THERMP)
3621 : * Definition des CLIM pour l'injection et ajout
3622 : * des CLIM pour température paroi imposée
3623 : * Le terme source STF est calcule avant (fin pas precedent)
3624 : 
3625 :  rtf        = TBT.'RTF'                                   ;
3626 : 
3627 : 'SI' TBT.'TPAROIF'                                        ;
3628 :      TBPW       = 'REDU' (tic.'TP') GEO.'paroif'          ;
3629 :      tic.'TBPW' = 'KCHT' GEO.'$paroif' 'SCAL' 'SOMMET' TBPW    ;
3630 :      TBFW       = 'REDU' (tic.'TF') GEO.'paroif'          ;
3631 :      tic.'TBFW' = 'KCHT' GEO.'$paroif' 'SCAL' 'SOMMET' TBFW    ;
3632 : 'FINSI'                                                   ;
3633 : 
3634 : *-- On traite l'injection comme une C.L. en température
3635 : cpv  matxx= 'KOPS' 'MATRIK' ;
3636 :   Si (TBT.'TTsortie')                                      ;
3637 :      NBR=dime rxt.'Sorties'                                ;
3638 :      ibr=index (rxt.'Sorties')                             ;
3639 :     Repeter BBRS NBR                                       ;
3640 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                     ;
3641 : *    mess ' Sorties CL pour T '   (ibr.&BBRS)              ;
3642 :      brecheis = Briches.'srechei'                          ;
3643 : Si (NON Briches.'TTOUT')                                   ;
3644 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'TF'
3645 :                  (Briches.'Tj') 'NATURE' 'DISCRET')        ;
3646 : Finsi                                                      ;
3647 :     FIN BBRS                                               ;
3648 :   FINSI                                                    ;
3649 :   Si (TBT.'TTbreche')                                      ;
3650 :      NBR=dime rxt.'Breches'                                ;
3651 :      ibr=index (rxt.'Breches')                             ;
3652 :     Repeter BBRS NBR                                       ;
3653 :      Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
3654 : *    mess ' Breches CL pour T '   (ibr.&BBRS)              ;
3655 :      brecheis = Briches.'brechei'                          ;
3656 :  cpv = cpv et ('MANU' 'CHPO' brecheis 1 'TF'
3657 :                  (Briches.'Tj') 'NATURE' 'DISCRET')        ;
3658 :     FIN BBRS                                               ;
3659 :   FINSI                                                    ;
3660 : Si (TBT.'Tbreche') ;
3661 :  cpv = cpv et ('MANU' 'CHPO' brechei 1 'TF'
3662 :                             Tj 'NATURE' 'DISCRET')        ;
3663 : Finsi ;
3664 : Si (TBT.'Tbreche2') ;
3665 :  cpv = cpv et ('MANU' 'CHPO' brech2i 1 'TF'
3666 :                             Tj2 'NATURE' 'DISCRET')       ;
3667 : Finsi ;
3668 : Si (TBT.'Tbreche3') ;
3669 :  cpv = cpv et ('MANU' 'CHPO' brech3i 1 'TF'
3670 :                             Tj3 'NATURE' 'DISCRET')       ;
3671 : Finsi ;
3672 : 
3673 :  Si ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
3674 :        ou TBT.'TTbreche' ou TBT.'TTsortie');
3675 :  rtf.'CLIM' = cpv;
3676 :  Finsi ;
3677 : 
3678 :  'SI' TBT.'TRECOMB' ;
3679 :    cpvrec  matxx= 'KOPS' 'MATRIK' ;
3680 : 
3681 :    NBREC = 'DIME' rxt.'RECOMB' ;
3682 :    'REPETER' BCLREC NBREC ;
3683 :       NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
3684 :       SORTIEi = GEO.NAME ;
3685 :       NRECT = 'DIME' RXT.'TIC'.'RECOMB'.&BCLREC.'Tout' ;
3686 :       RTS0  = 'EXTR' RXT.'TIC'.'RECOMB'.&BCLREC.'Tout' NRECT ;
3687 :      
3688 :      cpvrec = cpvrec 'ET' ('MANU' 'CHPO' SORTIEi 1 'TF'
3689 :                          RTS0 'NATURE' 'DISCRET')        ;
3690 :    'FIN' BCLREC ;
3691 :    
3692 :   'SI' ((TBT.'Tbreche') 'OU' (TBT.'Tbreche2') 'OU' (TBT.'Tbreche3')
3693 :           ou TBT.'TTbreche' ou TBT.'TTsortie') ;
3694 :      rtf.'CLIM'    = rtf.'CLIM' '+' cpvrec ;
3695 :   'SINON' ;
3696 :      rtf.'CLIM'    = cpvrec ;
3697 :   'FINSI' ;
3698 :  'FINSI' ;
3699 : 
3700 :  'SI' ( TBT.'IMPR' >EG 2)                                 ;
3701 :  'MESS' '==> RESOLUTION rtf '                             ;
3702 :  'FINSI'                                                  ;
3703 : 
3704 :   rtf.'METHINV'.'CALPREC' = calprec ;
3705 :                 
3706 :   EXEC  rtf                                               ;
3707 : 
3708 : *--------------------------------------------------------
3709 : * RESOLUTION DE LA TEMPERATURE PAROI TP
3710 : * Le terme SOURCE FHP1 est calulé dans la procédure CONDENS
3711 : 
3712 : 'SI' TBT.'THERMP'                                        ;
3713 :  'SI' ('NON' TBT.'THERCO')                               ;
3714 :     rtp        = TBT.'RTP'                               ;
3715 :   'SI' ( TBT.'IMPR' >EG 2)                               ;
3716 :   'MESS' '==> RESOLUTION rtp '                           ;
3717 :   'FINSI'                                                ;
3718 :     rtp.'METHINV'.'CALPREC' = calprec                    ;
3719 : 
3720 :   EXEC  rtp                                            ;
3721 : 
3722 :  'FINSI'                                                 ;
3723 :    Tp         = tic.'TP'                                 ;
3724 : 'FINSI'                                                  ;
3725 : 
3726 :  Tfgd = 1.E10 ;
3727 : * Filtre  Tfmini '<' Tf
3728 :  CHrtf1 = rtf.'CLIM'                                     ;
3729 :  MArtf1 = EXTR CHrtf1 'MAILLAGE'                         ;
3730 :  'SI' ( MArtf1 'EGA' 0 )                                 ;
3731 :    tfmi0 = Tfgd                                          ;
3732 :  'SINON'                                                 ;
3733 :    tfmi0 = mini rtf.'CLIM'                               ;
3734 :  'FINSI'                                                 ;
3735 :  'SI' TBT.'ASPER '                                       ;
3736 :    tfmiij= tdinj                                         ;
3737 :  'SINON'                                                 ;
3738 :    tfmiij= Tfgd                                          ;
3739 :  'FINSI'                                                 ;
3740 :  'SI' TBT.'THERMP'                                       ;
3741 :    tfmiw = mini tic.'TP'                                 ;
3742 :  'SINON'                                                 ;
3743 :    tfmiw = Tfgd                                          ;
3744 :  'FINSI'                                                 ;
3745 :  'SI' TBT.'TTIMP'                                        ;
3746 :    NBTIMP=dime (rxt.'TIMP')                              ;
3747 :    itimp=INDEX (rxt.'TIMP')                              ;
3748 :    ltfmi=prog                                            ;
3749 :   REPETER BBTIMP NBTIMP                                  ;
3750 : * mess 'BBTIMP 5 ';
3751 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
3752 :    ltfmi=ltfmi et (prog tic.(Btimp.'TBP1') )             ;
3753 :   FIN BBTIMP                                             ;
3754 :    tfmii = mini ltfmi                                    ;
3755 :  'SINON'                                                 ;
3756 :    tfmii = Tfgd                                          ;
3757 :  'FINSI'                                                 ;
3758 :  'SI' TBT.'TTIMP1'                                       ;
3759 :    tfmi1 = tic.'TBP1'                                    ;
3760 :  'SINON'                                                 ;
3761 :    tfmi1 = Tfgd                                          ;
3762 :  'FINSI'                                                 ;
3763 :  'SI' TBT.'TTIMP2'                                       ;
3764 :    tfmi2 = tic.'TBP2'                                    ;
3765 :  'SINON'                                                 ;
3766 :    tfmi2 = Tfgd                                          ;
3767 :  'FINSI'                                                 ;
3768 :  'SI' TBT.'TTIMP3'                                       ;
3769 :    tfmi3 = tic.'TBP3'                                    ;
3770 :  'SINON'                                                 ;
3771 :    tfmi3 = Tfgd                                          ;
3772 :  'FINSI'                                                 ;
3773 :  'SI' TBT.'TECHANP'                                      ;
3774 :    tfmi4 = 'MINI' tic.'TBP0'                             ;
3775 :  'SINON'                                                 ;
3776 :    tfmi4 = Tfgd                                          ;
3777 :  'FINSI'                                                 ;
3778 :  Tfmi = MINI (PROG tfmi0 tfmiw tfmii
3779 :   tfmi1 tfmi2 tfmi3 tfmi4 tfmiij
3780 :              (rxt.'TF0'));
3781 :  Tf         = tic.'TF'                                   ;
3782 :  Tf         = 'KOPS' Tf  '|<' tfmi                       ;
3783 :  Tf         = 'KOPS' Tf  '|<' (maxi (prog tfmi 0.))      ;
3784 :  tic.'TF'   = Tf                                         ;
3785 : 
3786 : *list
3787 : * (PROG tfmi0 tfmiw tfmii
3788 : *  tfmi1 tfmi2 tfmi3 tfmi4 tfmiij
3789 : *             (rxt.'TF0'));
3790 : * mess 'Tf est bornée inférieurement par tfmi=' tfmi;
3791 : * mess 'Tf est bornée inférieurement par tfmi=' tfmi;
3792 : * mess 'Tf est bornée inférieurement par tfmi=' tfmi;
3793 : 
3794 : * Tf est bornée inférieurement par la température minimale
3795 : * physique
3796 : 
3797 : 'SI' TBT.'ASPER '                                        ;
3798 : *** RVN ***   Velocita gocce
3799 :    rvn       =  TBT.'RVN'                                ;
3800 :    rvn.'CLIM'  = (rvn.'CLIM' '-' rvn.'CLIM') '+' vnj     ;
3801 :     rvn.'METHINV'.'CALPREC' = calprec                    ;
3802 :     EXEC  rvn                                            ;
3803 : 
3804 : *** RXD ***   Frazione volume fase dispersa
3805 :    rxd       =  TBT.'RXD'                                ;
3806 :    rxd.'CLIM'  = (rxd.'CLIM' '-' rxd.'CLIM') '+' xdj     ;
3807 :     rxd.'METHINV'.'CALPREC' = calprec                    ;
3808 :     EXEC  rxd                                            ;
3809 :    tic.'XD'  =  'KOPS' (tic.'XD') '|<' 1.e-10            ;
3810 : 
3811 : *** RTD ***   Temperature fase dispersa
3812 :    rtd       =  TBT.'RTD'                                ;
3813 :    rtd.'CLIM'  = (rtd.'CLIM' '-' rtd.'CLIM') '+' tdj     ;
3814 :     rtd.'METHINV'.'CALPREC' = calprec                    ;
3815 :     EXEC  rtd                                            ;
3816 : 
3817 : *** RDD ***   Diametro fase dispersa
3818 :    rdd       =  TBT.'RDD'                                ;
3819 :    rdd.'CLIM'  = (rdd.'CLIM' '-' rdd.'CLIM') '+' ddj     ;
3820 :     rdd.'METHINV'.'CALPREC' = calprec                    ;
3821 :     EXEC  rdd                                            ;
3822 :    tic.'DD'  =  'KOPS' (tic.'DD') '|<' 1.e-10            ;
3823 : 
3824 : 'FINSI'                                                  ;
3825 : 
3826 : **** Fin EDP **********************
3827 : 
3828 : **tc mise en commentaire du finsi suivant pas de SI
3829 : **  correspondant
3830 : ***'FINSI'                                                  ;
3831 : 
3832 : *------------------------------------------------------------
3833 : *>7 MISE EN PLACE DES CONTRAINTES POUR LES BILANS 0D
3834 : *>7 Contraintes sur :
3835 : *>7   - la masse totale
3836 : *>7   - l'énergie et donc la température
3837 : *>7   - les masses des differents constituants incondensables
3838 : *>7   - la masse de vapeur d'eau
3839 : *
3840 : *------------------------------------------------------------
3841 : 'SI' TBT.'VAPEUR'                                        ;
3842 : Si (exist tic 'RAIR');
3843 : Mvp=somt (diag*tic.'RVP');
3844 : Mair=somt (diag*tic.'RAIR'); 
3845 : finsi;
3846 : 
3847 : dRhov    rvp Rhomvnt =  CORMASSE 'RVP' Rhovgn 'Mdrvap'   ;
3848 : Mvp=somt (diag*tic.'RVP');
3849 : Mdrov= drhov*Vtotal;
3850 : 'FINSI'                                                  ;
3851 : *>7 D'où RVP
3852 : 
3853 : *------------------------------------------------------------
3854 : 'SI' TBT.'THE'                                            ;
3855 : dRhohe    rhe Rhomhet =  CORMASSE 'RHE' Rmhen 'Mdrhe'     ;
3856 : 'FINSI'                                                   ;
3857 : 
3858 : *--------------------------------------------------------
3859 : 'SI' TBT.'TH2'                                            ;
3860 : dRhoh2    rh2 Rhomh2t =  CORMASSE 'RH2' Rmh2n 'Mdrh2'     ;
3861 : 'FINSI'                                                   ;
3862 : 
3863 : *--------------------------------------------------------
3864 : 'SI' TBT.'TO2'                                            ;
3865 : dRhoo2    ro2 Rhomo2t =  CORMASSE 'RO2' Rmo2n 'Mdro2'     ;
3866 : 'FINSI'                                                   ;
3867 : 
3868 : *---------------------------------------------------------
3869 : 'SI' TBT.'TN2'                                            ;
3870 : dRhon2    rn2 Rhomn2t =  CORMASSE 'RN2' Rmn2n 'Mdrn2'     ;
3871 : 'FINSI'                                                   ;
3872 : 
3873 : *---------------------------------------------------------
3874 : 'SI' TBT.'TCO'                                            ;
3875 : dRhoco    rco Rhomcot =  CORMASSE 'RCO' Rmcon 'Mdrco'     ;
3876 : 'FINSI'                                                   ;
3877 : 
3878 : *---------------------------------------------------------
3879 : 'SI' TBT.'TCO2'                                           ;
3880 : dRhoco2    rco2 Rhomco2t =  CORMASSE 'RCO2' Rmco2n 'Mdrco2';
3881 : 'FINSI'                                                   ;
3882 : 
3883 : *---------------------------------------------------------
3884 : *µµµµµµµµ Calcul de la Densité au pas de temps N µµµµµµµµµµµµµµµµµµµµµµµ
3885 : * Si Cavité ouverte Pression nulle !
3886 :  Si TBT.'Tsortie'                                        ;
3887 :  Pt = 0.                                                 ;
3888 :  tic.'PT' = tic.'PT' 'ET' ('PROG' Pt)                    ;
3889 :  rho = Rhom                                              ;
3890 :  Sinon                                                   ;
3891 : * Calcul de la pression 0D avec le champ Tf actualise
3892 : 
3893 :  irtf = 'INVE' (rgp '*' (tic.'TF' '+' 273.15))           ;
3894 :  Pt = ((Rhomn-Rbrom) '*' Vtotal) '/' ('SOMT' (Diag '*' irtf));
3895 : *mess ' Rhomn= ' Rhomn ' Pression : Pt = ' Pt ;
3896 : 
3897 : * Calcul de la Densité au pas de temps N
3898 : 
3899 :   Si((EGA TBT.'VERSION' 0) ou (NON (TBT.'VAPEUR')))        ;                    
3900 : 
3901 :    Mess ' Version V0 ==> Loi d état gaz parfait pour la vapeur ';
3902 :    rho = Pt '*' ('INVE' (Rgp '*' (Tf '+' 273.15)))         ;
3903 :    rhot = Pt '*' ('INVE' (Rgp '*' (Tf '+' 273.15)))        ;
3904 :    tic.'PT' = tic.'PT' 'ET' ('PROG' Pt)                    ;
3905 :    Rebro = 0.                                              ;
3906 :    Mliq  = 0.                                              ;
3907 :    Mlq   = 0.                                              ;
3908 :   Sinon                                                    ;
3909 : *-----------------------------------------------------------------------
3910 : *  Mess ' Version V1 ==> Loi d état gaz réel pour la vapeur ';
3911 : 
3912 : 
3913 :  Si (NON (EXIST tic 'RAIR'))                               ;
3914 :  Rho  = tic.'RHO'                                          ;
3915 :  Rair = tic.'YAIR' * tic.'RHO'                             ;
3916 :  tic.'RAIR' = Rair                                         ;
3917 :  Finsi                                                     ;
3918 :  Rbro = tic.'RBRO'                                         ;
3919 :  Rair = tic.'RAIR'                                         ;
3920 :  Rhot = Rair + Rvp + Rhe + Rh2 + Ro2 + Rn2 + Rco2 + Rco - Rbro;
3921 : 
3922 :   Qcm Pt yvap cpvap Rhot Mliq Rebro
3923 :   = RETSAT tic ndl $vtf TBT 0.1 1.e-4 Rhot Tfmi Cvmnm      ;
3924 : 
3925 :  Mair   = somt (Diag*tic.'RAIR')                           ;
3926 :  Rmairn = Mair/Vtotal                                      ;
3927 : 
3928 :  tic.'PT' = tic.'PT' 'ET' ('PROG' Pt)                      ;
3929 : 
3930 :  Mlq = Mlq + Mliq                                          ;
3931 : 
3932 : 
3933 : *.......................................................................
3934 :  Rbro  = tic.'RBRO'                                   ;
3935 : *Rovp  = tic.'RVP' - tic.'RBRO'                       ;
3936 :  Tf    = tic.'TF'                                     ;
3937 : 
3938 : * Fin traitement Gaz réel version V1
3939 :   Finsi                                                    ;
3940 : 
3941 :  Mlq = Mlq + (extr (dime tic.'Mliqpuis') tic.'Mliqpuis')   ;
3942 :  tic.'Mliqpuis'= tic.'Mliqpuis' 'ET' ('PROG' Mlq)          ;
3943 : 
3944 : * Fin traitement enceinte fermée 
3945 :  Finsi ;
3946 : *µµµµµµµµ Calcul de la Densité au pas de temps N µµµµµµµµµµµµµµµµµµµµµµµ
3947 :  rho = 'KCHT' $vtf 'SCAL' 'SOMMET' rhot                  ;
3948 :  Rhomnt  = ('SOMT' (Diag '*' rho)) + (Rbrom*Vtotal)      ;
3949 : *mess ' Rhomn=' Rhomn '  Rhomnt=' Rhomn;
3950 : *-----------------------------
3951 :   dRho    = ((Rhomn '*' VTotal) '-' Rhomnt )  '/' Vtotal ;
3952 :   tic.'drho' = tic.'drho' 'ET' ( 'PROG' dRho )           ;
3953 : 
3954 : *---------- Recalcul pour bilan nul
3955 :   drot=rho - rhot;
3956 :   rho     = 'KCHT' $vtf 'SCAL' 'SOMMET' (rho '+' dRho)   ;
3957 :   rhot    = 'KCHT' $vtf 'SCAL' 'SOMMET'  rho             ;
3958 : 
3959 :   tic.'RHO' = rho                                        ;
3960 :   Rhomnt  = 'SOMT' (Diag '*' rho)                        ;
3961 :   dRho    = dRho '*' Vtotal                              ;
3962 : 
3963 : *---------------------------------------------------------
3964 : * On corrige l'air apres le calcul de la masse total car
3965 : * dans le cas où on ne transporte pas l'air on en a besoin !!
3966 : 'SI'((NON TBT.'TAIR') et (TBT.'VERSION' < 1))              ;
3967 : * On calcule la masse d'air
3968 : *mess 'Rho ' (type Rho) 'Rvp ' (type Rvp) 'rhe ' (type rhe);
3969 : *mess 'rh2 ' (type rh2) 'ro2 ' (type ro2) 'rco2 ' (type rco2);
3970 : *mess 'rco ' (type rco) ;
3971 :  Rair  =  Rho - Rvp - Rhe - Rh2 - Ro2 - Rn2 - Rco2 - Rco   ;
3972 :  tic.'RAIR' = Rair                                         ;
3973 : 'SINON'                                                    ;
3974 :  Rair       =  tic.'RAIR'                                  ;
3975 : 'FINSI'                                                    ;
3976 : 
3977 : dRhoair    rair Rhomairt =  CORMASSE 'RAIR' Rmairn 'Mdrair';
3978 :         
3979 : *---------------------------------------------------------
3980 : * Correction de la température pour vérifier l'énergie
3981 : * ATTENTION : Cv n'est pas reactualise pour l'instant
3982 : * N
3983 : *mess 'Cvmnm=' cvmnm  'mini maxi Tf ' (mini tf) (maxi tf) ;
3984 : *mess 'mini maxi rho ' (mini rho) (maxi rho) ;
3985 : 
3986 :   Remnt = Cvmnm '*' ( 'SOMT' (Diag '*' rho '*'
3987 :                        (Tf '+' 273.15)) )                ;
3988 : 
3989 : * On rajoute à l'énergie du mélange l'énergie du Brouillard
3990 : * Si il y en a
3991 :   Remnt = Remnt - rebro                                  ;
3992 : 
3993 :   dE = (Remn '*' Vtotal) '-' Remnt                       ;
3994 : 
3995 : *MESS '==> Erreur Energie = ' dE ' Joules'               ;
3996 : 
3997 :   Cvmn=Cvmnm                                             ;
3998 :   IndE = rho '*' Cvmn '*' (Tf '+' 273.15) '*' Diag
3999 :                             '/' Remnt                    ;
4000 :   dE = IndE '*' dE                                       ;
4001 : 
4002 :   dTf= ('INVE' (Diag '*' rho)) '*' (dE '/' Cvmn)         ;
4003 :   dTf = 'KCHT' $vtf 'SCAL' 'SOMMET' dTf                  ;
4004 : 
4005 : Si (NON (TBT.'CORTEMP'))                                 ;
4006 : *mess ' On supprime la correction sur Tf' ;
4007 :  dTf = 'KCHT' $vtf 'SCAL' 'SOMMET' 0. ;
4008 : FINsi ;
4009 : 
4010 : * mess '%$$ dtf ' (mini dtf) (maxi dtf) ;
4011 :   Tf = 'KCHT' $vtf 'SCAL' 'SOMMET' (Tf '+' dTf)          ;
4012 :   Tf = KOPS Tf '|<' Tfmi                                 ;
4013 :   tic.'TF'  = Tf                                         ;
4014 :   tic.'MdTf' = tic.'MdTf' 'ET' ( 'PROG' ('MAXI' dTf) )   ;
4015 :   tic.'mdTf' = tic.'mdTf' 'ET' ( 'PROG' ('MINI' dTf) )   ;
4016 : 
4017 : *'MESS' '==>>> Mini dTf = ' ('MINI' dTf) ' Maxi dTf '
4018 : *                 ( 'MAXI' dTf)                          ;
4019 : 
4020 : *--- Recalcul pour bilan nul
4021 :   Remnt = Cvmn '*' ( 'SOMT' (Diag '*' rho '*' 
4022 :                 (Tf '+' 273.15)) ) '/' Vtotal            ;
4023 :   dE = 'SOMT' ( Diag '*' dE  ) '/' VTotal                ;
4024 :   dTf= dE '/' Cvmn '/' ('SOMT'(Diag '*' rho) )          ;
4025 : 
4026 : *---------------------------------------------------------
4027 : **** Test sur la conservation energie dans le mur
4028 : 
4029 : 'SI' (TBT.'THERMP' et (NON (TBT.'TPAROIS')))             ;
4030 :  Diagp1 = 'DOMA' $vtp 'VOLUME'                           ;
4031 :  Vtotalp1 = 'SOMT' Diagp1                                ;
4032 :  tp01 = 'NOEL' $vtp Tp                                   ;
4033 :  Emurm = ( 'SOMT' (tic.'ROCP' '*' Diagp1 '*'
4034 :                     (tp01 '+' 273.15 ) ) )
4035 :                      '/' Vtotalp1                        ;
4036 :  tic.'TP'  = Tp                                          ;
4037 : 'FINSI'                                                  ;
4038 : 'SI' TBT.'TPAROIS'                                       ;              Emurm
4039 :    NPAR=dime rxt.'PAROIS'                                ;
4040 :    ipr=index (rxt.'PAROIS')                              ;
4041 :    ROCP=0.                                               ;
4042 :    Repeter BPRS NPAR                                     ;
4043 :      Parois=rxt.'PAROIS'.(ipr.&BPRS)                     ;
4044 :      Diagpi = GEO.(ipr.&BPRS).'Diagp'                    ;
4045 :      CROCP=chai 'ROCP' &BPRS                             ;
4046 :      Rocpi=tic.CROCP                                     ;
4047 :      ROCP=ROCP + (Rocpi * Diagpi)                        ;
4048 :    FIN BPRS                                              ;
4049 :    Diagp=GEO.'Diagp'                                     ;
4050 :    ROCP=ROCP*(INVE Diagp)                                ;
4051 :    Vtotalp  = 'SOMT' Diagp                               ;
4052 :  Emurm = ( 'SOMT' (ROCP '*' Diagp '*' (tp '+' 273.15 )))
4053 :                      '/' Vtotalp                         ;
4054 :  tic.'TP'  = Tp                                          ;
4055 : 'FINSI'                                                  ;
4056 : 
4057 : *---------------------------------------------------------                      
4058 : * Calcul de la Température moyenne fluide
4059 : 
4060 :   Tfm= (Remn '*' Vtotal)
4061 :      / ('SOMT' (Diag '*' (tic.'RHO') * Cvmn))            ;
4062 :   Tfm=Tfm - 273.15                                       ;
4063 :   Tfm = maxi (prog Tfm Tfmi)                             ;
4064 : 
4065 :   tic.'Tfm'= tic.'Tfm' 'ET' ('PROG' Tfm)                 ;
4066 : 
4067 : *---------------------------------------------------------
4068 : * Calcul de la Température moyenne paroi
4069 : 
4070 : 'SI' TBT.'THERMP'                                        ;
4071 :   Tpm= 'SOMT' (GEO.'Diagp' '*' Tp) '/' GEO.'VTotalp'     ;
4072 :   tic.'Tpm'= tic.'Tpm' 'ET' ('PROG' Tpm)                 ;
4073 : 'FINSI'                                                  ;
4074 : 
4075 : *---------------------------------------------------------
4076 : **** Actualisation des proprietes physiques **************
4077 : **** Calcul de la pression *******************************
4078 : **** et avancement en temps ******************************
4079 : 
4080 : * Calcul Cp (Tfm)
4081 : Cph2 Cphe Cpo2 Cpn2 Cpco2 Cpco Cpair = CALCP Tfm         ;
4082 : * CALCP on est en fin de boucle
4083 : 
4084 : * Calcul Mu (Tkm)
4085 : Tkm=Tfm '+' 273.15                                       ;
4086 : Muh2 Muhe Muo2 Mun2 Muco2 Muco Muvap Muair = CALMU Tkm   ;
4087 : 
4088 : 
4089 : *Dans ces conditions la masse totale est
4090 : * Ceci en vue de calculer des fractions massiques
4091 : * dont la somme vaut 1 qqst x
4092 : * 0<= Yi <= 1 parceque  les rair Rvp etc sont >0
4093 : * Rhot diffère de Rho dans sa distribution mais
4094 : * l'intégrale doit être la même
4095 :   
4096 : Si (TBT.'VERSION' '<' 1)                                 ;
4097 : Cpvap = TBT.'Cpvap'                                      ;
4098 : Rhot=rair + Rvp + rhe + rh2 + ro2 + rn2 + rco + rco2     ;
4099 : Finsi ;
4100 : * Sinon Rhot est donné par RETSAT (un peu plus haut)
4101 : 
4102 : ermas=somt ((Rho - Rhot)*Diag)                           ;
4103 : 
4104 :  'SI' ( TBT.'IMPR' >EG 2)                                ;
4105 :    MESS 'ERMAS=' ermas                                   ;
4106 :  'FINSI'                                                 ;
4107 : 
4108 : * Calcul fraction massique eau
4109 : 'SI' TBT.'VAPEUR'                                        ;
4110 :   Yvap =  'KOPS' Rvp '/' Rhot                            ;
4111 : 'SINON'                                                  ;
4112 :   Yvap = 0.                                              ;
4113 : 'FINSI'                                                  ;
4114 :   tic.'YVAP'= Yvap                                       ;
4115 : 
4116 : * Calcul fraction massique de He
4117 : 'SI' TBT.'THE'                                           ;
4118 :   Yhe  =  'KOPS' rhe '/' Rhot                            ;
4119 : 'SINON'                                                  ;
4120 :   Yhe  = 0.                                              ;
4121 : 'FINSI'                                                  ;
4122 :   tic.'YHE'= Yhe                                         ;
4123 : 
4124 : * Calcul fraction massique de H2
4125 : 'SI' TBT.'TH2'                                           ;
4126 :   Yh2  =  'KOPS' rh2 '/' Rhot                            ;
4127 : 'SINON'                                                  ;
4128 :   Yh2  = 0.                                              ;
4129 : 'FINSI'                                                  ;
4130 :   tic.'YH2'= Yh2                                         ;
4131 : 
4132 : * Calcul fraction massique de O2
4133 : 'SI' TBT.'TO2'                                           ;
4134 :   YO2  =  'KOPS' ro2 '/' Rhot                            ;
4135 : 'SINON'                                                  ;
4136 :   Yo2  = 0.                                              ;
4137 : 'FINSI'                                                  ;
4138 :   tic.'YO2'= Yo2                                         ;
4139 : 
4140 : * Calcul fraction massique de N2
4141 : 'SI' TBT.'TN2'                                           ;
4142 :   YN2  =  'KOPS' rn2 '/' Rhot                            ;
4143 : 'SINON'                                                  ;
4144 :   Yn2  = 0.                                              ;
4145 : 'FINSI'                                                  ;
4146 :   tic.'YN2'= Yn2                                         ;
4147 : 
4148 : * Calcul fraction massique de CO2
4149 : 'SI' TBT.'TCO2'                                          ;
4150 :   YCO2  =  'KOPS' rco2 '/' Rhot                          ;
4151 : 'SINON'                                                  ;
4152 :   Yco2  = 0.                                             ;
4153 : 'FINSI'                                                  ;
4154 :   tic.'YCO2'= Yco2                                       ;
4155 : 
4156 : * Calcul fraction massique de CO
4157 : 'SI' TBT.'TCO'                                           ;
4158 :   YCO   =  'KOPS' rco  '/' Rhot                          ;
4159 : 'SINON'                                                  ;
4160 :   Yco   = 0.                                             ;
4161 : 'FINSI'                                                  ;
4162 :   tic.'YCO'= Yco                                         ;
4163 : 
4164 : * Calcul de la fraction massique d'air
4165 :   Yair = 'KOPS' rair '/' Rhot                            ;
4166 :   Yair = KCHT $vtf 'SCAL' 'SOMMET' Yair                  ;
4167 :   tic.'YAIR'= Yair                                       ;
4168 : 
4169 : * a= yair + yvap + yh2 + yhe + yn2 + yo2 + yco2 + yco    ;
4170 : * mess ' Controle de la somme des fractions massiques '
4171 : *(mini a) (maxi a) ;
4172 : 
4173 : * Calcul de la constante des gaz du mélange et du gamma
4174 : * du mélange
4175 : * Calcul du Cp du mélange
4176 :   Rgp  =  (Rgvap '*' Yvap) '+' (Rgair '*' Yair)
4177 :         '+' (Rghe '*' Yhe ) '+'  (Rgh2  '*' Yh2 )
4178 :         '+' (Rgo2 '*' Yo2 ) '+' (Rgn2 '*' Yn2 ) 
4179 :         '+' (Rgco '*' Yco ) '+' (Rgco2 '*' Yco2 )        ;
4180 : 
4181 :   Rgp  =  'KCHT' $vtf 'SCAL' 'SOMMET' Rgp                ;
4182 :   Rgpm = 'SOMT' (Diag '*' Rgp) '/' VTotal                ;
4183 : * Mess ' Rgpm = ' Rgpm ;
4184 : 
4185 :   Cp   =  (Cpvap '*' Yvap) '+' (Cpair '*' Yair)
4186 :         '+' (Cphe '*' Yhe ) '+' (Cph2  '*' Yh2 )
4187 :         '+' (Cpo2 '*' Yo2 ) '+' (Cpn2  '*' Yn2 )
4188 :         '+' (Cpco '*' Yco ) '+' (Cpco2 '*' Yco2 )        ;
4189 : 
4190 :   Cp   =  'KCHT' $vtf 'SCAL' 'SOMMET' Cp                 ;
4191 :   Cpm  = 'SOMT' (Diag '*' Cp) '/' VTotal                 ;
4192 :   Cvm  = Cpm '-' Rgpm                                    ;
4193 :   Gamm = Cpm '/' Cvm                                     ;
4194 : 
4195 :   Mu   =  (Muvap '*' Yvap) '+' (Muair '*' Yair)
4196 :         '+' (Muhe '*' Yhe ) '+' (Muh2  '*' Yh2 ) 
4197 :         '+' (Muo2 '*' Yo2 )  '+' (Mun2 '*' Yn2 )
4198 :         '+' (Muco '*' Yco ) '+' (Muco2 '*' Yco2 )        ;
4199 : 
4200 :   tic.'Mu' = Mu                                          ;
4201 : 
4202 :  tic.'Rgp'  = Rgp                                        ;
4203 :  tic.'Rgpm' = tic.'Rgpm' 'ET' ('PROG' Rgpm)              ;
4204 :  tic.'Cvm'  = tic.'Cvm'  'ET' ('PROG' Cvm)               ;
4205 :  tic.'Gamm' = tic.'Gamm' 'ET' ('PROG' Gamm)              ;
4206 :  tic.'Cpm'  = tic.'Cpm'  'ET' ('PROG' Cpm)               ;
4207 : *---------------------------------------------------------
4208 : * Calcul du terme source de l'equation energie
4209 : 
4210 :   stf       = DPDT '/' (Cpm '*' Rhomn)                   ;
4211 :   tic.'STF' = stf                                        ;
4212 : 
4213 : *---------------------------------------------------------
4214 : * Calcul de l'energie convective
4215 : 
4216 :   Tf=tic.'TF'                                            ;
4217 : Econvw = 0.0                                             ;
4218 : Econvi = 0.0                                             ;
4219 : Econv1 = 0.0                                             ;
4220 : Econv2 = 0.0                                             ;
4221 : Econv3 = 0.0                                             ;
4222 : Econv0 = 0.0                                             ;
4223 : 
4224 : 
4225 : 'SI'((TBT.'THERMP') et (TBT.'TPAROIF'))                  ;
4226 :   Tp=tic.'TP'                                            ;
4227 : * Energie extraite du gaz par convection
4228 :    Tfpw        = 'REDU' tic.'TF' GEO.'paroif'            ;
4229 :    Tbpw        = 'REDU' tic.'TP' GEO.'paroif'            ;
4230 :    Hconv      = KCHT GEO.'$paroif' SCAL CENTRE tic.'KHW' ;
4231 :    Hconv      = elno  GEO.'$paroif' Hconv                ;
4232 :    Econvw      = 'SOMT' ( GEO.'Diagpf' '*'
4233 :                         (Hconv '*' (Tfpw '-' Tbpw)))     ;
4234 : 'FINSI'                                                  ;
4235 : 
4236 : 'SI' TBT.'TTIMP'                                         ;
4237 : * Energie extraite du gaz par convection
4238 :    NBTIMP=dime (rxt.'TIMP')                              ;
4239 :    itimp=INDEX (rxt.'TIMP')                              ;
4240 :   REPETER BBTIMP NBTIMP                                  ;
4241 : * mess 'BBTIMP 6 ';
4242 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
4243 :    Tfp1 = 'REDU' Tf (Btimp.'mtpi')                       ;
4244 :    Tbp1        = tic.(Btimp.'TBP1')                      ;
4245 :    CKH1        = Btimp.'KH1'                             ;
4246 :    Hconv      = KCHT Btimp.'$mtpi' SCAL CENTRE tic.CKH1  ;
4247 :    Hconv      = elno  Btimp.'$mtpi'   Hconv              ;
4248 : *   Diagmp1 = 'DOMA' (GEO.'$mtp1') 'XXDIAGSI'            ;
4249 :    Econvi = Econvi + (
4250 : 'SOMT' ( Btimp.'Diagif' '*' (Hconv '*' (Tfp1 '-' Tbp1))));
4251 :   FIN BBTIMP                                             ;
4252 : 'FINSI'                                                  ;
4253 : 
4254 : 'SI' TBT.'TTIMP1'                                        ;
4255 : * Energie extraite du gaz par convection
4256 :    Tfp1        = 'REDU' Tf (GEO.'mtp1')                  ;
4257 :    Tbp1        = tic.'TBP1'                              ;
4258 :    Hconv      = KCHT GEO.'$mtp1'   SCAL CENTRE tic.'KH1' ;
4259 :    Hconv      = elno  GEO.'$mtp1'   Hconv                ;
4260 : *   Diagmp1 = 'DOMA' (GEO.'$mtp1') 'XXDIAGSI'             ;
4261 :    Econv1      = 'SOMT' ( GEO.'Diag1f' '*' (Hconv '*'
4262 :                              (Tfp1 '-' Tbp1)))           ;
4263 : 'FINSI'                                                  ;
4264 : 
4265 : 'SI' TBT.'TTIMP2'                                        ;
4266 : * Energie extraite du gaz par convection
4267 :    Tfp2        = 'REDU' Tf (GEO.'mtp2')                  ;
4268 :    Tbp2        = tic.'TBP2'                              ;
4269 :    Hconv      = KCHT GEO.'$mtp2'   SCAL CENTRE tic.'KH2' ;
4270 :    Hconv      = elno  GEO.'$mtp2'   Hconv                ;
4271 : *   Diagmp2 = 'DOMA' (GEO.'$mtp2') 'XXDIAGSI'             ;
4272 :    Econv2      = 'SOMT' ( GEO.'Diag2f' '*' (Hconv '*'
4273 :                              (Tfp2 '-' Tbp2)))           ;
4274 : 'FINSI'                                                  ;
4275 : 
4276 : 'SI' TBT.'TTIMP3'                                        ;
4277 : * Energie extraite du gaz par convection
4278 :    Tfp3        = 'REDU' Tf (GEO.'mtp3')                  ;
4279 :    Tbp3        = tic.'TBP3'                              ;
4280 :    Hconv      = KCHT GEO.'$mtp3'   SCAL CENTRE tic.'KH3' ;
4281 :    Hconv      = elno  GEO.'$mtp3'   Hconv                ;
4282 : *   Diagmp3 = 'DOMA' (GEO.'$mtp3') 'XXDIAGSI'             ;
4283 :    Econv3      = 'SOMT' ( GEO.'Diag3f' '*' (Hconv '*'
4284 :                              (Tfp3 '-' Tbp3)))           ;
4285 : 'FINSI'                                                  ;
4286 : 
4287 : 'SI' TBT.'TECHANP'                                       ;
4288 : * Energie extraite du gaz par convection
4289 :    Tfp0        = 'REDU' Tf (GEO.'mtp0')                  ;
4290 :    Tbp0        = tic.'TBP0'                              ;
4291 :    Hconv      = KCHT GEO.'$mtp0'   SCAL CENTRE tic.'KH0' ;
4292 :    Hconv      = elno  GEO.'$mtp0'   Hconv                ;
4293 : *   Diagmp3 = 'DOMA' (GEO.'$mtp3') 'XXDIAGSI'             ;
4294 :    Econv0      = 'SOMT' ( GEO.'Diag0f' '*' (Hconv '*'
4295 :                              (Tfp0 '-' Tbp0)))           ;
4296 : 'FINSI'                                                  ;
4297 : 
4298 :    Econv = Econvw '+' Econvi '+'
4299 :     Econv1 + Econv2 '+' Econv3 '+' Econv0 ;
4300 :    tic.'Econv' = tic.'Econv' 'ET' ('PROG' Econv)         ;
4301 : 
4302 :  Easp           = 0.0                                    ;
4303 :  Hasp           = 0.0                                    ;
4304 :  Qasp           = 0.0                                    ;
4305 : 
4306 : 'SI' TBT.'ASPER '                                        ;
4307 :     Tf          = tic.'TF'                               ;
4308 :     Td          = tic.'TD'                               ;
4309 :     Hgas        = tic.'HGAS'                             ;
4310 :     Diagvtf     = doma $vtf 'XXDIAGSI'                   ;
4311 :     Easp        = (somt ( Diagvtf * (Hgas * (Td - Tf)))) *Rhomnm*Cpmnm;
4312 :     srvp        = tic.'SRVP'                             ;
4313 :     Qasp        = somt (srvp * Volvtf)                   ;
4314 :     Tfe         = noel $vtf tic.'TFNM'                   ;
4315 :     Hasp        = somt ((srvp * (tfe + 273.15) * Volvtf) * Cpvap) ;
4316 : 
4317 : *****modif 2005
4318 : * température goutte max et min
4319 :   Td          = tic.'TD'                                 ;
4320 :   maTd         =  'MAXI' Td                              ;
4321 :   tic.'Tdma' =  tic.'Tdma' et (prog maTd)                ;
4322 :   miTd         =  'MINI' Td                              ;
4323 :   tic.'Tdmi' =  tic.'Tdmi' et (prog miTd)                ;
4324 : *****************  
4325 : 
4326 : 
4327 : 'FINSI'                                                  ;
4328 : 
4329 :  tic.'Easpe'    = tic.'Easpe' et (prog Easp )            ;
4330 :  tic.'Haspe'    = tic.'Haspe' et (prog Hasp )            ;
4331 :  tic.'Qaspe'    = tic.'Qaspe' et (prog Qasp )            ;
4332 : 
4333 : *---------------------------------------------------------
4334 : *>9* Prediction de la condensation pour le pas suivant ***         
4335 : 
4336 :   Qc=0. ; Econd=0. ; Hcond=0.                            ;
4337 : 
4338 : 
4339 : 
4340 : *tc mise en commentaires des lignes sinon et finsi car
4341 : * il n'y a aps de si correspondant et 
4342 : * la ligne intermediaure l'etant deja 
4343 : **'SINON'                                                  ;
4344 : *???? Qcm=0. ; Econdm=0. ; Hcondm=0.                          ;
4345 : *'FINSI'                                                  ;
4346 : 
4347 : 'SI' (TBT.'VAPEUR')                                      ;
4348 :    tic.'Qcm'= tic.'Qcm' 'ET' ('PROG' Qcm)                ;
4349 : 'FINSI'                                                  ;
4350 : 
4351 : 
4352 : *>9-2 Calcul des flux condenses  thermique paroi
4353 : 'SI' (TBT.'VAPEUR' 'ET' (TBT.'TPAROIF'))                 ;
4354 :  KHcu = rxt.'ECHAN'                                      ;
4355 : Qcw Fcondw Econdw Hcondw KKC ROVI FHP  HT
4356 :  = CONDENS rxt (GEO.'$paroif') 'TP' 'TF' 'RVP' KHcu     ;
4357 :   tic.'KKCW' = KKC                                       ;
4358 :   tic.'ROVIW'= ROVI                                      ;
4359 :   tic.'FHPW' = FHP                                       ;
4360 :   tic.'KHW'  = HT                                        ;
4361 :   tic.'Fcondw'=Fcondw                                    ;
4362 : *'MESS' 'Calcul des flux condenses '  Qcw 'Kg/s'         ;
4363 :  Qc=Qc+Qcw                                               ;
4364 :  Econd= Econd + Econdw                                   ;
4365 :  Hcond= Hcond + Hcondw                                   ;
4366 : 'SINON'                                                  ;
4367 :  Qcw=0. ; Econdw=0. ; Hcondw=0.                          ;
4368 : 'FINSI'                                                  ;
4369 : 
4370 : * Calcul des flux condenses  Température imposée i
4371 : 'SI' (TBT.'VAPEUR' 'ET' TBT.'TTIMP')                     ;
4372 :    NBTIMP=dime (rxt.'TIMP')                              ;
4373 :    itimp=INDEX (rxt.'TIMP')                              ;
4374 :   REPETER BBTIMP NBTIMP                                  ;
4375 : * mess 'BBTIMP 7 ';
4376 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
4377 : tic.(Btimp.'TPI1')=kcht (Btimp.'$mtpi') scal sommet
4378 :  tic.(Btimp.'TBP1')                                      ;
4379 :  KHcu=(Btimp.'ECHAN')                                    ;
4380 :  CTPI1=Btimp.'TPI1'                                      ;
4381 : 
4382 : Qc1 Fcond1 Econd1 Hcond1 KKC ROVI FHP  HT
4383 :  = CONDENS rxt (Btimp.'$mtpi') CTPI1 'TF' 'RVP'  KHcu    ;
4384 :   CKKC1=Btimp.'KKC1'                                     ;
4385 :   CROVI1=Btimp.'ROVI1'                                   ;
4386 :   CFHP1=Btimp.'FHP1'                                     ;
4387 :   CKH1=Btimp.'KH1'                                       ;
4388 :   CFcond1 = Btimp.'Fcond1'                               ;
4389 : 
4390 :   tic.CKKC1 = KKC                                        ;
4391 :   tic.CROVI1= ROVI                                       ;
4392 :   tic.CFHP1 = FHP                                        ;
4393 :   tic.CKH1 = HT                                          ;
4394 :   tic.CFcond1=Fcond1                                     ;
4395 : 
4396 :  'SI' ( TBT.'IMPR' >EG 2)                                ;
4397 : *'MESS' 'Calcul des flux condenses '  Qc1 'Kg/s'         ;
4398 :  'FINSI'                                                 ;
4399 :  Qc=Qc+Qc1                                               ;
4400 :  Econd= Econd + Econd1                                   ;
4401 :  Hcond= Hcond + Hcond1                                   ;
4402 : 
4403 :  CMcond1=chai 'Mcond1' &BBTIMP                           ;
4404 :  Mcond1      = Qc1 '*' tic.'DT'                          ;
4405 : 
4406 :  McondT1     = 'EXTR' (tic.CMcond1) ndl                  ;
4407 :  McondT1     = McondT1 '+' Mcond1                        ;
4408 :  tic.CMcond1=tic.CMcond1 'ET' ('PROG' McondT1)           ;
4409 : 
4410 :  CQc1=Btimp.'Qc1'                                        ;
4411 :  tic.CQc1= tic.CQc1 'ET' ('PROG' Qc1)                    ;
4412 : 
4413 :   FIN BBTIMP                                             ;
4414 : 'SINON'                                                  ;
4415 :  Qc1=0. ; Econd1=0. ; Hcond1=0.                          ;
4416 : 'FINSI'                                                  ;
4417 : 
4418 : * Calcul des flux condenses  Température imposée 1
4419 : 'SI' (TBT.'VAPEUR' 'ET' TBT.'TTIMP1')                    ;
4420 : tic.'TPI1'=kcht (GEO.'$mtp1') scal sommet (tic.'TBP1')   ;
4421 :  KHcu=(rxt.'TIMP1'.'ECHAN')                              ;
4422 : Qc1 Fcond1 Econd1 Hcond1 KKC ROVI FHP  HT
4423 :  = CONDENS rxt (GEO.'$mtp1') 'TPI1' 'TF' 'RVP' KHcu      ;
4424 :   tic.'KKC1'= KKC                                        ;
4425 :   tic.'ROVI1'= ROVI                                      ;
4426 :   tic.'FHP1' = FHP                                       ;
4427 :   tic.'KH1'  = HT                                        ;
4428 :   tic.'Fcond1'=Fcond1                                    ;
4429 :  'SI' ( TBT.'IMPR' >EG 2)                                ;
4430 : *'MESS' 'Calcul des flux condenses '  Qc1 'Kg/s'         ;
4431 :  'FINSI'                                                 ;
4432 :  Qc=Qc+Qc1                                               ;
4433 :  Econd= Econd + Econd1                                   ;
4434 :  Hcond= Hcond + Hcond1                                   ;
4435 : 'SINON'                                                  ;
4436 :  Qc1=0. ; Econd1=0. ; Hcond1=0.                          ;
4437 : 'FINSI'                                                  ;
4438 : 
4439 : * Calcul des flux condenses  Température imposée 2
4440 : 'SI' (TBT.'VAPEUR' 'ET' TBT.'TTIMP2')                    ;
4441 : tic.'TPI2'=kcht (GEO.'$mtp2') scal sommet (tic.'TBP2')   ;
4442 :  KHcu=(rxt.'TIMP2'.'ECHAN')                              ;
4443 : Qc2 Fcond2 Econd2 Hcond2 KKC ROVI FHP HT
4444 :  = CONDENS rxt (GEO.'$mtp2') 'TPI2' 'TF' 'RVP' KHcu      ;
4445 :   tic.'KKC2' = KKC                                       ;
4446 :   tic.'ROVI2'= ROVI                                      ;
4447 :   tic.'FHP2' = FHP                                       ;
4448 :   tic.'KH2'  = HT                                        ;
4449 :   tic.'Fcond2'=Fcond2                                    ;
4450 :  'SI' ( TBT.'IMPR' >EG 2)                                ;
4451 : *'MESS' 'Calcul des flux condenses '  Qc2 'Kg/s'         ;
4452 :  'FINSI'                                                 ;
4453 :  Qc=Qc+Qc2                                               ;
4454 :  Econd= Econd + Econd2                                   ;
4455 :  Hcond= Hcond + Hcond2                                   ;
4456 : 'SINON'                                                  ;
4457 :  Qc2=0. ; Econd2=0. ; Hcond2=0.                          ;
4458 : 'FINSI'                                                  ;
4459 : 
4460 : * Calcul des flux condenses  Température imposée 3
4461 : 'SI' (TBT.'VAPEUR' 'ET' TBT.'TTIMP3')                    ;
4462 : tic.'TPI3'=kcht (GEO.'$mtp3') scal sommet (tic.'TBP3')   ;
4463 :  KHcu=(rxt.'TIMP3'.'ECHAN')                              ;
4464 : Qc3 Fcond3 Econd3 Hcond3 KKC ROVI FHP HT
4465 :  = CONDENS rxt (GEO.'$mtp3') 'TPI3' 'TF' 'RVP' KHcu      ;
4466 :   tic.'KKC3' = KKC                                       ;
4467 :   tic.'ROVI3'= ROVI                                      ;
4468 :   tic.'FHP3' = FHP                                       ;
4469 :   tic.'KH3'  = HT                                        ;
4470 :   tic.'Fcond3'=Fcond3                                    ;
4471 :  'SI' ( TBT.'IMPR' >EG 2)                                ;
4472 : *'MESS' 'Calcul des flux condenses '  Qc3 'Kg/s'         ;
4473 :  'FINSI'                                                 ;
4474 :  Qc=Qc+Qc3                                               ;
4475 :  Econd= Econd + Econd3                                   ;
4476 :  Hcond= Hcond + Hcond3                                   ;
4477 : 'SINON'                                                  ;
4478 :  Qc3=0. ; Econd3=0. ; Hcond3=0.                          ;
4479 : 'FINSI'                                                  ;
4480 : 
4481 : * Calcul des flux condenses
4482 : 'SI' (TBT.'VAPEUR' 'ET' TBT.'TECHANP')                   ;
4483 : tic.'TPI0'=kcht (GEO.'$mtp0') scal sommet (tic.'TBP0')   ;
4484 :  KHcu=(rxt.'ECHANP'.'ECHAN')                             ;
4485 : Qc0 Fcond0 Econd0 Hcond0 KKC ROVI FHP HT
4486 :  = CONDENS rxt (GEO.'$mtp0') 'TPI0' 'TF' 'RVP' KHcu      ;
4487 :   tic.'KKC0' = KKC                                       ;
4488 :   tic.'ROVI0'= ROVI                                      ;
4489 :   tic.'FHP0' = FHP                                       ;
4490 :   tic.'KH0'  = HT                                        ;
4491 :   tic.'Fcond0'=Fcond0                                    ;
4492 :  'SI' ( TBT.'IMPR' >EG 2)                                ;
4493 : *'MESS' 'Calcul des flux condenses '  Qc0 'Kg/s'         ;
4494 :  'FINSI'                                                 ;
4495 :  Qc=Qc+Qc0                                               ;
4496 :  Econd= Econd + Econd0                                   ;
4497 :  Hcond= Hcond + Hcond0                                   ;
4498 : 'SINON'                                                  ;
4499 :  Qc0=0. ; Econd0=0. ; Hcond0=0.                          ;
4500 : 'FINSI'                                                  ;
4501 : 
4502 : **********************************************************
4503 : 'SI' TBT.'ASPER '                                        ;
4504 :    asparam rxt                                           ;
4505 : 'FINSI'                                                  ;
4506 : 
4507 : 
4508 : **********************************************************
4509 : **** Avancement en temps ************************************
4510 : *mess 'Avancement en temps' ;
4511 : 
4512 : * Calcul densité drho/rho pour le terme de flotabilite
4513 : 
4514 :  Mrho=somt (Diag*Rho);
4515 :  Mrhot=somt (Diag*Rhot);
4516 : *mess '%$$ Mrho=' Mrho ' Mrhot=' Mrhot ;
4517 : *mess '%$$ Mini/Maxi rho=' (mini rho)(maxi rho);
4518 : *mess '%$$ Mini/Maxi rhot=' (mini rhot)(maxi rhot);
4519 : 
4520 : *Rhop = (-1.) '*' (Rhomn '-' Rho) '*' (Rho **(-1.0))     ;
4521 :  Rhop = (-1.) '*' (Rhomn '-' Rhot) '*' (Rhot **(-1.0))   ;
4522 :  Rhop = 'KCHT' $vtf 'SCAL' 'SOMMET' Rhop                 ;
4523 :  rmc  = 'NOEL' $vtf Rhop                                 ;
4524 :  tic.'Rhop' = Rhop                                       ;
4525 :  'SI' DIM3D                                              ;
4526 :  rogx       = 'KCHT' $vtf 'SCAL' 'CENTRE' 0.0            ;
4527 :  rogy       = 'KCHT' $vtf 'SCAL' 'CENTRE' 0.0            ;
4528 :  rogz       = 'KCHT' $vtf 'SCAL' 'CENTRE' (-9.81 '*' rmc);
4529 :  rogx       = 'NOMC' 'UX' rogx 'NATU' 'DISCRET'          ;
4530 :  rogy       = 'NOMC' 'UY' rogy 'NATU' 'DISCRET'          ;
4531 :  rogz       = 'NOMC' 'UZ' rogz 'NATU' 'DISCRET'          ;
4532 :  tic.'ROG'=kcht $vtf 'VECT' 'CENTRE'
4533 :                 (rogx 'ET' rogy 'ET' rogz)               ;
4534 :  'SINON'                                                 ;
4535 :  rogx       = 'KCHT' $vtf 'SCAL' 'CENTRE' 0.0            ;
4536 :  rogy       = 'KCHT' $vtf 'SCAL' 'CENTRE' (-9.81 '*' rmc);
4537 :  rogx       = 'NOMC' 'UX' rogx 'NATU' 'DISCRET'          ;
4538 :  rogy       = 'NOMC' 'UY' rogy 'NATU' 'DISCRET'          ;
4539 :  tic.'ROG'=kcht $vtf 'VECT' 'CENTRE'
4540 :                (rogx 'ET' rogy)                          ;
4541 :  'FINSI'                                                 ;
4542 : 
4543 : * Vitesse max
4544 :  un          = tic.'UN'                                  ;
4545 :  modu        = ( 'KOPS' un  'PSCA'  un ) '**' 0.5        ;
4546 :  mmu         =  'MAXI' modu                              ;
4547 :  tic.'LMAXU' =  tic.'LMAXU' 'ET' ('PROG' mmu)            ;
4548 : 
4549 :  tic.'Qc'    = tic.'Qc' 'ET' ('PROG' QC)                 ;
4550 :  Minj        = (Qj '+' Qj2 '+' Qj3 '+' Qlj '+' Qlj2 '+' Qlj3)
4551 :                                     '*' tic.'DT'         ;
4552 :  MinjT       = MinjT '+' Minj                            ;
4553 :  Mcond       = Qc '*' tic.'DT'                           ;
4554 :  McondT      = McondT '+' Mcond + Mliq                   ;
4555 :  Mrest       =(Qj  '+' Qj2  '+' Qj3  '-' Qc '+' Qasp)
4556 :                                       '*' tic.'DT'       ;                      
4557 :  MrestT      = MrestT '+' Mrest                          ;
4558 :  tic.'Minj'  = tic.'Minj'  'ET' ('PROG' MinjT)           ;
4559 :  tic.'Mcond' = tic.'Mcond' 'ET' ('PROG' McondT)          ;
4560 : 'SI' TBT.'VAPEUR'                                        ;
4561 : 
4562 : 'SI' TBT.'TPAROIF'                                       ;
4563 :  Mcondw      = Qcw '*' tic.'DT'                          ;
4564 :  McondTw     = McondTw '+' Mcondw                        ;
4565 :  tic.'Mcondw'= tic.'Mcondw' 'ET' ('PROG' McondTw)        ;
4566 :  tic.'Qcw'= tic.'Qcw' 'ET' ('PROG' Qcw)                  ;
4567 : 'FINSI'                                                  ;
4568 : 
4569 : 'SI' TBT.'TTIMP1'                                        ;
4570 :  Mcond1      = Qc1 '*' tic.'DT'                          ;
4571 :  McondT1     = McondT1 '+' Mcond1                        ;
4572 :  tic.'Mcond1'= tic.'Mcond1' 'ET' ('PROG' McondT1)        ;
4573 :  tic.'Qc1'= tic.'Qc1' 'ET' ('PROG' Qc1)                  ;
4574 : 'FINSI'                                                  ;
4575 : 
4576 : 'SI' TBT.'TTIMP2'                                        ;
4577 :  Mcond2      = Qc2 '*' tic.'DT'                          ;
4578 :  McondT2     = McondT2 '+' Mcond2                        ;
4579 :  tic.'Mcond2'= tic.'Mcond2' 'ET' ('PROG' McondT2)        ;
4580 :  tic.'Qc2'= tic.'Qc2' 'ET' ('PROG' Qc2)                  ;
4581 : 'FINSI'                                                  ;
4582 : 
4583 : 'SI' TBT.'TTIMP3'                                        ;
4584 :  Mcond3      = Qc3 '*' tic.'DT'                          ;
4585 :  McondT3     = McondT3 '+' Mcond3                        ;
4586 :  tic.'Mcond3'= tic.'Mcond3' 'ET' ('PROG' McondT3)        ;
4587 :  tic.'Qc3'= tic.'Qc3' 'ET' ('PROG' Qc3)                  ;
4588 : 'FINSI'                                                  ;
4589 : 
4590 : 'SI' TBT.'TECHANP'                                       ;
4591 :  Mcond0      = Qc0 '*' tic.'DT'                          ;
4592 : *McondT0     = McondT0 '+' Mcond0                        ;
4593 : *tic.'Mcond0'= tic.'Mcond0' 'ET' ('PROG' McondT0)        ;
4594 :  tic.'Qc0'= tic.'Qc0' 'ET' ('PROG' Qc0)                  ;
4595 : 'FINSI'                                                  ;
4596 : 
4597 : 'FINSI'                                                  ;
4598 : 
4599 :  tic.'Mrest' = tic.'Mrest' 'ET' ('PROG' MrestT)          ;
4600 :  tic.'Econd' = tic.'Econd' 'ET' ('PROG' Econd)           ;
4601 : * tic.'Econdw'= tic.'Econdw' 'ET' ('PROG' Econdw)         ;
4602 : * tic.'Econd1'= tic.'Econd1' 'ET' ('PROG' Econd1)         ;
4603 : * tic.'Econd2'= tic.'Econd2' 'ET' ('PROG' Econd2)         ;
4604 : * tic.'Econd3'= tic.'Econd3' 'ET' ('PROG' Econd3)         ;
4605 :  tic.'Hcond' = tic.'Hcond' 'ET' ('PROG' Hcond)           ;
4606 : * tic.'Hcondw'= tic.'Hcondw' 'ET' ('PROG' Hcondw)         ;
4607 : * tic.'Hcond1'= tic.'Hcond1' 'ET' ('PROG' Hcond1)         ;
4608 : * tic.'Hcond2'= tic.'Hcond2' 'ET' ('PROG' Hcond2)         ;
4609 : * tic.'Hcond3'= tic.'Hcond3' 'ET' ('PROG' Hcond3)         ;
4610 : 
4611 : 
4612 : Si( TBT.'IMPR' >EG 2)                                    ;
4613 : 'MESS' ' ************* BILAN au temps ' Tps ' -> '
4614 :               &bcltps ' DT=' tic.'DT'
4615 :               ' ****'                                    ;
4616 : 'SI' TBT.'Tbreche'                                       ;
4617 : 'MESS' '________________________________________________';
4618 : 'MESS' '-------- Paramètres Injection 1 ---------------' ;
4619 : 'MESS' ' Débit Masse (Kg/s)               Qj=' Qj        ;
4620 :  'SI' TBT.'VAPEUR'                                       ;
4621 :  'MESS' ' Ksi (taux de vapeur injectée)   Ksi=' Ksi      ;
4622 :  'FINSI'                                                 ;
4623 : 'MESS' ' Vitesse (m/s)                   guj=' guj       ;
4624 : 'MESS' ' Densité à l injection (Kg/m**3) Roj=' Roj       ;
4625 : 'MESS' ' R/M a l Injection (J/kg/K)      Rgj=' Rgj       ;
4626 : 'MESS' ' Température d injection (oC)     Tj=' Tj        ;
4627 : 'MESS' ' Enthalpie d injection (J/Kg)     Hj=' Hj        ;
4628 : 'MESS' ' Energie injection  (J/Kg)        Ej=' Ej        ;
4629 : 'MESS' ' Puissance à l injection (Watt)   Pj=' (Qj '*'Ej);
4630 : 'MESS' '________________________________________________';
4631 : 'FINSI'                                                  ;
4632 : 'SI' TBT.'Tbreche2'                                      ;
4633 : 'MESS' '-------- Paramètres Injection 2 ---------------' ;
4634 : 'MESS' ' Débit Masse (Kg/s)               Qj=' Qj2       ;
4635 :  'SI' TBT.'VAPEUR'                                       ;
4636 :  'MESS' ' Ksi2 (taux de vapeur injectée) Ksi2=' Ksi2     ;
4637 :  'FINSI'                                                 ;
4638 : 'MESS' ' Vitesse (m/s)                   guj=' guj2      ;
4639 : 'MESS' ' Densité à l injection (Kg/m**3) Roj=' Roj2      ;
4640 : 'MESS' ' R/M a l Injection (J/kg/K)      Rgj=' Rgj2      ;
4641 : 'MESS' ' Température d injection (oC)     Tj=' Tj2       ;
4642 : 'MESS' ' Enthalpie d injection (J/Kg)     Hj=' Hj2       ;
4643 : 'MESS' ' Energie injection  (J/Kg)        Ej=' Ej2       ;
4644 : 'MESS' ' Puissance à l injection (Watt)   Pj='(Qj2'*'Ej2);
4645 : 'MESS' '________________________________________________';
4646 : 'FINSI'                                                  ;
4647 : 'SI' TBT.'Tbreche3'                                      ;
4648 : 'MESS' '-------- Paramètres Injection 2 ---------------' ;
4649 : 'MESS' ' Débit Masse (Kg/s)               Qj=' Qj3       ;
4650 :  'SI' TBT.'VAPEUR'                                       ;
4651 :  'MESS' ' Ksi3 (taux de vapeur injectée) Ksi3=' Ksi3     ;
4652 :  'FINSI'                                                 ;
4653 : 'MESS' ' Vitesse (m/s)                   guj=' guj3      ;
4654 : 'MESS' ' Densité à l injection (Kg/m**3) Roj=' Roj3      ;
4655 : 'MESS' ' R/M a l Injection (J/kg/K)      Rgj=' Rgj3      ;
4656 : 'MESS' ' Température d injection (oC)     Tj=' Tj3       ;
4657 : 'MESS' ' Enthalpie d injection (J/Kg)     Hj=' Hj3       ;
4658 : 'MESS' ' Energie injection  (J/Kg)        Ej=' Ej3       ;
4659 : 'MESS' ' Puissance à l injection (Watt)   Pj='(Qj3'*'Ej3);
4660 : 'MESS' '________________________________________________';
4661 : 'FINSI'                                                  ;
4662 : 
4663 : 'MESS' ' Pression corrigée  (Pa)         Pt =' Ptnm      ;
4664 : 'MESS' '________________________________________________';
4665 : 'MESS' '  '                                              ;
4666 : 'SI' TBT.'VAPEUR'                                        ;
4667 : 'MESS' '________________________________________________';
4668 : 'MESS' '--------Bilan sur la vapeur--------------------' ;
4669 : 'MESS' ' Débit masse condensée (kg/s)         QC=' Qc    ;
4670 : 'MESS' ' Masse injectée (kg)                Minj=' Minj  ;
4671 : 'MESS' ' Masse injectée totale (kg)        MinjT=' MinjT ;
4672 : 'MESS' ' Masse condensée (kg)              Mcond=' Mcond ;
4673 : 'SI' TBT.'TPAROIF'                                       ;
4674 : 'MESS' ' Masse condensée (mur vtp) (kg) Mcondw=' Mcondw  ;
4675 : 'MESS' ' Masse condensée totale (mur vtp) (kg) McondTw=' McondTw;
4676 : 'FINSI';
4677 : 'SI' TBT.'TTIMP'                                         ;
4678 :    NBTIMP=dime (rxt.'TIMP')                              ;
4679 :    itimp=INDEX (rxt.'TIMP')                              ;
4680 :   REPETER BBTIMP NBTIMP                                  ;
4681 : * mess 'BBTIMP 8 ';
4682 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
4683 : *  Mcondi =Btimp.'Mcondi'                                ;
4684 : *  McondTi=Btimp.'McondTi'                               ;
4685 : *'MESS' ' Masse condensée (mur Timp1) (kg) Mcondi=' Mcondi;
4686 : *'MESS' ' Masse condensée totale (mur Timp1) (kg) McondTi=' McondTi;
4687 :   FIN BBTIMP                                             ;
4688 : 'FINSI';
4689 : 'SI' TBT.'TTIMP1'                                        ;
4690 : 'MESS' ' Masse condensée (mur Timp1) (kg) Mcond1=' Mcond1;
4691 : 'MESS' ' Masse condensée totale (mur Timp1) (kg) McondT1=' McondT1;
4692 : 'FINSI';
4693 : 'SI' TBT.'TTIMP2'                                        ;
4694 : 'MESS' ' Masse condensée (mur Timp2) (kg) Mcond2=' Mcond2;
4695 : 'MESS' ' Masse condensée totale (mur Timp2) (kg) McondT2=' McondT2;
4696 : 'FINSI';
4697 : 'SI' TBT.'TTIMP3'                                        ;
4698 : 'MESS' ' Masse condensée (mur Timp3) (kg) Mcond3=' Mcond3;
4699 : 'MESS' ' Masse condensée totale (mur Timp3) (kg) McondT3=' McondT3;
4700 : 'FINSI';
4701 : 'MESS' ' Masse condensée totale (kg)      McondT=' McondT;
4702 : 'MESS' ' Masse vapeur restante (kg)        Mrest=' Mrest ;
4703 : 'MESS' ' Masse vapeur restante totale(kg) MrestT=' MrestT;
4704 : 'MESS' ' Puissance condensation (Watt)     QC*Lv=' 
4705 :          (QC '*' Lv)                                     ;
4706 : 'MESS' ' Energie extraite du gaz par condensation (J)'
4707 :          'Econd=' Econd                                  ;
4708 : 'MESS' '________________________________________________';
4709 : 'MESS' '  '                                              ;
4710 : 'FINSI'                                                  ;
4711 : 'MESS' '________________________________________________';
4712 : 'MESS' '----- Grandeurs Moyennes ----------------------' ;
4713 : 'MESS' ' Energie extraite du gaz par convection (J)   Econv= ' Econv ;
4714 : 'MESS' ' Densité moyenne (kg/m3)                      Rhomn= ' Rhomn ;
4715 : 'SI' TBT.'VAPEUR'                                                    ;
4716 : 'MESS' ' Densité moyenne de vapeur(kg/m3)            Rhomvn= ' Rhomvn;
4717 : 'FINSI'                                                              ;
4718 : 'SI' TBT.'THE'                                                       ;
4719 : 'MESS' ' Densité moyenne de helium(kg/m3)             Rmhen= ' Rmhen ;
4720 : 'FINSI'                                                              ;
4721 : 'SI' TBT.'TH2'                                                       ;
4722 : 'MESS' ' Densité moyenne de Hydrogene(kg/m3)          Rmh2n= ' Rmh2n ;
4723 : 'FINSI'                                                              ;
4724 : 'SI' TBT.'TO2'                                                       ;
4725 : 'MESS' ' Densité moyenne de oxygene (kg/m3)           Rmo2n= ' Rmo2n ;
4726 : 'FINSI'                                                              ;
4727 : 'SI' TBT.'TN2'                                                       ;
4728 : 'MESS' ' Densité moyenne de azote(kg/m3)              Rmn2n= ' Rmn2n ;
4729 : 'FINSI'                                                              ;
4730 : 'SI' TBT.'TCO'                                                       ;
4731 : 'MESS' ' Densité moyenne de CO (kg/m3)                Rmcon= ' Rmcon ;
4732 : 'FINSI'                                                              ;
4733 : 'SI' TBT.'TCO2'                                                      ;
4734 : 'MESS' ' Densité moyenne de CO2 (kg/m3)              Rmco2n= ' Rmco2n;
4735 : 'FINSI'                                                              ;
4736 : 'SI' TBT.'TAIR'                                                      ;
4737 : 'MESS' ' Densité moyenne de AIR (kg/m3)              Rmairn= ' Rmairn;
4738 : 'FINSI'                                                              ;
4739 : 'SI' TBT.'TPAROIF'                                                   ;
4740 : 'MESS' ' Température moyenne des murs THERMP (oC)       Tpm= ' Tpm   ;
4741 : 'SI' ('EGA' ('TYPE' tic.'KHW') 'FLOTTANT')                           ;
4742 :    KHWm=tic.'KHW'                                                    ;
4743 : 'SINON'                                                              ;
4744 :    KHW1 = 'ELNO' GEO.'$paroif' (tic.'KHW')                           ;
4745 :    KHWm = 'SOMT' (GEO.'Diagpf' '*' KHW1) '/' GEO.'Sparoif'           ;
4746 : 'FINSI'                                                              ;
4747 : 'MESS' ' Coefficient echange convectif moyen (Watt/m**2/°C) KHWm='
4748 :                                                                 KHWm ;
4749 : 'FINSI'                                                              ;
4750 : 'SI' TBT.'TTIMP'                                                     ;
4751 :    NBTIMP=dime (rxt.'TIMP')                              ;
4752 :    itimp=INDEX (rxt.'TIMP')                              ;
4753 :   REPETER BBTIMP NBTIMP                                  ;
4754 : * mess 'BBTIMP 9' ;
4755 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
4756 : 'MESS' ' Température paroi (oC) '(itimp.&BBTIMP)' TBPI=' 
4757 :  tic.(Btimp.'TBP1');
4758 : 'SI' TBT.'VAPEUR'                                                    ;
4759 :  CKH1=Btimp.'KH1'                                                    ;
4760 :  KH1  = 'ELNO' Btimp.'$mtpi' (tic.CKH1)                              ;
4761 :  KH1m = 'SOMT' (Btimp.'Diagif' '*' KH1) '/' Btimp.'Smtpi'            ;
4762 : 'SINON'                                                              ;
4763 :  KH1m = tic.CKH1                                                     ;
4764 : 'FINSI'                                                              ;
4765 : 'MESS' ' Coefficient échange convectif (Watt/m**2/°C) KH1m=' KH1m    ;
4766 :   FIN BBTIMP                                                         ;
4767 : 'FINSI'                                                              ;
4768 : 'SI' TBT.'TTIMP1'                                                    ;
4769 : 'MESS' ' Température paroi 1 (oC) (TIMP1)          TBP1= ' tic.'TBP1';
4770 : 'SI' TBT.'VAPEUR'                                                    ;
4771 :  KH11 = 'ELNO' GEO.'$mtp1' (tic.'KH1')                               ;
4772 :  KH1m = 'SOMT' (GEO.'Diag1f' '*' KH11) '/' GEO.'Smtp1'               ;
4773 : 'SINON'                                                              ;
4774 :  KH1m = tic.'KH1'                                                    ;
4775 : 'FINSI'                                                              ;
4776 : 'MESS' ' Coefficient echange convectif (Watt/m**2/°C) KH1m='
4777 :                                                                 KH1m ;
4778 : 'FINSI'                                                              ;
4779 : 'SI' TBT.'TTIMP2'                                                    ;
4780 : 'MESS' ' Température paroi 2 (oC) (TIMP2)          TBP2= ' tic.'TBP2';
4781 : 'SI' TBT.'VAPEUR'                                                    ;
4782 :  KH21 = 'ELNO' GEO.'$mtp2' (tic.'KH2')                               ;
4783 :  KH2m = 'SOMT' (GEO.'Diag2f' '*' KH21) '/' GEO.'Smtp2'               ;
4784 : 'SINON'                                                              ;
4785 :  KH2m = tic.'KH2'                                                    ;
4786 : 'FINSI'                                                              ;
4787 : 'MESS' ' Coefficient echange convectif (Watt/m**2/°C) KH2m='
4788 :                                                                 KH2m ;
4789 : 'FINSI'                                                              ;
4790 : 'SI' TBT.'TTIMP3'                                                    ;
4791 : 'MESS' ' Température paroi 3 (oC) (TIMP3)          TBP3= ' tic.'TBP3';
4792 : 'SI' TBT.'VAPEUR'                                                    ;
4793 :  KH31 = 'ELNO' GEO.'$mtp3' (tic.'KH3')                               ;
4794 :  KH3m = 'SOMT' (GEO.'Diag3f' '*' KH31) '/' GEO.'Smtp3'               ;
4795 : 'SINON'                                                              ;
4796 :  KH3m = tic.'KH3'                                                    ;
4797 : 'FINSI'                                                              ;
4798 : 'MESS' ' Coefficient echange convectif (Watt/m**2/°C) KH3m='
4799 :                                                                 KH3m ;
4800 : 'FINSI'                                                              ;
4801 : 'MESS' ' Température fluide moyenne (oC)                Tfm= ' Tfm   ;
4802 : 'MESS' ' Pression moyenne (Pa)                           Pt= ' Pt    ;
4803 : 'MESS' ' Gamma moyen                                   Gamm= ' Gamm  ;
4804 : 'MESS' ' Rgaz moyen (J/kg/K)                           Rgpm= ' Rgpm  ;
4805 : 'MESS' ' Cv moyen (J/kg/K)                              Cvm= ' Cvm   ;
4806 : 'MESS' ' Cp moyen (J/kg/K)                              Cpm= ' Cpm   ;
4807 : Si(EGA (TYPE Cpvap) 'FLOTTANT')                                      ;
4808 : 'MESS' ' Cp vapeur moyen (J/kg/K)                     Cpvap= ' Cpvap ;
4809 : Sinon                                                                ;
4810 : 'MESS' ' Cp vapeur moyen (J/kg/K)                     Cpvap= '
4811 :  (mini Cpvap) (maxi Cpvap)                                           ;
4812 : Finsi                                                                ;
4813 : 'MESS' '____________________________________________________________';
4814 : 'MESS' '  '                                                          ;
4815 : 'MESS' '____________________________________________________________';
4816 : 'MESS' '-------------------- Corrections -------------------------- ';
4817 : 'MESS' ' dTf =' dTf ' K   dRho=' dRho ' Kg    dRhov = ' dRhov  ' Kg' ;
4818 : 'MESS' ' dRhohe=' dRhohe ' Kg    dRhoh2=' dRhoh2 ' Kg';
4819 :   'SI' TBT.'TO2' ;
4820 :  'MESS' ' dRhoo2=' dRhoo2 ' Kg'; 'FINSI'                 ;
4821 :   'SI' TBT.'TN2' ;
4822 :  'MESS' ' dRhon2=' dRhon2 ' Kg'; 'FINSI'                 ;
4823 :   'SI' TBT.'TCO' ;
4824 :  'MESS' ' dRhoco=' dRhoco ' Kg'; 'FINSI'                 ;
4825 :   'SI' TBT.'TCO2' ;
4826 :  'MESS' ' dRhoco2=' dRhoco2 ' Kg'; 'FINSI'              ;
4827 :   'SI' TBT.'TAIR' ;
4828 :  'MESS' ' dRhoair=' dRhoair ' Kg'; 'FINSI'              ;
4829 : 'MESS' '____________________________________________________________';
4830 : 'MESS' '___Bilans 0D_________Bilans MultiD _____ Erreur Relative (%)';
4831 : 
4832 : *---- Bilan masse
4833 :  M0D = Rhomn '*' Vtotal                                              ;
4834 :  MMD = Rhomnt                                                        ;
4835 :  'SI' TBT.'VAPEUR'                                                   ;
4836 :  MV0D = Rhomvn '*' Vtotal                                            ;
4837 :  MVMD =  Rhomvnt                                                     ;
4838 :  'FINSI'                                                             ;
4839 :  'SI' TBT.'THE'                                                      ;
4840 :  MHE0D = Rmhen '*' Vtotal                                            ;
4841 :  MHEMD = Rhomhet                                                     ;
4842 :  'FINSI'                                                             ;
4843 :  'SI' TBT.'TH2'                                                      ;
4844 :  MH20D = Rmh2n '*' Vtotal                                            ;
4845 :  MH2MD = Rhomh2t                                                     ;
4846 :  'FINSI'                                                             ;
4847 :  'SI' TBT.'TO2'                                                      ;
4848 :  MO20D = Rmo2n '*' Vtotal                                            ;
4849 :  MO2MD = Rhomo2t                                                     ;
4850 :  'FINSI'                                                             ;
4851 :  'SI' TBT.'TN2'                                                      ;
4852 :  MN20D = Rmn2n '*' Vtotal                                            ;
4853 :  MN2MD = Rhomn2t                                                     ;
4854 :  'FINSI'                                                             ;
4855 :  'SI' TBT.'TCO'                                                      ;
4856 :  MCO0D = Rmcon '*' Vtotal                                            ;
4857 :  MCOMD = Rhomcot                                                     ;
4858 :  'FINSI'                                                             ;
4859 :  'SI' TBT.'TCO2'                                                     ;
4860 :  MCO20D = Rmco2n '*' Vtotal                                          ;
4861 :  MCO2MD = Rhomco2t                                                   ;
4862 :  'FINSI'                                                             ;
4863 :  'SI' TBT.'TAIR'                                                     ;
4864 :  MAIR0D = Rmairn '*' Vtotal                                          ;
4865 :  MAIRMD = Rhomairt                                                   ;
4866 :  'FINSI'                                                             ;
4867 : 
4868 : *---- Bilan energie
4869 :  E0D = Remn                                                          ;
4870 :  EMD = Remnt                                                         ;
4871 :   'MESS' ' Masse   (Kg)  ' M0D '_______' MMD '________'
4872 :        (100. '*' (M0D '-' MMD) '/' M0D)                              ;
4873 :   'MESS' ' Energie (J/m3)' E0D '_______' EMD '________'
4874 :        (100. '*' (E0D '-' EMD) '/' E0D)                              ;
4875 : 
4876 :  'SI' (TBT.'VAPEUR' 'ET' ('NON' ('EGA' MV0D 0.0)))                   ;
4877 :   'MESS' ' M Vapeur(Kg)  ' MV0D '_______' MVMD '_______'
4878 :        (100. '*' (MV0D '-' MVMD) '/' MV0D)                           ;
4879 :  'FINSI'                                                             ;
4880 :  'SI' (TBT.'THE' 'ET' ('NON' ('EGA' MHE0D 0.0)))                     ;
4881 :   'MESS' ' M Helium (Kg)  ' MHE0D '_______' MHEMD '_______'
4882 :        (100. '*' (MHE0D '-' MHEMD) '/' MHE0D)                        ;
4883 :  'FINSI'                                                             ;
4884 :  'SI' (TBT.'TH2' 'ET' ('NON' ('EGA' MH20D 0.0)))                     ;
4885 :   'MESS' ' M Hydrogene (Kg)  ' MH20D '_______' MH2MD '_______'
4886 :        (100. '*' (MH20D '-' MH2MD) '/' MH20D)                        ;
4887 :  'FINSI'                                                             ;
4888 :  'SI' (TBT.'TO2' 'ET' ('NON' ('EGA' MO20D 0.0)))                     ;
4889 :   'MESS' ' M Oxygene (Kg)  ' MO20D '_______' MO2MD '_______'
4890 :        (100. '*' (MO20D '-' MO2MD) '/' MO20D)                        ;
4891 :  'FINSI'                                                             ;
4892 :  'SI' (TBT.'TN2' 'ET' ('NON' ('EGA' MN20D 0.0)))                     ;
4893 :   'MESS' ' M Azote (Kg)  ' MN20D '_______' MN2MD '_______'
4894 :        (100. '*' (MN20D '-' MN2MD) '/' MN20D)                        ;
4895 :  'FINSI'                                                             ;
4896 :  'SI' (TBT.'TCO' 'ET' ('NON' ('EGA' MCO0D 0.0)))                     ;
4897 :   'MESS' ' M CO (Kg)  ' MCO0D '_______' MCOMD '_______'
4898 :        (100. '*' (MCO0D '-' MCOMD) '/' MCO0D)                        ;
4899 :  'FINSI'                                                             ;
4900 :  'SI' (TBT.'TCO2' 'ET' ('NON' ('EGA' MCO20D 0.0)))                   ;
4901 :   'MESS' ' M CO2 (Kg)  ' MCO20D '_______' MCO2MD '_______'
4902 :        (100. '*' (MCO20D '-' MCO2MD) '/' MCO20D)                     ;
4903 :  'FINSI'                                                             ;
4904 :  'SI' (TBT.'TAIR' 'ET' ('NON' ('EGA' MAIR0D 0.0)))                   ;
4905 :   'MESS' ' M AIR (Kg)  ' MAIR0D '_______' MAIRMD '_______'
4906 :        (100. '*' (MAIR0D '-' MAIRMD) '/' MAIR0D)                     ;
4907 :  'FINSI'                                                             ;
4908 :  'MESS' '___________________________________________________________';
4909 :  'SI' TBT.'THERMP'                                                   ;
4910 :  'MESS' ' Energie Stockée Mur (J) ' Emurn    Emurm
4911 :         (100. '*' (Emurn '-' Emurm) '/' Emurn)                       ;
4912 :  'MESS' '___________________________________________________________';
4913 :  'FINSI'                                                             ;
4914 :  'MESS' ' *** Volumes'                                               ;
4915 :  'MESS' ' VTotal=' VTotal ' m3'                                      ;
4916 :  Si (TBT.'Tbreche');
4917 :  'MESS' ' Facteur Geometrique BRECHE (>1) =' GEO.'facgeo'            ;
4918 :  Finsi ;
4919 :  Si (TBT.'Tbreche2');
4920 :  'MESS' ' Facteur Geometrique BRECHE2 (>1) =' GEO.'facgeo2'          ;
4921 :  Finsi ;
4922 :  Si (TBT.'Tbreche3');
4923 :  'MESS' ' Facteur Geometrique BRECHE3 (>1) =' GEO.'facgeo3'          ;
4924 :  Finsi ;
4925 :  'SI' TBT.'THERMP'                                                   ;
4926 :   Sparoif = GEO.'Sparoif'                                            ;
4927 :  'MESS' ' VTotal paroi =' GEO.'VTotalp' ' m3' ' Sparoif=' Sparoif ' m2';
4928 :  'FINSI'                                                             ;
4929 :  'SI' TBT.'TTIMP'                                                    ;
4930 :    NBTIMP=dime (rxt.'TIMP')                              ;
4931 :    itimp=INDEX (rxt.'TIMP')                              ;
4932 :   REPETER BBTIMP NBTIMP                                  ;
4933 : * mess 'BBTIMP 10' ;
4934 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
4935 :  'MESS' ' Surface T imposée '(itimp.&BBTIMP)'  =' Btimp.'Smtpi' ' m2';
4936 :   FIN BBTIMP                                             ;
4937 :  'FINSI'                                                             ;
4938 :  'SI' TBT.'TTIMP1'                                                   ;
4939 :  'MESS' ' Surface T imposée (TIMP1)  =' GEO.'Smtp1' ' m2'            ;
4940 :  'FINSI'                                                             ;
4941 :  'SI' TBT.'TTIMP2'                                                   ;
4942 :  'MESS' ' Surface T imposée (TIMP2)  =' GEO.'Smtp2' ' m2'            ;
4943 :  'FINSI'                                                             ;
4944 :  'SI' TBT.'TTIMP3'                                                   ;
4945 :  'MESS' ' Surface T imposée (TIMP3)  =' GEO.'Smtp3' ' m2'            ;
4946 :  'FINSI'                                                             ;
4947 : 'SI' (TBT.'Tbreche')                                                 ;
4948 :  'MESS' ' Sbreche=' Sbreche ' m2'                                    ;
4949 : 'FINSI'                                                              ;
4950 :  'MESS' ' **********************************************************';
4951 : 
4952 : 'FINSI'                                                  ;
4953 : 
4954 : *************************************************************
4955 : 
4956 : 
4957 : *-----------------------------------------------------------------
4958 : 
4959 :  tic.'UNM'   = un                                            ;
4960 :  tic.'RHONM' = Rho                                           ;
4961 : *---- Modèle K-Epsilon EFM1 --------------------------------
4962 : 'SI'((EGA TBT.'MODTURB' 'KEPSILON') et (EGA TBT.'FEF' 'EFM1'));
4963 :  tic.'KNM'   = tic.'KN'                                      ;
4964 :  tic.'ENM'   = tic.'EN'                                      ;
4965 : 'FINSI'                                                      ;
4966 : *---- Modèle K-Epsilon EFM1 -- FIN -------------------------
4967 :  'SI' TBT.'VAPEUR'                                           ;
4968 :  tic.'RVPNM' = Rvp                                           ;
4969 :  'FINSI'                                                     ;
4970 :  'SI' TBT.'THE'                                              ;
4971 :  tic.'RHEM'  = Rhe                                           ;
4972 :  'FINSI'                                                     ;
4973 :  'SI' TBT.'TH2'                                              ;
4974 :  tic.'RH2M'  = Rh2                                           ;
4975 :  'FINSI'                                                     ;
4976 :  'SI' TBT.'TO2'                                              ;
4977 :  tic.'RO2M'  = Ro2                                           ;
4978 :  'FINSI'                                                     ;
4979 :  'SI' TBT.'TN2'                                              ;
4980 :  tic.'RN2M'  = Rn2                                           ;
4981 :  'FINSI'                                                     ;
4982 :  'SI' TBT.'TCO2'                                             ;
4983 :  tic.'RCO2M'  = Rco2                                         ;
4984 :  'FINSI'                                                     ;
4985 :  'SI' TBT.'TAIR'                                             ;
4986 :  tic.'RAIRM'  = Rair                                         ;
4987 :  'FINSI'                                                     ;
4988 :  'SI' TBT.'TCO'                                              ;
4989 :  tic.'RCOM'  = Rco                                           ;
4990 :  'FINSI'                                                     ;
4991 :  tic.'TFNM'  = Tf                                            ;
4992 :  'SI' TBT.'THERMP'                                           ;
4993 :  tic.'TPNM'  = Tp                                            ;
4994 :  'FINSI'                                                     ;
4995 : 'SI' TBT.'ASPER '                                            ;
4996 :    tic.'VNM' = tic.'VN'                                      ;
4997 :    tic.'XDM' = tic.'XD'                                      ;
4998 :    tic.'TDM' = tic.'TD'                                      ;
4999 :    tic.'DDM' = tic.'DD'                                      ;
5000 : 'FINSI'                                                      ;
5001 : *-----------------------------------------------------------
5002 : 
5003 : 
5004 :    'SI' (EGA TBT.'FEF' 'EFM1')                               ;
5005 :      DTDIFU=rv.'PASDETPS'.'DTDIFU'                           ;
5006 :      DTCONV=rv.'PASDETPS'.'DTCONV'                           ;
5007 :      DTEXPL= (MINI (PROG DTDIFU DTCONV)) * 0.5               ;
5008 : *    mess 'DTEXPL='  DTEXPL ;
5009 :      DTM1 = tic.'DT'                                         ;
5010 : 
5011 :      ect=(DTEXPL - tic.'DT') / DTEXPL                        ;
5012 :      Si (ect > 0.1 )                                         ;
5013 :      tic.'DT' = (0.3 * DTEXPL) + (0.7 * tic.'DT')            ;
5014 :      Finsi                                                   ;
5015 : 
5016 :      Si (ect < 0.1 )                                         ;
5017 :      tic.'DT' = DTEXPL                                       ;
5018 :      Finsi                                                   ;
5019 : 
5020 :      Si(rxt.'DT0' < DTEXPL)                                  ;
5021 :      tic.'DT' = rxt.'DT0'                                    ;
5022 :      Finsi                                                   ;
5023 : 
5024 :      rv.'PASDETPS'.'NUPASDT' = tic.'NUPADT'                  ;
5025 :      rv.'PASDETPS'.'DELTAT-1'= DTM1                          ;
5026 :      rv.'PASDETPS'.'DELTAT'  = 1.e30                         ;
5027 :      rv.'PASDETPS'.'TPS'     = tic.'Tps'                     ;
5028 : 
5029 :    'FINSI'                                                   ;
5030 : *   Mess ' Fin BclTPS tic.DT=' tic.'DT'                      ;
5031 : 'FIN' BCLTPS                                               ;
5032 : *>10'FIN' BCLTPS
5033 : 
5034 : 'SI' ('ET' (TBT.'DETMAT') ('>' nbit 0))                                ;
5035 : 
5036 :   matvide = 0                                                          ;
5037 : 
5038 :   rvm = TBT.'RV'.'METHINV'                                             ;
5039 :   rvm.'TABRES' = matvide                                               ;
5040 :   rvm.'MATASS' = matvide                                               ;
5041 :   rvm.'MAPREC' = matvide                                               ;
5042 :   rvm = 'ENLE' rvm 'TABRES'                                            ;
5043 :   rvm = 'ENLE' rvm 'MATASS'                                            ;
5044 :   rvm = 'ENLE' rvm 'MAPREC'                                            ;
5045 :   TBT.'RV'.'METHINV' = rvm                                             ;
5046 : 
5047 :   'SI' ('EXIS' TBT.'RV' 'PROJ')                                        ;
5048 :     rvprm = TBT.'RV'.'PROJ'.'METHINV'                                  ;
5049 :     rvprm.'TABRES' = matvide                                           ;
5050 :     rvprm.'MATASS' = matvide                                           ;
5051 :     rvprm.'MAPREC' = matvide                                           ;
5052 :     rvprm = 'ENLE' rvprm 'TABRES'                                      ;
5053 :     rvprm = 'ENLE' rvprm 'MATASS'                                      ;
5054 :     rvprm = 'ENLE' rvprm 'MAPREC'                                      ;
5055 :     TBT.'RV'.'PROJ'.'METHINV' = rvprm                                  ;
5056 :     rvpr = TBT.'RV'.'PROJ'                                             ;
5057 :     rvpr.'MATP' = matvide                                              ;
5058 :     rvpr.'MATC' = matvide                                              ;
5059 :     rvpr = 'ENLE' rvpr 'MATP'                                          ;
5060 :     rvpr = 'ENLE' rvpr 'MATC'                                          ;
5061 :     TBT.'RV'.'PROJ' = rvpr                                             ;
5062 :     rv = TBT.'RV'                                                      ;
5063 :     rv = 'ENLE' rv 'rvpd'                                              ;
5064 :     TBT.'RV' = rv                                                      ;
5065 :   'FINSI'                                                              ;
5066 : 
5067 :   rtfm = TBT.'RTF'.'METHINV'                                           ;
5068 :   rtfm.'TABRES' = matvide                                              ;
5069 :   rtfm.'MATASS' = matvide                                              ;
5070 :   rtfm.'MAPREC' = matvide                                              ;
5071 :   rtfm = 'ENLE' rtfm 'TABRES'                                          ;
5072 :   rtfm = 'ENLE' rtfm 'MATASS'                                          ;
5073 :   rtfm = 'ENLE' rtfm 'MAPREC'                                          ;
5074 :   TBT.'RTF'.'METHINV' = rtfm                                           ;
5075 : 
5076 :   'SI'((TBT.'THERMP') ou (TBT.'TPAROIS'))                              ;
5077 :     rtpm = TBT.'RTP'.'METHINV'                                         ;
5078 :     rtpm.'TABRES' = matvide                                            ;
5079 :     rtpm.'MATASS' = matvide                                            ;
5080 :     rtpm.'MAPREC' = matvide                                            ;
5081 :     rtpm = 'ENLE' rtpm 'TABRES'                                        ;
5082 :     rtpm = 'ENLE' rtpm 'MATASS'                                        ;
5083 :     rtpm = 'ENLE' rtpm 'MAPREC'                                        ;
5084 :     TBT.'RTP'.'METHINV' = rtpm                                         ;
5085 :   'FINSI'                                                              ;
5086 : 
5087 :   'SI' TBT.'VAPEUR'                                                    ;
5088 :     Rrvapm = TBT.'Rrvap'.'METHINV'                                     ;
5089 :     Rrvapm.'TABRES' = matvide                                          ;
5090 :     Rrvapm.'MATASS' = matvide                                          ;
5091 :     Rrvapm.'MAPREC' = matvide                                          ;
5092 :     Rrvapm = 'ENLE' Rrvapm 'TABRES'                                    ;
5093 :     Rrvapm = 'ENLE' Rrvapm 'MATASS'                                    ;
5094 :     Rrvapm = 'ENLE' Rrvapm 'MAPREC'                                    ;
5095 :     TBT.'Rrvap'.'METHINV' = Rrvapm                                     ; 
5096 :   'FINSI'                                                              ;
5097 : 
5098 :   'SI' TBT.'THE' ;
5099 :     Rrhem = TBT.'Rrhe'.'METHINV'                                       ;
5100 :     Rrhem.'TABRES' = matvide                                           ;
5101 :     Rrhem.'MATASS' = matvide                                           ;
5102 :     Rrhem.'MAPREC' = matvide                                           ;
5103 :     Rrhem = 'ENLE' Rrhem 'TABRES'                                      ;
5104 :     Rrhem = 'ENLE' Rrhem 'MATASS'                                      ;
5105 :     Rrhem = 'ENLE' Rrhem 'MAPREC'                                      ;
5106 :     TBT.'Rrhe'.'METHINV' = Rrhem                                       ;
5107 :   'FINSI' ;
5108 : 
5109 :   'SI' TBT.'TH2'                                                       ;
5110 :     Rrh2m = TBT.'Rrh2'.'METHINV'                                       ;
5111 :     Rrh2m.'TABRES' = matvide                                           ;
5112 :     Rrh2m.'MATASS' = matvide                                           ;
5113 :     Rrh2m.'MAPREC' = matvide                                           ;
5114 :     Rrh2m = 'ENLE' Rrh2m 'TABRES'                                      ;
5115 :     Rrh2m = 'ENLE' Rrh2m 'MATASS'                                      ;
5116 :     Rrh2m = 'ENLE' Rrh2m 'MAPREC'                                      ;
5117 :     TBT.'Rrh2'.'METHINV' = Rrh2m                                       ;
5118 :   'FINSI'                                                              ;
5119 : 
5120 :   'SI' TBT.'TO2'                                                       ;
5121 :     Rro2m = TBT.'Rro2'.'METHINV'                                       ;
5122 :     Rro2m.'TABRES' = matvide                                           ;
5123 :     Rro2m.'MATASS' = matvide                                           ;
5124 :     Rro2m.'MAPREC' = matvide                                           ; 
5125 :     Rro2m = 'ENLE' Rro2m 'TABRES'                                      ;
5126 :     Rro2m = 'ENLE' Rro2m 'MATASS'                                      ;
5127 :     Rro2m = 'ENLE' Rro2m 'MAPREC'                                      ;
5128 :     TBT.'Rro2'.'METHINV' = Rro2m                                       ;
5129 :   'FINSI'                                                              ;
5130 : 
5131 :   'SI' TBT.'TN2'                                                       ;
5132 :     Rrn2m = TBT.'Rrn2'.'METHINV'                                       ;
5133 :     Rrn2m.'TABRES' = matvide                                           ;
5134 :     Rrn2m.'MATASS' = matvide                                           ;
5135 :     Rrn2m.'MAPREC' = matvide                                           ;
5136 :     Rrn2m = 'ENLE' Rrn2m 'TABRES'                                      ;
5137 :     Rrn2m = 'ENLE' Rrn2m 'MATASS'                                      ;
5138 :     Rrn2m = 'ENLE' Rrn2m 'MAPREC'                                      ;
5139 :     TBT.'Rrn2'.'METHINV'  = Rrn2m                                      ;
5140 :   'FINSI'                                                              ;
5141 : 
5142 :   'SI' TBT.'TCO2'                                                      ;
5143 :     Rrco2m = TBT.'Rrco2'.'METHINV'                                     ;
5144 :     Rrco2m.'TABRES' = matvide                                          ;
5145 :     Rrco2m.'MATASS' = matvide                                          ;
5146 :     Rrco2m.'MAPREC' = matvide                                          ;
5147 :     Rrco2m = 'ENLE' Rrco2m 'TABRES'                                    ;
5148 :     Rrco2m = 'ENLE' Rrco2m 'MATASS'                                    ;
5149 :     Rrco2m = 'ENLE' Rrco2m 'MAPREC'                                    ;
5150 :     TBT.'Rrco2'.'METHINV' = Rrco2m                                     ;
5151 :   'FINSI'                                                              ;
5152 : 
5153 :   'SI' TBT.'TAIR'                                                      ;
5154 :     Rrairm = TBT.'Rrair'.'METHINV'                                     ;
5155 :     Rrairm.'TABRES' = matvide                                          ;
5156 :     Rrairm.'MATASS' = matvide                                          ;
5157 :     Rrairm.'MAPREC' = matvide                                          ;
5158 :     Rrairm = 'ENLE' Rrairm 'TABRES'                                    ;
5159 :     Rrairm = 'ENLE' Rrairm 'MATASS'                                    ;
5160 :     Rrairm = 'ENLE' Rrairm 'MAPREC'                                    ;
5161 :     TBT.'Rrair'.'METHINV' = Rrairm                                     ;
5162 :   'FINSI'                                                              ;
5163 : 
5164 :   'SI' TBT.'TCO'                                                       ;
5165 :     Rrcom = TBT.'Rrco'.'METHINV'                                       ;
5166 :     Rrcom.'TABRES'= matvide                                            ;
5167 :     Rrcom.'MATASS'= matvide                                            ;
5168 :     Rrcom.'MAPREC'= matvide                                            ;
5169 :     Rrcom = 'ENLE' Rrcom 'TABRES'                                      ;
5170 :     Rrcom = 'ENLE' Rrcom 'MATASS'                                      ;
5171 :     Rrcom = 'ENLE' Rrcom 'MAPREC'                                      ;  
5172 :     TBT.'Rrco'.'METHINV' = Rrcom                                       ;
5173 :   'FINSI'                                                              ;
5174 : 
5175 :   'SI' TBT.'ASPER'                                                     ;
5176 :     rvnm = TBT.'RVN'.'METHINV'                                         ;
5177 :     rvnm.'TABRES'= matvide                                             ;
5178 :     rvnm.'MATASS'= matvide                                             ;
5179 :     rvnm.'MAPREC'= matvide                                             ;
5180 :     rvnm = 'ENLE' rvnm 'TABRES'                                        ;
5181 :     rvnm = 'ENLE' rvnm 'MATASS'                                        ;
5182 :     rvnm = 'ENLE' rvnm 'MAPREC'                                        ;
5183 :     TBT.'RVN'.'METHINV' = rvnm                                         ;
5184 :     rxdm = TBT.'RXD'.'METHINV'                                         ;
5185 :     rxdm.'TABRES'= matvide                                             ;
5186 :     rxdm.'MATASS'= matvide                                             ;
5187 :     rxdm.'MAPREC'= matvide                                             ;
5188 :     rxdm = 'ENLE' rxdm 'TABRES'                                        ;
5189 :     rxdm = 'ENLE' rxdm 'MATASS'                                        ;
5190 :     rxdm = 'ENLE' rxdm 'MAPREC'                                        ;
5191 :     TBT.'RXD'.'METHINV' = rxdm                                         ;
5192 :     rddm = TBT.'RDD'.'METHINV'                                         ;
5193 :     rddm.'TABRES'= matvide                                             ;
5194 :     rddm.'MATASS'= matvide                                             ;
5195 :     rddm.'MAPREC'= matvide                                             ;
5196 :     rddm = 'ENLE' rddm 'TABRES'                                        ;
5197 :     rddm = 'ENLE' rddm 'MATASS'                                        ;
5198 :     rddm = 'ENLE' rddm 'MAPREC'                                        ;
5199 :     TBT.'RDD'.'METHINV' = rddm                                         ;
5200 :     rtdm = TBT.'RTD'.'METHINV'                                         ;
5201 :     rtdm.'TABRES'= matvide                                             ;
5202 :     rtdm.'MATASS'= matvide                                             ;
5203 :     rtdm.'MAPREC'= matvide                                             ;
5204 :     rtdm = 'ENLE' rtdm 'TABRES'                                        ;
5205 :     rtdm = 'ENLE' rtdm 'MATASS'                                        ;
5206 :     rtdm = 'ENLE' rtdm 'MAPREC'                                        ;
5207 :     TBT.'RTD'.'METHINV' = rtdm                                         ;
5208 :   'FINSI'                                                              ;
5209 : 
5210 : 'FINSI'                                                                ;
5211 : 
5212 : *-----------------------------------------------------------
5213 : *----- FIN de la boucle principale sur les pas de temps ----
5214 : *-----------------------------------------------------------
5215 :     
5216 : *==============================================================
5217 : Si TBT.'GRAPH'                                                    ;
5218 : *******************************************************************
5219 : ******** Post Graphique de controle
5220 : *******************************************************************
5221 : 
5222 :  tic  = rxt.'TIC'                                                 ;
5223 :  $vtf = GEO.'$vtf'                                                ;
5224 :  Si (Exist tic 'LTPSC')                                           ;
5225 :   ltpsc= tic.'LTPSC'                                              ;
5226 :   ltps = extr (tic.'LTPS') (tic.'LTPSC')                          ;
5227 :  Sinon                                                            ;
5228 :   ltps = tic.'LTPS'                                               ;
5229 :   ltpsc= lect 1 pas 1 (dime ltps)                                 ;
5230 :  Finsi                                                            ;
5231 : 
5232 :  tab1 = table ;
5233 :  tab1.1 = 'MARQ CROI REGU' ;
5234 :  tab1.2 = 'MARQ TRIA REGU' ;
5235 :  tab1.3 = 'MARQ LOSA REGU' ;
5236 :  tab1.'TITRE' = table ;
5237 : 
5238 :  mvtf= 'DOMA' $vtf maillage                          ;
5239 : 
5240 :  un = tic.'UN' ;
5241 :  modu= ( 'KOPS' un  'PSCA'  un ) ** 0.5 ; mmu= 'MAXI' modu ;
5242 :  'MESS' ' MAXI module de U ********* ' mmu ;
5243 : 
5244 : **************************************************************
5245 : * Débit injection / Débit condensation
5246 : 
5247 :  evsrcv=EVOL VERT  'MANU' 'Temps en sec' ltps 'Kg/s'
5248 :  (extr tic.'Qj' ltpsc);
5249 : 
5250 :  evqc  = EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/s'
5251 :  (extr tic.'Qc' ltpsc);
5252 : 
5253 : 
5254 :  tab1.'TITRE'. 1 = 'MOT' 'Q_cond Kg/s' ;
5255 :  tab1.'TITRE'. 2 = 'MOT' 'Q_inj Kg/s' ;
5256 : 
5257 :  evsrcv=evsrcv et (EVOL BLEU  'MANU' 'Temps en sec' ltps 'Kg/s'
5258 :  (extr (tic.'Qj2') ltpsc)) ;
5259 :  tab1.'TITRE'. 3 = 'MOT' 'Q_inj2 Kg/s' ;
5260 : 
5261 :  evsrcv=evsrcv et (EVOL TURQ  'MANU' 'Temps en sec' ltps 'Kg/s'
5262 :  (extr (tic.'Qj3') ltpsc)) ;
5263 :  tab1.'TITRE'. 4 = 'MOT' 'Q_inj3 Kg/s' ;
5264 : 
5265 :  evtq=evqc et evsrcv;
5266 : 
5267 :  Si TBT.'ASPER ' ;
5268 : * ASPER dessin
5269 :  lqQas = tic.'Qaspe' ;
5270 :  evQas = EVOL JAUNE 'MANU' 'Temps en sec' ltps 'Kg/s'
5271 :  (extr lqQas ltpsc) ;
5272 :  tab1.'TITRE'. 5 = 'MOT' 'Q_aspe Kg/s' ;
5273 :  evtq=evtq et evqas ;
5274 :  dess evtq
5275 : LEGE TAB1 DATE MIMA TITR ' Débit injection/condensé/aspersion' ;
5276 :  Sinon ;
5277 :  dess evtq
5278 : LEGE TAB1 DATE MIMA TITR ' Débit injection/condensé' ;
5279 :  Finsi ;
5280 : 
5281 : **************************************************************
5282 : **************************************************************
5283 : * Taux d'injection de la vapeur
5284 : 'SI' (TBT.'VAPEUR')                                          ;
5285 : 
5286 : 
5287 : *.............................................................
5288 :  Si ('EGA'(dime tic.'Tinj') (dime ltpsc));
5289 :  evtinj =EVOL VERT  'MANU' 'Temps en sec' ltps '%'
5290 :  (extr tic.'Tinj' ltpsc);
5291 : 
5292 :  Si ('EGA'(dime tic.'Tinj2') (dime ltpsc));
5293 :  evtinj=evtinj et (EVOL BLEU  'MANU' 'Temps en sec' ltps '%'
5294 :  (extr tic.'Tinj2' ltpsc));
5295 :  Finsi ;
5296 : 
5297 :  Si ('EGA'(dime tic.'Tinj3') (dime ltpsc));
5298 :  evtinj=evtinj et (EVOL BLEU  'MANU' 'Temps en sec' ltps '%'
5299 :  (extr tic.'Tinj3' ltpsc));
5300 :  Finsi ;
5301 : 
5302 :  tab1.'TITRE'. 1 = 'MOT' 'Tinj ' ;
5303 :  tab1.'TITRE'. 2 = 'MOT' 'Tinj2' ;
5304 :  tab1.'TITRE'. 3 = 'MOT' 'Tinj3' ;
5305 : 
5306 :  dess evtinj
5307 : LEGE TAB1 DATE MIMA TITR ' Température d injection aux brèches' ;
5308 :  Finsi                                                       ;
5309 : 
5310 : *.............................................................
5311 : 
5312 : *.............................................................
5313 :  Si ('EGA'(dime tic.'Ksi') (dime ltpsc));
5314 :  evksi =EVOL VERT  'MANU' 'Temps en sec' ltps '%'
5315 :  (extr tic.'Ksi' ltpsc);
5316 : 
5317 :  Si ('EGA'(dime tic.'Ksi2') (dime ltpsc));
5318 :  evksi=evksi et (EVOL BLEU  'MANU' 'Temps en sec' ltps '%'
5319 :  (extr tic.'Ksi2' ltpsc));
5320 :  Finsi ;
5321 : 
5322 :  Si ('EGA'(dime tic.'Ksi3') (dime ltpsc));
5323 :  evksi=evksi et (EVOL BLEU  'MANU' 'Temps en sec' ltps '%'
5324 :  (extr tic.'Ksi3' ltpsc));
5325 :  Finsi ;
5326 : 
5327 :  tab1.'TITRE'. 1 = 'MOT' 'Ksi ' ;
5328 :  tab1.'TITRE'. 2 = 'MOT' 'Ksi2' ;
5329 :  tab1.'TITRE'. 3 = 'MOT' 'Ksi3' ;
5330 : 
5331 :  dess evksi
5332 : LEGE TAB1 DATE MIMA TITR ' Taux d injection de la vapeur aux brèches' ;
5333 :  Finsi                                                       ;
5334 : 
5335 : *.............................................................
5336 : 
5337 : * Trace des Debits liquide vapeur et total aux breches
5338 : 
5339 :  tab1.1 = 'MARQ CROI REGU' ;
5340 :  tab1.2 = 'MARQ CROI REGU TIRM' ;
5341 :  tab1.3 = 'MARQ CROI REGU TIRC' ;
5342 :  tab1.4 = 'MARQ TRIA REGU' ;
5343 :  tab1.5 = 'MARQ TRIA REGU TIRM' ;
5344 :  tab1.6 = 'MARQ TRIA REGU TIRC' ;
5345 :  tab1.7 = 'MARQ LOSA REGU' ;
5346 :  tab1.8 = 'MARQ LOSA REGU TIRM' ;
5347 :  tab1.9 = 'MARQ LOSA REGU TIRC' ;
5348 :  
5349 :  Si ('EGA'(dime tic.'Qlj') (dime ltpsc));
5350 :  evql =EVOL VERT  'MANU' 'Temps en sec' ltps 'Kg/s'
5351 :  (extr tic.'Qlj' ltpsc);
5352 :  Sinon                                                       ;
5353 :  evql=(EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/s'
5354 :  (prog (dime ltpsc)*0.));
5355 :  Finsi                                                       ;
5356 :  qt= (extr evql 'ORDO');
5357 :  qt= qt + (extr tic.'Qj' ltpsc);
5358 :  evqlj=(EVOL VERT  'MANU' 'Temps en sec' ltps 'Kg/s' qt);
5359 :  evqlj=evqlj et evql;
5360 :  evqlj=evqlj et (EVOL VERT  'MANU' 'Temps en sec' ltps 'Kg/s'
5361 :  (extr tic.'Qj' ltpsc));
5362 : 
5363 :  tab1.'TITRE'. 1 = 'MOT' 'Qjtot' ;
5364 :  tab1.'TITRE'. 2 = 'MOT' 'Qlj ' ;
5365 :  tab1.'TITRE'. 3 = 'MOT' 'Qj ';
5366 : 
5367 :  Si ('EGA'(dime tic.'Qlj2') (dime ltpsc));
5368 :  evql=(EVOL BLEU  'MANU' 'Temps en sec' ltps 'Kg/s'
5369 :  (extr tic.'Qlj2' ltpsc));
5370 :  Sinon ;
5371 :  evql=(EVOL BLEU  'MANU' 'Temps en sec' ltps 'Kg/s'
5372 :  (prog (dime ltpsc)*0.));
5373 :  Finsi ;
5374 :  qt= (extr evql 'ORDO');
5375 :  qt= qt + (extr tic.'Qj2' ltpsc);
5376 :  evqlj=evqlj et (EVOL BLEU  'MANU' 'Temps en sec' ltps 'Kg/s' qt);
5377 :  evqlj=evqlj et evql ;
5378 :  evqlj=evqlj et (EVOL BLEU  'MANU' 'Temps en sec' ltps 'Kg/s'
5379 :  (extr tic.'Qj2' ltpsc));
5380 :  tab1.'TITRE'. 4 = 'MOT' 'Qj2tot';
5381 :  tab1.'TITRE'. 5 = 'MOT' 'Qlj2';
5382 :  tab1.'TITRE'. 6 = 'MOT' 'Qj2';
5383 : 
5384 :  Si ('EGA'(dime tic.'Qlj3') (dime ltpsc));
5385 :  evql=(EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/s'
5386 :  (extr tic.'Qlj3' ltpsc));
5387 :  Sinon ;
5388 :  evql=(EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/s'
5389 :  (prog (dime ltpsc)*0.));
5390 :  Finsi ;
5391 :  qt= (extr evql 'ORDO');
5392 :  qt= qt + (extr tic.'Qj3' ltpsc);
5393 :  evqlj=evqlj et (EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/s' qt);    
5394 :  evqlj=evqlj et evql ;
5395 :  evqlj=evqlj et (EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/s'
5396 :  (extr tic.'Qj3' ltpsc));
5397 :  tab1.'TITRE'. 7 = 'MOT' 'Qj3tot' ;
5398 :  tab1.'TITRE'. 8 = 'MOT' 'Qlj3' ;
5399 :  tab1.'TITRE'. 9 = 'MOT' 'Qj3'  ;
5400 : 
5401 :  dess evqlj
5402 : LEGE TAB1 DATE MIMA
5403 :  TITR ' Debits injection liquide/vapeur aux brèches' ;
5404 : 
5405 :  tab1.1 = 'MARQ CROI REGU' ;
5406 :  tab1.2 = 'MARQ TRIA REGU' ;
5407 :  tab1.3 = 'MARQ LOSA REGU' ;
5408 : 
5409 : *.............................................................
5410 : 
5411 : 'FINSI'                                                      ;
5412 : **************************************************************
5413 : **************************************************************
5414 : * Débits condensations Total et détails
5415 : Si (TBT.'VAPEUR');
5416 : 
5417 :  tab2 = table ;
5418 :  tab2.1 = 'MARQ CROI REGU' ;
5419 :  tab2.2 = 'MARQ TRIA REGU' ;
5420 :  tab2.3 = 'MARQ LOSA REGU' ;
5421 :  tab2.4 = 'MARQ CARR REGU' ;
5422 :  tab2.5 = 'MARQ TRIB REGU' ;
5423 :  tab2.'TITRE' = table ;
5424 : 
5425 :  evsrcv=EVOL VERT  'MANU' 'Temps en sec' ltps 'Kg/s'
5426 :  (extr tic.'Qc' ltpsc);
5427 :  evtq = evsrcv ;
5428 :  tab2.'TITRE'. 1 = 'MOT' 'Q_cond Kg/s' ;
5429 : 
5430 :  Numero = 1 ;
5431 :  Si('EXIST' tic 'Qc1') ;
5432 :  Numero = Numero + 1 ;
5433 :  evqc1 = EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/s'
5434 :  (extr tic.'Qc1' ltpsc);
5435 :  evtq=evtq et evqc1 ;
5436 :  tab2.'TITRE'. Numero = 'MOT' 'Qc1 Kg/s' ;
5437 :  Finsi ;
5438 : 
5439 :  Si('EXIST' tic 'Qc2') ;
5440 :  Numero = Numero + 1 ;
5441 :  evqc2 = EVOL JAUNE 'MANU' 'Temps en sec' ltps 'Kg/s'
5442 :  (extr tic.'Qc2' ltpsc);
5443 :  evtq=evtq et evqc2 ;
5444 :  tab2.'TITRE'. Numero = 'MOT' 'Qc2 Kg/s' ;
5445 :  Finsi ;
5446 : 
5447 :  Si('EXIST' tic 'Qc3') ;
5448 :  Numero = Numero + 1 ;
5449 :  evqc3 = EVOL ROSE  'MANU' 'Temps en sec' ltps 'Kg/s'
5450 :  (extr tic.'Qc3' ltpsc);
5451 :  evtq=evtq et evqc3 ;
5452 :  tab2.'TITRE'. Numero = 'MOT' 'Qc3 Kg/s' ;
5453 :  Finsi ;
5454 : 
5455 :  Si('EXIST' tic 'Qcw') ;
5456 :  Numero = Numero + 1 ;
5457 :  evqcw = EVOL TURQ  'MANU' 'Temps en sec' ltps 'Kg/s'
5458 :  (extr tic.'Qcw' ltpsc);
5459 :  evtq=evtq et evqcw ;
5460 :  tab2.'TITRE'. Numero = 'MOT' 'Qcw Kg/s' ;
5461 :  Finsi ;
5462 : 
5463 :  Si('EXIST' tic 'Qc0') ;
5464 :  Numero = Numero + 1 ;
5465 :  evqc0 = EVOL TURQ  'MANU' 'Temps en sec' ltps 'Kg/s'
5466 :  (extr tic.'Qc0' ltpsc);
5467 :  evtq=evtq et evqc0 ;
5468 :  tab2.'TITRE'. Numero = 'MOT' 'Qc0 Kg/s' ;
5469 :  Finsi ;
5470 : 
5471 :  Si('EXIST' tic 'Qcm') ;
5472 :  Numero = Numero + 1 ;
5473 :  evqcm = EVOL BLEU  'MANU' 'Temps en sec' ltps 'Kg/s'
5474 :  (extr tic.'Qcm' ltpsc);
5475 :  evtq=evtq et evqcm ;
5476 :  tab2.'TITRE'. Numero = 'MOT' 'Qcm Kg/s' ;
5477 :  Finsi ;
5478 : 
5479 :  dess evtq
5480 : 
5481 : LEGE TAB2 DATE MIMA TITR ' Débits condensés détails' ;
5482 : Finsi                                                ;
5483 : **************************************************************
5484 : 
5485 : *******************************************************************
5486 : 
5487 :  evsrhv=EVOL VERT    'MANU' 'Temps en sec' ltps 'Htot'
5488 :  (extr tic.'Hj' ltpsc);
5489 :  lqe   = tic.'Remn' ;
5490 :  evqe  = EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Hj-Em ' 
5491 :  (extr lqe ltpsc) ;
5492 :  tab1.'TITRE'. 2 = 'MOT' 'Hj  J/Kg' ;
5493 :  tab1.'TITRE'. 1 = 'MOT' 'Em  J/kg' ;
5494 :  Si('EXIST' tic 'Hj2') ;
5495 :  evsrhv= evsrhv et (EVOL BLEU 'MANU' 'Temps en sec' ltps 'HVap'
5496 :  (extr (tic.'Hj2') ltpsc) ) ;
5497 :  tab1.'TITRE'. 3 = 'MOT' 'Hj2 J/kg' ;
5498 :  Finsi ;
5499 :  Si('EXIST' tic 'Hj3') ;
5500 :  evsrhv= evsrhv et (EVOL TURQ 'MANU' 'Temps en sec' ltps 'HVap'
5501 :  (extr (tic.'Hj3') ltpsc) ) ;
5502 :  tab1.'TITRE'. 4 = 'MOT' 'Hj3 J/kg' ;
5503 :  Finsi ;
5504 : 
5505 :  dess (evqe et evsrhv)
5506 :  LEGE TAB1 DATE MIMA TITR
5507 :  ' Enthalpie(s) à la (aux) brèche(s) / énergie moyenne' ;
5508 : *******************************************************************
5509 : 
5510 : 
5511 :  lqEcd = tic.'Econd' ;
5512 :  evEcd = EVOL VERT 'MANU' 'Temps en sec' ltps 'Ecd' (extr lqEcd ltpsc);
5513 : 
5514 :  lqEcv = tic.'Econv' ;
5515 :  evEcv = EVOL BLEU 'MANU' 'Temps en sec' ltps 'Ecv' (extr lqEcv ltpsc);
5516 : 
5517 : 
5518 :  'SI' TBT.'VAPEUR'                                       ;
5519 :  tab1.'TITRE'. 1 = 'MOT' 'Ecv Joule' ;
5520 :    dess  evEcd
5521 :  LEGE TAB1 DATE MIMA TITR ' Energie de condensation ' ;
5522 :    dess  evEcv
5523 :  LEGE TAB1 DATE MIMA TITR ' Energie echange convectif';
5524 :  'FINSI'      ;
5525 : 
5526 :  lqMinj = extr tic.'Minj' ltpsc ;
5527 :  evMinjv = EVOL BLEU 'MANU' 'Temps en sec' ltps 'Minj-Mcond' lqMinj ;
5528 :  lqMcond = extr tic.'Mcond' ltpsc ;
5529 :  evMcond = EVOL VERT 'MANU' 'Temps en sec' ltps 'Minj-Mcond' lqMcond ;
5530 :  lqMrest = extr tic.'Mrest' ltpsc ;
5531 :  evMrest = EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Minj-Mcond' lqMrest ;
5532 :  Si (EGA (dime tic.'Mliqpuis') (dime ltpsc));
5533 :  lqMpuis = extr tic.'Mliqpuis' ltpsc ;
5534 :  Sinon;
5535 :  lqMpuis=prog (dime ltpsc)*0.;
5536 :  Finsi;
5537 :  evMpuis = EVOL JAUNE 'MANU' 'Temps en sec' ltps 'Minj-Mcond' lqMpuis ;
5538 : 
5539 : ********************************************************************
5540 :  tab1.'TITRE'. 1 = 'MOT' 'M_inj Kg'  ;
5541 :  tab1.'TITRE'. 2 = 'MOT' 'M_cond Kg' ;
5542 :  tab1.'TITRE'. 3 = 'MOT' 'M_rest Kg' ;
5543 :  tab1.'TITRE'. 4 = 'MOT' 'M_puis Kg' ;
5544 :  dess (evMinjv et evMcond et evMrest et evMpuis)
5545 : LEGE TAB1 DATE MIMA
5546 :  TITR ' Masses injectées/ condensées/ restantes/ Puisard' ;
5547 : ********************************************************************
5548 : 
5549 : Si ( 'EXIST' tic 'guj' ) ;
5550 : *******************************************************************
5551 : * Vitesse max / Vitesse injection brèche 1
5552 :  evmaxu= EVOL VERT 'MANU' 'Temps en sec' ltps 'M / s '
5553 :  (extr tic.'LMAXU' ltpsc);
5554 :  evgj  = EVOL ROSE 'MANU' 'Temps en sec' ltps 'M / s ' 
5555 :  (extr tic.'guj' ltpsc) ;
5556 :  tab1.'TITRE'. 1 = 'MOT' 'Max u m/s' ;
5557 :  tab1.'TITRE'. 2 = 'MOT' 'U inj m/s' ;
5558 :  dess (evmaxu et evgj)
5559 :  LEGE TAB1 DATE MIMA TITR ' Vitesse max / Vitesse inject brèche 1 ' ;
5560 : *******************************************************************
5561 : Finsi ;
5562 : 
5563 : Si ( 'EXIST' tic 'guj2' ) ;
5564 : *******************************************************************
5565 : * Vitesse max / Vitesse injection brèche 2
5566 :  evgj2 = EVOL ROSE 'MANU' 'Temps en sec' ltps 'M / s ' 
5567 :  (extr tic.'guj2' ltpsc);
5568 :  tab1.'TITRE'. 1 = 'MOT' 'Max u m/s' ;
5569 :  tab1.'TITRE'. 2 = 'MOT' 'U inj m/s' ;
5570 :  dess (evmaxu et evgj2)
5571 :  LEGE TAB1 DATE MIMA TITR ' Vitesse max / Vitesse inject brèche 2 ' ;
5572 : *******************************************************************
5573 : Finsi ;
5574 : 
5575 : Si ( 'EXIST' tic 'guj3' ) ;
5576 : *******************************************************************
5577 : * Vitesse max / Vitesse injection brèche 3
5578 :  evgj3 = EVOL ROSE 'MANU' 'Temps en sec' ltps 'M / s '
5579 :  (extr tic.'guj3' ltpsc);
5580 :  tab1.'TITRE'. 1 = 'MOT' 'Max u m/s' ;
5581 :  tab1.'TITRE'. 2 = 'MOT' 'U inj m/s' ;
5582 :  dess (evmaxu et evgj3)
5583 :  LEGE TAB1 DATE MIMA TITR ' Vitesse max / Vitesse inject brèche 3 ' ;
5584 : *******************************************************************
5585 : Finsi ;
5586 : 
5587 : *******************************************************************
5588 : * Densités
5589 :  evrhom= EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5590 :  (extr tic.'Rhom' ltpsc) ;
5591 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom Kg/m3' ;
5592 :  evdens = evrhom ;
5593 : 
5594 :  ID = 1 ;
5595 :  'SI' TBT.'VAPEUR'                                       ;
5596 :  ID = ID + 1 ;
5597 :  evrhomv= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3' 
5598 :  (extr tic.'Rhomv' ltpsc) ;
5599 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_vap Kg/m3' ;
5600 :  evdens = evdens et evrhomv ;
5601 :  evrhomvg= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5602 :  (extr tic.'Rhomvg' ltpsc) ;
5603 :  ID = ID + 1 ;
5604 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_vg Kg/m3' ;
5605 :  evdens = evdens et evrhomvg ;
5606 :  'FINSI' ;
5607 : 
5608 :  'SI' TBT.'THE';
5609 :  ID = ID + 1 ;
5610 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_He Kg/m3' ;
5611 :  evrhomhe=EVOL JAUNE 'MANU' 'Temps en sec' ltps 'Kg/m3' 
5612 :  (extr tic.'Rhomhe' ltpsc) ;
5613 :  evdens = evdens et evrhomhe ;
5614 :  'FINSI' ;
5615 : 
5616 :  'SI' TBT.'TH2' ;
5617 :  ID = ID + 1 ;
5618 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_H2 Kg/m3' ;
5619 :  evrhomh2=EVOL BLEU 'MANU' 'Temps en sec' ltps 'Kg/m3'
5620 :  (extr tic.'Rhomh2' ltpsc) ;
5621 :  evdens = evdens et evrhomh2 ;
5622 :  'FINSI' ;
5623 : 
5624 :  'SI' TBT.'TO2';
5625 :  ID = ID + 1 ;
5626 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_O2 Kg/m3' ;
5627 :  evrhomo2=EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5628 :  (extr tic.'Rhomo2' ltpsc) ;
5629 :  evdens = evdens et evrhomo2 ;
5630 :  'FINSI' ;
5631 : 
5632 :  'SI' TBT.'TN2';
5633 :  ID = ID + 1 ;
5634 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_N2 Kg/m3' ;
5635 :  evrhomn2=EVOL ROSE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5636 :  (extr tic.'Rhomn2' ltpsc);
5637 :  evdens = evdens et evrhomn2 ;
5638 :  'FINSI' ;
5639 : 
5640 :  'SI' TBT.'TCO' ;
5641 :  ID = ID + 1 ;
5642 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_CO Kg/m3' ;
5643 :  evrhomco=EVOL JAUN 'MANU' 'Temps en sec' ltps 'Kg/m3' 
5644 :  (extr tic.'Rhomco' ltpsc);
5645 :  evdens = evdens et evrhomco ;
5646 :  'FINSI' ;
5647 : 
5648 :  'SI' TBT.'TCO2' ;
5649 :  ID = ID + 1 ;
5650 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_CO2 Kg/m3' ;
5651 :  evrco2 =EVOL ROSE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5652 :  (extr tic.'Rhomco2' ltpsc);
5653 :  evdens = evdens et evrco2 ;
5654 :  'FINSI' ;
5655 : 
5656 :  'SI' TBT.'TAIR' ;
5657 :  ID = ID + 1 ;
5658 :  tab1.'TITRE'. ID = 'MOT' 'Rhom_AIR Kg/m3' ;
5659 :  evrair =EVOL JAUNE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5660 :  (extr tic.'Rhomair' ltpsc);
5661 :  evdens = evdens et evrair ;
5662 :  'FINSI' ;
5663 : 
5664 :  dess evdens
5665 :  LEGE TAB1 DATE MIMA TITR ' Densités mélange / vapeur / incondensables';
5666 : *******************************************************************
5667 : 
5668 : *******************************************************************
5669 : * Densités et correction 0D
5670 :  evrhom= EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5671 :  (extr tic.'Rhom' ltpsc);
5672 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom Kg/m3' ;
5673 :  evrho  = evrhom ;
5674 : 
5675 :  evdrho  = EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3' 
5676 :  (extr tic.'drho' ltpsc);
5677 :  tab1.'TITRE'. 2 = 'MOT' 'dRho Kg/m3' ;
5678 :  evrho  = evrho  et evdrho ;
5679 : 
5680 :  dess evrho
5681 :  LEGE TAB1 DATE MIMA TITR ' Densité mélange et correction ' ;
5682 : 
5683 :  'SI' TBT.'VAPEUR'                                       ;
5684 :  evrhomv   = EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5685 :  (extr tic.'Rhomv' ltpsc);
5686 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom_VAP Kg/m3' ;
5687 :  evrhov = evrhomv;
5688 : 
5689 :  evrhomvg  = EVOL TURQ 'MANU' 'Temps en sec' ltps 'Kg/m3'
5690 :  (extr tic.'Rhomvg' ltpsc);
5691 :  tab1.'TITRE'. 2 = 'MOT' 'Rhom_H2O Kg/m3' ;
5692 :  evrhov = evrhov  et evrhomvg;
5693 : 
5694 :  evdrhov1= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5695 :  (extr tic.'Mdrvap' ltpsc);
5696 :  tab1.'TITRE'. 3 = 'MOT' 'Maxi dRho_H2O Kg/m3' ;
5697 :  evrhov  = evrhov  et evdrhov1 ;
5698 : 
5699 :  dess evrhov
5700 :  LEGE TAB1 DATE MIMA TITR ' Densité vapeur et correction ' ;
5701 :  'FINSI' ;
5702 : 
5703 :  'SI' TBT.'THE';
5704 :  evrhomv   = EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5705 :  (extr tic.'Rhomhe' ltpsc);
5706 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom_He Kg/m3' ;
5707 :  evrhov = evrhomv;
5708 : 
5709 :  evdrhov1= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3' 
5710 :  (extr tic.'Mdrhe' ltpsc);
5711 :  tab1.'TITRE'. 2 = 'MOT' 'Maxi dRho_He Kg/m3' ;
5712 :  evrhov  = evrhov  et evdrhov1 ;
5713 : 
5714 :  dess evrhov
5715 :  LEGE TAB1 DATE MIMA TITR ' Densité Helium et correction ' ;
5716 :  'FINSI' ;
5717 : 
5718 :  'SI' TBT.'TH2' ;
5719 :  evrhomv   = EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5720 :  (extr tic.'Rhomh2' ltpsc);
5721 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom_H2 Kg/m3' ;
5722 :  evrhov = evrhomv;
5723 : 
5724 :  evdrhov1= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5725 :  (extr tic.'Mdrh2' ltpsc);
5726 :  tab1.'TITRE'. 2 = 'MOT' 'Maxi dRho_H2 Kg/m3' ;
5727 :  evrhov  = evrhov  et evdrhov1 ;
5728 : 
5729 :  dess evrhov
5730 :  LEGE TAB1 DATE MIMA TITR ' Densité Hydrogène et correction ' ;
5731 :  'FINSI' ;
5732 : 
5733 :  'SI' TBT.'TO2';
5734 :  evrhomv   = EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5735 :  (extr tic.'Rhomo2' ltpsc);
5736 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom_o2 Kg/m3' ;
5737 :  evrhov = evrhomv;
5738 : 
5739 :  evdrhov1= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5740 :  (extr tic.'Mdro2' ltpsc);
5741 :  tab1.'TITRE'. 2 = 'MOT' 'Maxi dRho_o2 Kg/m3' ;
5742 :  evrhov  = evrhov  et evdrhov1 ;
5743 : 
5744 :  dess evrhov
5745 :  LEGE TAB1 DATE MIMA TITR ' Densité Oxygène et correction ' ;
5746 :  'FINSI' ;
5747 : 
5748 : 
5749 :  'SI' TBT.'TN2';
5750 :  evrhomv   = EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5751 :  (extr tic.'Rhomn2' ltpsc);
5752 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom_N2 Kg/m3' ;
5753 :  evrhov = evrhomv;
5754 : 
5755 :  evdrhov1= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5756 :  (extr tic.'Mdrn2' ltpsc);
5757 :  tab1.'TITRE'. 2 = 'MOT' 'Maxi dRho_N2 Kg/m3' ;
5758 :  evrhov  = evrhov  et evdrhov1 ;
5759 : 
5760 :  dess evrhov
5761 :  LEGE TAB1 DATE MIMA TITR ' Densité Azote et correction ' ;
5762 :  'FINSI' ;
5763 : 
5764 :  'SI' TBT.'TCO';
5765 :  evrhomv   = EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5766 :  (extr tic.'Rhomco' ltpsc);
5767 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom_Co Kg/m3' ;
5768 :  evrhov = evrhomv;
5769 : 
5770 :  evdrhov1= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5771 :  (extr tic.'Mdrco' ltpsc);
5772 :  tab1.'TITRE'. 2 = 'MOT' 'Maxi dRho_Co Kg/m3' ;
5773 :  evrhov  = evrhov  et evdrhov1 ;
5774 : 
5775 :  dess evrhov
5776 :  LEGE TAB1 DATE MIMA TITR ' Densité Co et correction ' ;
5777 :  'FINSI' ;
5778 : 
5779 :  'SI' TBT.'TCO2';
5780 :  evrhomv   = EVOL VERT 'MANU' 'Temps en sec' ltps 'Kg/m3'
5781 :  (extr tic.'Rhomco2' ltpsc);
5782 :  tab1.'TITRE'. 1 = 'MOT' 'Rhom_Co2 Kg/m3' ;
5783 :  evrhov = evrhomv;
5784 : 
5785 :  evdrhov1= EVOL ROUGE 'MANU' 'Temps en sec' ltps 'Kg/m3'
5786 :  (extr tic.'Mdrco2' ltpsc);
5787 :  tab1.'TITRE'. 2 = 'MOT' 'Maxi dRho_Co2 Kg/m3' ;
5788 :  evrhov  = evrhov  et evdrhov1 ;
5789 : 
5790 :  dess evrhov
5791 :  LEGE TAB1 DATE MIMA TITR ' Densité Co2 et correction ' ;
5792 :  'FINSI' ;
5793 : 
5794 : *******************************************************************
5795 : 
5796 : *******************************************************************
5797 : * Pression moyenne
5798 :  evPT=EVOL BLEU 'MANU' 'Temps en sec' ltps 'Pt'
5799 :  (extr tic.'PT' ltpsc) ;
5800 :  tab1.'TITRE'. 1 = 'MOT' 'Pmoy Pa' ;
5801 :  dess evPT
5802 :  LEGE TAB1 DATE MIMA TITR ' Pression moyenne ';
5803 : *******************************************************************
5804 : 
5805 : *******************************************************************
5806 : * Températures Fluides paroi etc
5807 :  evtpf = EVOL ROUGE 'MANU' 'Temps en sec' ltps 'oC '
5808 :  (extr tic.'Tfm' ltpsc);
5809 :  tab1.'TITRE'. 1 = 'MOT' 'Tfm oC' ;
5810 :  evtpf1= EVOL BLEU 'MANU' 'Temps en sec' ltps 'oC'
5811 :  (extr tic.'MdTf' ltpsc);
5812 :  tab1.'TITRE'. 2 = 'MOT' 'Maxi dTf oC' ;
5813 :  evtpf  = evtpf  et evtpf1 ;
5814 :  evtpf2= EVOL ROSE 'MANU' 'Temps en sec' ltps 'oC'
5815 :  (extr tic.'mdTf' ltpsc);
5816 :  tab1.'TITRE'. 3 = 'MOT' 'Mini dTf oC' ;
5817 :  evtpf  = evtpf  et evtpf2 ;
5818 : 
5819 :  ID = 3 ;
5820 :  'SI' TBT.'THERMP' ;
5821 :  ID = ID + 1 ;
5822 :  tab1.'TITRE'. ID= 'MOT' 'Tfp oC' ;
5823 :  evTfp = EVOL VERT  'MANU' 'Temps en sec' ltps 'oC '
5824 :  (extr tic.'Tpm' ltpsc);
5825 :  evtpf = evtpf et evTfp ;
5826 :  'FINSI' ;
5827 :   'SI' TBT.'TTIMP'  ;
5828 :    NBTIMP=dime (rxt.'TIMP')                              ;
5829 :    itimp=INDEX (rxt.'TIMP')                              ;
5830 :   REPETER BBTIMP NBTIMP                                  ;
5831 : * mess 'BBTIMP 11' ;
5832 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
5833 :   ID = ID + 1 ;
5834 :   uu=chai 'Tfpc' &BBTIMP ' oC';
5835 :   tab1.'TITRE'. ID= 'MOT' uu ;
5836 : * evTfpc1= EVOL TURQ  'MANU' 'Temps en sec' ltps 'oC '
5837 : * (extr Btimp.'Ltbpi' ltpsc);
5838 : * evtpf = evtpf et evTfpc1 ;
5839 :   FIN BBTIMP                                             ;
5840 :   'FINSI' ;
5841 :   'SI' TBT.'TTIMP1' ;
5842 :   ID = ID + 1 ;
5843 :   tab1.'TITRE'. ID= 'MOT' 'Tfpc1 oC' ;
5844 :   evTfpc1= EVOL TURQ  'MANU' 'Temps en sec' ltps 'oC '
5845 :   (extr tic.'Ltbp1' ltpsc);
5846 :   evtpf = evtpf et evTfpc1 ;
5847 :   'FINSI' ;
5848 :   'SI' TBT.'TTIMP2' ;
5849 :   ID = ID + 1 ;
5850 :   tab1.'TITRE'. ID= 'MOT' 'Tfpc2 oC' ;
5851 :   evTfpc2= EVOL TURQ  'MANU' 'Temps en sec' ltps 'oC '
5852 :   (extr tic.'Ltbp2' ltpsc);
5853 :   evtpf = evtpf et evTfpc2 ;
5854 :   'FINSI' ;
5855 :   'SI' TBT.'TTIMP3' ;
5856 :   ID = ID + 1 ;
5857 :   tab1.'TITRE'. ID= 'MOT' 'Tfpc3 oC' ;
5858 :   evTfpc3= EVOL TURQ  'MANU' 'Temps en sec' ltps 'oC '
5859 :   (extr tic.'Ltbp3' ltpsc);
5860 :   evtpf = evtpf et evTfpc3 ;
5861 :   'FINSI' ;
5862 :   dess evtpf
5863 :   LEGE TAB1 DATE MIMA TITR ' Températures moyennes Fluide / Parois';
5864 : 
5865 : 
5866 : Finsi                                                    ;
5867 : *==============================================================
5868 : 'FINPROC' ;
5869 :  
5870 :  
5871 :  
5872 :  
5873 :  
5874 :  
5875 :  
5876 :  

© Cast3M 2003 - All rights reserved.
Disclaimer