Download prepaenc.procedur

Back to the list

   1 : * PREPAENC  PROCEDUR  GOUNAND   12/12/20    21:15:21     7633           
   2 : 'DEBPROC' PREPAENC  rxt*'TABLE   '  TBT*'TABLE   '
   3 :                     geo*'TABLE   '  TIC*'TABLE   ' ;
   4 : *----------------------------------------------------------
   5 : *---- Suivi des modifications
   6 : *--- 10/01/00 : Creation
   7 : *
   8 : *--- 14/03/05 option THERCO pour thermique implicite (Alex Bleyer et JPM)
   9 : *
  10 : * 1/changer discrH en discr
  11 : *
  12 : *
  13 : *                                           
  14 : *----------------------------------------------------------
  15 : 
  16 : *----------------------------------------------------------
  17 : * Test des entrees et debut de preparation de l'algorithme
  18 : *----------------------------------------------------------
  19 : 
  20 : 'MESS' '==> PREPARATION DES EQUATIONS A RESOUDRE'            ;
  21 : 
  22 : *--------------------------------------------------------
  23 : ********************* PREPARATION ***********************
  24 : *--------------------------------------------------------
  25 : 
  26 :   Si(NON (EXIST TBT 'VERSION'))  ;
  27 :   TBT.'VERSION'=0                ;
  28 :   Finsi                          ;
  29 : 
  30 :   Si ('EXIST' TBT 'TTsortie')    ;
  31 :   TTsortie=TBT.'TTsortie'        ;
  32 :   Sinon                          ;
  33 :   TTsortie=FAUX                  ;
  34 :   Finsi                          ;
  35 : 
  36 :   Si ('EXIST' TBT 'TTbreche')    ;
  37 :   TTbreche=TBT.'TTbreche'        ;
  38 :   Sinon                          ;
  39 :   TTbreche=FAUX                  ;
  40 :   Finsi                          ;
  41 : 
  42 :   Si ('EXIST' TBT 'TFIMP')       ;
  43 :   TFIMP=TBT.'TFIMP'              ;
  44 :   Sinon                          ;
  45 :   TFIMP=FAUX                     ;
  46 :   Finsi                          ;
  47 : 
  48 :   Si ('EXIST' TBT 'TTIMP')       ;
  49 :   TTIMP=TBT.'TTIMP'              ;
  50 :   Sinon                          ;
  51 :   TTIMP=FAUX                     ;
  52 :   Finsi                          ;
  53 : 
  54 :   Si ('EXIST' TBT 'TPAROIS')     ;
  55 :   TPAROIS=TBT.'TPAROIS'          ;
  56 :   Sinon                          ;
  57 :   TPAROIS=FAUX                   ;
  58 :   Finsi                          ;
  59 : 
  60 :   idim = vale 'DIME';
  61 :   DIM3D=FAUX ;
  62 :   Si(EGA idim 3);
  63 :   DIM3D=VRAI ;
  64 :   Finsi ;
  65 : 
  66 : *-----------------------------------------------------------
  67 : * Definition du modele FLUIDE : NAVIER_STOKES
  68 : * appel a MODELE avec la discretisation choisie DISCR
  69 : *-----------------------------------------------------------
  70 : 
  71 : * On Crée la géométrie discrérisée pour le fluide
  72 :  vtf         = rxt.'vtf'                                ;
  73 :  ltpvf= vtf ELEM 'TYPE'                                 ;
  74 :  tyell2=mots 'TRI3' 'QUA4'                              ;
  75 :  tyell3=mots 'CUB8' 'PRI6' 'TET4'                       ;
  76 :  tyelq2=mots 'TRI6' 'QUA8'                              ;
  77 :  tyelq3=mots 'CU20' 'PR15' 'TE10'                       ;
  78 :  nbe=dime ltpvf                                         ;
  79 :  tyelvf='XXXX'                                          ;
  80 : 
  81 :  Si('EXIST' tyell2 ('EXTR' 1 ltpvf))                    ;
  82 :  tyelvf='LI2D'                                          ;
  83 :  Si (NON ('EGA' (VALE DIME) 2))                         ;
  84 :  Mess '*********************************************************' ;
  85 :  Mess ' ERREUR   ERREUR   ERREUR   ERREUR   ERREUR   ERREUR     ' ;
  86 :  Mess '                                                         ' ;
  87 :  Mess 'Maillage Foireux                                         ' ;
  88 :  Mess '                                                         ' ;
  89 :  Mess '*********************************************************' ;
  90 :  ERREUR 21                                              ;
  91 :  Finsi                                                  ;
  92 :  Finsi                                                  ;
  93 : 
  94 :  Si('EXIST' tyell3 ('EXTR' 1 ltpvf))                    ;
  95 :  tyelvf='LI3D'                                          ;
  96 :  Si (NON ('EGA' (VALE DIME) 3))                         ;
  97 :  Mess '*********************************************************' ;
  98 :  Mess ' ERREUR   ERREUR   ERREUR   ERREUR   ERREUR   ERREUR     ' ;
  99 :  Mess '                                                         ' ;
 100 :  Mess 'Maillage Foireux                                         ' ;
 101 :  Mess '                                                         ' ;
 102 :  Mess '*********************************************************' ;
 103 :  ERREUR 21                                              ;
 104 :  Finsi                                                  ;
 105 :  Finsi                                                  ;
 106 : 
 107 :  Si('EXIST' tyelq2 ('EXTR' 1 ltpvf))                    ;
 108 :  tyelvf='QD2D'                                          ;
 109 :  Si (NON ('EGA' (VALE DIME) 2))                         ;
 110 :  Mess '*********************************************************' ;
 111 :  Mess ' ERREUR   ERREUR   ERREUR   ERREUR   ERREUR   ERREUR     ' ;
 112 :  Mess '                                                         ' ;
 113 :  Mess 'Maillage Foireux                                         ' ;
 114 :  Mess '                                                         ' ;
 115 :  Mess '*********************************************************' ;
 116 :  ERREUR 21                                              ;
 117 :  Finsi                                                  ;
 118 :  Finsi                                                  ;
 119 : 
 120 :  Si('EXIST' tyelq3 ('EXTR' 1 ltpvf))                    ;
 121 :  tyelvf='QD3D'                                          ;
 122 :  Si (NON ('EGA' (VALE DIME) 3))                         ;
 123 :  Mess '*********************************************************' ;
 124 :  Mess ' ERREUR   ERREUR   ERREUR   ERREUR   ERREUR   ERREUR     ' ;
 125 :  Mess '                                                         ' ;
 126 :  Mess 'Maillage Foireux                                         ' ;
 127 :  Mess '                                                         ' ;
 128 :  Mess '*********************************************************' ;
 129 :  ERREUR 21                                              ;
 130 :  Finsi                                                  ;
 131 :  Finsi                                                  ;
 132 : 
 133 :  Si(EGA 'LI2D' tyelvf)                                  ;
 134 :  repeter bcle nbe                                       ;
 135 :  Si(NON('EXIST' tyell2 ('EXTR' &bcle ltpvf)))           ;
 136 :  ERREUR 21                                              ;
 137 :  Finsi                                                  ;
 138 :  Fin bcle                                               ;
 139 :  Finsi                                                  ;
 140 : 
 141 :  Si(EGA 'LI3D' tyelvf)                                  ;
 142 :  repeter bcle nbe                                       ;
 143 :  Si(NON('EXIST' tyell3 ('EXTR' &bcle ltpvf)))           ;
 144 :  ERREUR 21                                              ;
 145 :  Finsi                                                  ;
 146 :  Fin bcle                                               ;
 147 :  Finsi                                                  ;
 148 : 
 149 :  Si(EGA tyelvf 'QD2D')                                  ;
 150 :  repeter bcle nbe                                       ;
 151 :  Si(NON('EXIST' tyelq2 ('EXTR' &bcle ltpvf)))           ;
 152 :  ERREUR 21                                              ;
 153 :  Finsi                                                  ;
 154 :  Fin bcle                                               ;
 155 :  Finsi                                                  ;
 156 : 
 157 :  Si(EGA tyelvf 'QD3D')                                  ;
 158 :  repeter bcle nbe                                       ;
 159 :  Si(NON('EXIST' tyelq3 ('EXTR' &bcle ltpvf)))           ;
 160 :  ERREUR 21                                              ;
 161 :  Finsi                                                  ;
 162 :  Fin bcle                                               ;
 163 :  Finsi                                                  ;
 164 : 
 165 :  epsi        = GEO.'epsi'                               ;
 166 :  mdns        = 'NAVIER_STOKES'                          ;
 167 :  Mvtf        = 'CHAN' vtf 'QUAF'                        ;
 168 :  elim Mvtf rxt.'epsi'                                   ;
 169 :  $vtf        = 'MODE' Mvtf  mdns TBT.'discr'            ;
 170 :  VTotal      = 'SOMT' ('DOMA' $vtf    'VOLUME')       ;
 171 :  GEO.'Mvtf'  =  Mvtf                                     ;
 172 :  GEO.'$vtf'  =  $vtf                                     ;
 173 :  GEO.'VTotal'=  VTotal                                   ;
 174 :  GEO.'vtf' =doma $vtf MAILLAGE                           ;
 175 :  GEO.'Diag'   = doma $vtf 'XXDIAGSI'                     ;
 176 :  GEO.'cx'  =coor 1 vtf                                   ;
 177 :  GEO.'cy'  =coor 2 vtf                                   ;
 178 :  Si(Ega IDIM 3)                                          ;
 179 :  GEO.'cz'  =coor 3 vtf                                   ;
 180 :  Finsi                                                   ;
 181 : 
 182 : *-----------------------------------------------------------
 183 : *    sortie       menvfU
 184 : *  ............__________________
 185 : *  |                             |
 186 : *  .                             |
 187 : *  |                             |
 188 : *  .                             |
 189 : *  |                             |
 190 : *  .                             |
 191 : *  |                     menvfU  |
 192 : *  .                             |
 193 : *  |                             |
 194 : *  .                             |
 195 : *  |axe                          |
 196 : *  .                             |
 197 : *  |                             |
 198 : *  .                             |
 199 : *  |                             |_
 200 : *  .                             |/|
 201 : *  |                             |/|
 202 : *  .                             |/|
 203 : *  |                             |/|
 204 : *  .                             |/|
 205 : *  |                      menvfU |/|
 206 : *  .                             |/|
 207 : *  |                             |/|
 208 : *  .                             |/|
 209 : *  |                             |/|
 210 : *  .                             |/|
 211 : *  |               menvfU        |/|
 212 : *  ............__________________|/|
 213 : *    breche
 214 : *
 215 : *
 216 : *-----------------------------------------------------------
 217 : * Creation de l'enveloppe du maillage FLUIDE
 218 : 
 219 :   GEO.'Mmenvf' = 'DOMA' $vtf 'ENVELOPP'                  ;
 220 :   GEO.'$menvf' = 'MODE' GEO.'Mmenvf' 'NAVIER_STOKES' TBT.'discr' ;
 221 :   GEO.'menvf'  = 'DOMA' GEO.'$menvf' maillage            ;
 222 :   GEO.'MmenvfU' = GEO.'Mmenvf'                           ;
 223 :   GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr';
 224 :   GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' maillage          ;
 225 : *----------------------------------------------------------
 226 : * Traitement de l'axe en 2D et des plans de symétrie en 3D
 227 : *
 228 :   'SI' (TBT.'Taxe')                                      ;
 229 :   axe = rxt.'axe'                                        ;
 230 :   Maxe= 'CHAN' axe 'QUAF'                                ;
 231 :   elim Maxe rxt.'epsi'                                   ;
 232 :  'ELIM' (Maxe 'ET' Mvtf) epsi                            ;
 233 : 
 234 :   GEO.'MmenvfU' = 'DIFF'  GEO.'MmenvfU' Maxe               ;
 235 :   GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr' ;
 236 :   GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' maillage            ;
 237 : 
 238 :   $axe = 'MODE' Maxe mdns TBT.'discr'                    ;
 239 :   axe = 'DOMA' $axe 'MAILLAGE'                           ;
 240 :   GEO.'$axe'=$axe                                        ;
 241 :   GEO.'axe'=axe                                          ;
 242 :   'FINSI'                                                ;
 243 : *
 244 : *
 245 : *-----------------------------------------------------------
 246 : *-----------------------------------------------------------
 247 : *  Traitement d'un nombre de brčches et sorties quelconques
 248 : *  - vérification de son inclusion dans l'enveloppe
 249 : *  - définition de BRECHEI : maillage BRECHE interieur
 250 : *  - définition de BRECHEC : maillage du contour de la brčche
 251 : 
 252 :   Si TTsortie                                            ;
 253 : *µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ
 254 : 
 255 :    NBR=dime rxt.'Sorties'                                ;
 256 :    mess ' Il y a ' NBR ' Sorties)'                       ;
 257 : 
 258 :    ibr=index (rxt.'Sorties')                             ;
 259 : 
 260 :    Repeter BBRS NBR                                      ;
 261 :    Sriches=rxt.'Sorties'.(ibr.&BBRS)                     ;
 262 :  'MESS' ' ==> Verification inclusion Sortie/ENVELOPPE '
 263 :   'pour la sortie ' (ibr.&BBRS)                          ;
 264 : 
 265 :    sreche      = Sriches.'Maillage'                        ;
 266 :    Si DIM3D                                                ;
 267 : *  diru=(Sriches.'diru')/(norm Sriches.'diru')             ;
 268 :    Byint  = BARY (vtf elem 'APPUYE' 'LARGEMENT' sreche)    ;
 269 :    Bybre  = BARY sreche                                    ;
 270 :    diru     = Bybre moins Byint                            ;
 271 :    sreche      = ORIE sreche 'DIRECTION' diru              ;
 272 :    Finsi                                                   ;
 273 :    Msreche     = 'CHAN' sreche 'QUAF'                      ;
 274 :    elim Msreche rxt.'epsi'                                 ;
 275 :    $sreche     = 'MODE' Msreche mdns TBT.'discr'           ;
 276 :    sreche      = 'DOMA' $sreche 'MAILLAGE'                 ;
 277 :    Ssreche       = 'SOMT' ('DOMA' $sreche 'VOLUME')        ;
 278 :    Dsreche       = Ssreche**(1./(VALE DIME))               ;
 279 : 
 280 :  'ELIM' epsi (Mvtf 'ET' Msreche )                          ;
 281 : 
 282 :    Sriches.'Msreche' = Msreche                                 ;
 283 :    Sriches.'$sreche' = $sreche                                 ;
 284 :    Sriches.'sreche'  = sreche                                  ;
 285 :    Sriches.'Ssreche' = Ssreche                                 ;
 286 :    Sriches.'Dsreche' = Dsreche                                 ;
 287 : 
 288 : 
 289 :    ai= 'INTER' Msreche (GEO.'Mmenvf')                         ;
 290 :    nbai= nbel ai                                              ;
 291 :    Si (ega nbai 0)                                            ;
 292 :    Mess ' Sortie non incluse dans l enveloppe '               ;
 293 :    'ERRE' 21                                                  ;
 294 :    Finsi                                                      ;
 295 : 
 296 :  GEO.'MmenvfU' = 'DIFF'  GEO.'MmenvfU' Msreche                    ;
 297 :  GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr' ;
 298 :  GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' maillage                    ;
 299 : 
 300 : 
 301 : *  Travail en 2D avec présence possible de l'axe de symétrie
 302 : 
 303 :    'SI' ('NON' DIM3D)                                         ;
 304 :       sreche1 = 'CHAN' sreche 'POI1'                          ;
 305 :       nbbc='NBEL' sreche1                                     ;
 306 : 
 307 :       'SI' (TBT.'Taxe')                                          ;
 308 :          srechec = 'ELEM' sreche1 ('LECT'   nbbc)                ;
 309 :          srechei = 'ELEM' sreche1 ('LECT' 1 'PAS' 1 (nbbc - 1))  ;
 310 :       'SINON'                                                    ;
 311 :          srechec = 'ELEM' sreche1 ('LECT' 1 nbbc)                ;
 312 :          srechei = 'ELEM' sreche1 ('LECT' 2 'PAS' 1 (nbbc - 1))  ;
 313 :       'FINSI'                                                 ;
 314 :       a = 'NBEL' brechei                                      ;
 315 :      'SI' ('EGA' a 0)                                         ;
 316 :         'MESS' '==> Le cas ne comporte pas de Sortie CORRECTE'   ;
 317 :      'ERRE' 21        ;
 318 :      'FINSI'                                                  ;
 319 :    'SINON'                                                       ;
 320 : 
 321 : *  Travail en 3D pour définir la brčche
 322 : 
 323 :       srechec = 'CONT' sreche                                  ;
 324 :       sreche1 = 'CHAN' sreche 'POI1'                           ;
 325 :       srechei = 'DIFF' sreche1 ( 'CHAN' srechec 'POI1')        ;
 326 :       a = 'NBEL' srechei                                       ;
 327 :       'SI' ('EGA' a 0)                                         ;
 328 :          'MESS' '==> Le cas ne comporte pas de Sortie CORRECTE'   ;
 329 :       'ERRE' 21        ;
 330 :       'FINSI'                                                  ;
 331 :    'FINSI'                                                       ;
 332 : 
 333 : 
 334 :    srechei= srechei 'COUL' 'ROUG'                               ;
 335 :    srechec= srechec 'COUL' 'VERT'                               ;
 336 :    Sriches.'srechec'=srechec                                    ;
 337 :    Sriches.'srechei'=srechei                                    ;
 338 :  
 339 :     FIN BBRS                                                    ;
 340 :   FINSI                                                         ;
 341 : *µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ
 342 : 
 343 :   Si TTbreche                                            ;
 344 : *µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ
 345 : 
 346 :    NBR=dime rxt.'Breches'                                ;
 347 :    mess ' Il y a ' NBR ' Brčche(s)'                      ;
 348 : 
 349 :    ibr=index (rxt.'Breches')                             ;
 350 : 
 351 :    Repeter BBRS NBR                                      ;
 352 :    Briches=rxt.'Breches'.(ibr.&BBRS)                     ;
 353 :  'MESS' ' ==> Verification inclusion BRECHE/ENVELOPPE '
 354 :   'pour la brčche ' (ibr.&BBRS)                          ;
 355 : 
 356 :    creche      = Briches.'Maillage'                        ;
 357 :    Si DIM3D                                                ;
 358 : *  diru=(Briches.'diru')/(norm Briches.'diru')             ;
 359 :    Byint  = BARY (vtf elem 'APPUYE' 'LARGEMENT' creche)    ;
 360 :    Bybre  = BARY creche                                    ;
 361 :    diru     = Bybre moins Byint                            ;
 362 :    creche      = ORIE creche 'DIRECTION' diru              ;
 363 :    Finsi                                                   ;
 364 :    Mcreche     = 'CHAN' creche 'QUAF'                      ;
 365 :    elim Mcreche rxt.'epsi'                                 ;
 366 :    $creche     = 'MODE' Mcreche mdns TBT.'discr'           ;
 367 :    creche      = 'DOMA' $creche 'MAILLAGE'                 ;
 368 :    Screche       = 'SOMT' ('DOMA' $creche 'VOLUME')        ;
 369 :    Dcreche       = Screche**(1./(VALE DIME))               ;
 370 : 
 371 :  'ELIM' epsi (Mvtf 'ET' Mcreche )                          ;
 372 : 
 373 :    Briches.'Mbreche' = Mcreche                                 ;
 374 :    Briches.'$breche' = $creche                                 ;
 375 :    Briches.'breche'  = creche                                  ;
 376 :    Briches.'Sbreche' = Screche                                 ;
 377 :    Briches.'Dbreche' = Dcreche                                 ;
 378 : 
 379 : 
 380 :    ai= 'INTER' Mcreche (GEO.'Mmenvf')                         ;
 381 :    nbai= nbel ai                                              ;
 382 :    Si (ega nbai 0)                                            ;
 383 :    Mess ' Breche non incluse dans l enveloppe '               ;
 384 :    'ERRE' 21                                                  ;
 385 :    Finsi                                                      ;
 386 : 
 387 :  GEO.'MmenvfU' = 'DIFF'  GEO.'MmenvfU' Mcreche                    ;
 388 :  GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr' ;
 389 :  GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' maillage                    ;
 390 : 
 391 : 
 392 : *  Travail en 2D avec présence possible de l'axe de symétrie
 393 : 
 394 :    'SI' ('NON' DIM3D)                                         ;
 395 :       creche1 = 'CHAN' creche 'POI1'                          ;
 396 :       nbbc='NBEL' creche1                                     ;
 397 : 
 398 :       'SI' (TBT.'Taxe')                                          ;
 399 :          crechec = 'ELEM' creche1 ('LECT'   nbbc)                ;
 400 :          crechei = 'ELEM' creche1 ('LECT' 1 'PAS' 1 (nbbc - 1))  ;
 401 :       'SINON'                                                    ;
 402 :          crechec = 'ELEM' creche1 ('LECT' 1 nbbc)                ;
 403 :          crechei = 'ELEM' creche1 ('LECT' 2 'PAS' 1 (nbbc - 1))  ;
 404 :       'FINSI'                                                 ;
 405 :       a = 'NBEL' crechei                                      ;
 406 :      'SI' ('EGA' a 0)                                         ;
 407 :         'MESS' '==> Le cas ne comporte pas de BRECHE CORRECTE';
 408 :      'ERRE' 21                                                ;
 409 :      'FINSI'                                                  ;
 410 :    'SINON'                                                    ;
 411 : 
 412 : *  Travail en 3D pour définir la brčche
 413 : 
 414 :       crechec = 'CONT' creche                                  ;
 415 :       creche1 = 'CHAN' creche 'POI1'                           ;
 416 :       crechei = 'DIFF' creche1 ( 'CHAN' crechec 'POI1')        ;
 417 :       a = 'NBEL' crechei                                       ;
 418 :       'SI' ('EGA' a 0)                                         ;
 419 :          'MESS' '==> Le cas ne comporte pas de BRECHE CORRECTE';
 420 :       'ERRE' 21                                                ;
 421 :       'FINSI'                                                  ;
 422 :    'FINSI'                                                     ;
 423 : 
 424 : 
 425 :    crechei= crechei 'COUL' 'ROUG'                               ;
 426 :    crechec= crechec 'COUL' 'VERT'                               ;
 427 :    Briches.'brechec'=crechec                                    ;
 428 :    Briches.'brechei'=crechei                                    ;
 429 :  
 430 : 
 431 :     FIN BBRS                                                    ;
 432 :   FINSI                                                         ;
 433 : *µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ
 434 : 
 435 : *-----------------------------------------------------------
 436 : *-----------------------------------------------------------
 437 : *-----------------------------------------------------------
 438 : *  Traitement des BRECHES :
 439 : *  - vérification de son inclusion dans l'enveloppe
 440 : *  - définition de BRECHEI : maillage BRECHE interieur
 441 : *  - définition de BRECHEC : maillage du contour de la brčche
 442 : 
 443 :   Si (TBT.'Tbreche') ;
 444 :    breche      = rxt.'breche'                              ;
 445 :    Si DIM3D                                                ;
 446 :    diru1=(TBT.'diru1')/(norm TBT.'diru1')                  ;
 447 :    breche      = ORIE breche 'DIRECTION' diru1             ;
 448 :    Finsi                                                   ;
 449 :    Mbreche     = 'CHAN' breche 'QUAF'                      ;
 450 :    elim Mbreche rxt.'epsi'                                 ;
 451 :    $breche     = 'MODE' Mbreche mdns TBT.'discr'           ;
 452 :    breche      = 'DOMA' $breche 'MAILLAGE'                 ;
 453 :    Sbreche       = 'SOMT' ('DOMA' $breche 'VOLUME')        ;
 454 :    Dbreche       = Sbreche**(1./(VALE DIME))               ;
 455 : 
 456 :  'ELIM' epsi (Mvtf 'ET' Mbreche )                          ;
 457 : 
 458 :    GEO.'Mbreche' = Mbreche                                 ;
 459 :    GEO.'$breche' = $breche                                 ;
 460 :    GEO.'breche'  = breche                                  ;
 461 :    GEO.'Sbreche' = Sbreche                                 ;
 462 :    GEO.'Dbreche' = Dbreche                                 ;
 463 : 
 464 :  'MESS' ' ==> Verification inclusion BRECHE ENVELOPPE'   ;
 465 : 
 466 :    ai= 'INTER' Mbreche (GEO.'Mmenvf')                         ;
 467 :    nbai= nbel ai                                              ;
 468 :    Si (ega nbai 0)                                            ;
 469 :    Mess ' Breche non incluse dans l enveloppe '               ;
 470 :    'ERRE' 21                                                  ;
 471 :    Finsi                                                      ;
 472 : 
 473 :  GEO.'MmenvfU' = 'DIFF'  GEO.'MmenvfU' Mbreche                    ;
 474 :  GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr' ;
 475 :  GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' maillage                    ;
 476 : 
 477 : 
 478 : *  Travail en 2D avec présence possible de l'axe de symétrie
 479 : 
 480 :    'SI' ('NON' DIM3D)                                         ;
 481 :       breche1 = 'CHAN' breche 'POI1'                          ;
 482 :       nbbc='NBEL' breche1                                     ;
 483 : 
 484 :       'SI' (TBT.'Taxe')                                          ;
 485 :          brechec = 'ELEM' breche1 ('LECT'   nbbc)                ;
 486 :          brechei = 'ELEM' breche1 ('LECT' 1 'PAS' 1 (nbbc - 1))  ;
 487 :       'SINON'                                                    ;
 488 :          brechec = 'ELEM' breche1 ('LECT' 1 nbbc)                ;
 489 :          brechei = 'ELEM' breche1 ('LECT' 2 'PAS' 1 (nbbc - 1))  ;
 490 :       'FINSI'                                                 ;
 491 :       a = 'NBEL' brechei                                      ;
 492 :      'SI' ('EGA' a 0)                                         ;
 493 :         'MESS' '==> Le cas ne comporte pas de BRECHE CORRECTE'   ;
 494 :      'ERRE' 21        ;
 495 :      'FINSI'                                                  ;
 496 :    'SINON'                                                       ;
 497 : 
 498 : *  Travail en 3D pour définir la brčche
 499 : 
 500 :       brechec = 'CONT' breche                                  ;
 501 :       breche1 = 'CHAN' breche 'POI1'                           ;
 502 :       brechei = 'DIFF' breche1 ( 'CHAN' brechec 'POI1')        ;
 503 :       a = 'NBEL' brechei                                       ;
 504 :       'SI' ('EGA' a 0)                                         ;
 505 :          'MESS' '==> Le cas ne comporte pas de BRECHE CORRECTE'   ;
 506 :       'ERRE' 21        ;
 507 :       'FINSI'                                                  ;
 508 :    'FINSI'                                                       ;
 509 : 
 510 : 
 511 :    brechei= brechei 'COUL' 'ROUG'                               ;
 512 :    brechec= brechec 'COUL' 'VERT'                               ;
 513 :    GEO.'brechec'=brechec                                        ;
 514 :    GEO.'brechei'=brechei                                        ;
 515 :  
 516 :   Finsi                                                         ;
 517 : 
 518 : *  Traitement de la brčche 2
 519 : 
 520 :   Si (TBT.'Tbreche2') ;
 521 :    breche2      = rxt.'breche2'                              ;
 522 :    Si DIM3D                                                  ;
 523 :    diru2=(TBT.'diru2')/(norm TBT.'diru2')                    ;
 524 :    breche2      = ORIE breche2 'DIRECTION' diru2             ;
 525 :    Finsi                                                     ;
 526 :    Mbreche2     = 'CHAN' breche2 'QUAF'                      ;
 527 :    elim Mbreche2 rxt.'epsi'                                  ;
 528 :    $breche2     = 'MODE' Mbreche2 mdns TBT.'discr'           ;
 529 :    breche2      = 'DOMA' $breche2 'MAILLAGE'                 ;
 530 :    Sbreche2       = 'SOMT' ('DOMA' $breche2 'VOLUME')        ;
 531 :    Dbreche2      = Sbreche2**(1./(VALE DIME))                ;
 532 : 
 533 :  'ELIM' epsi (Mvtf 'ET' Mbreche2);
 534 : 
 535 :    GEO.'Mbreche2' = Mbreche2                                 ;
 536 :    GEO.'$breche2' = $breche2                                 ;
 537 :    GEO.'breche2'  = breche2                                  ;
 538 :    GEO.'Sbreche2' = Sbreche2                                 ;
 539 :    GEO.'Dbreche2' = Dbreche2                                 ;
 540 : 
 541 :    'MESS' ' ==> Verification inclusion BRECHE2 ENVELOPPE'   ;
 542 : 
 543 :    ai= 'INTER' Mbreche2 (GEO.'Mmenvf')                        ;
 544 :    nbai= nbel ai ;
 545 :    Si (ega nbai 0) ;
 546 :    Mess ' Breche2 non incluse dans l enveloppe ';
 547 :    'ERRE' 21        ;
 548 :    Finsi ;
 549 : 
 550 :  GEO.'MmenvfU' = 'DIFF'  GEO.'MmenvfU' Mbreche2                   ;
 551 :  GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr' ;
 552 :  GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' maillage                    ;
 553 : 
 554 : *     Travail en 2D avec présence possible de l'axe de symétrie
 555 : 
 556 :       'SI' ('NON' DIM3D)                                          ;
 557 :          breche1 = 'CHAN' breche2 'POI1'                          ;
 558 :          nbbc='NBEL' breche1                                      ;
 559 :          'SI' (TBT.'Taxe')                                        ;
 560 :             brech2c = 'ELEM' breche1 ('LECT'   nbbc)              ;
 561 :             brech2i = 'ELEM' breche1 ('LECT' 1 'PAS' 1 (nbbc - 1));
 562 :          'SINON'                                                  ;
 563 :             brech2c = 'ELEM' breche1 ('LECT' 1 nbbc)              ;
 564 :             brech2i = 'ELEM' breche1 ('LECT' 2 'PAS' 1 (nbbc - 1));
 565 :          'FINSI'                                                  ;
 566 :          a = 'NBEL' brech2i                                       ;
 567 :          'SI' ('EGA' a 0)                                         ;
 568 :             'MESS' '==> Le cas ne comporte pas de BRECHE'         ;
 569 :             'ERREUR' 5                                            ;
 570 :          'FINSI'                                                  ;
 571 :       'SINON'                                                     ;
 572 : 
 573 : *        Travail en 3D pour définir la brčche
 574 : 
 575 :          brech2c = 'CONT' breche2                          ;
 576 :          breche1 = 'CHAN' breche2 'POI1'                    ;
 577 :          brech2i = 'DIFF' breche1 ( 'CHAN' brech2c 'POI1') ;
 578 :          a = 'NBEL' brech2i                                 ;
 579 :          'SI' ('EGA' a 0)                                    ;
 580 :             'MESS' '==> Le cas ne comporte pas de BRECHE'       ;
 581 :             'ERREUR' 5                                          ;
 582 :          'FINSI'                                             ;
 583 :       'FINSI'                                                  ;
 584 :       brech2i= brech2i 'COUL' 'ROUG'                        ;
 585 :       brech2c= brech2c 'COUL' 'VERT'                        ;
 586 :       GEO.'brech2c'=brech2c                                 ;
 587 :       GEO.'brech2i'=brech2i                                 ;
 588 : 
 589 :   Finsi ;
 590 : 
 591 : *  Traitement de la brčche 3
 592 : 
 593 :   Si (TBT.'Tbreche3') ;
 594 :    breche3      = rxt.'breche3'                              ;
 595 :    Si DIM3D                                                  ;
 596 :    diru3=(TBT.'diru3')/(norm TBT.'diru3')                    ;
 597 :    breche3      = ORIE breche3 'DIRECTION' diru3             ;
 598 :    Finsi                                                     ;
 599 :    Mbreche3     = 'CHAN' breche3 'QUAF'                      ;
 600 :    elim Mbreche3 rxt.'epsi'                                  ;
 601 :    $breche3     = 'MODE' Mbreche3 mdns TBT.'discr'           ;
 602 :    breche3      = 'DOMA' $breche3 'MAILLAGE'                 ;
 603 :    Sbreche3       = 'SOMT' ('DOMA' $breche3 'VOLUME')        ;
 604 :    Dbreche3      = Sbreche3**(1./(VALE DIME))               ;
 605 : 
 606 :  'ELIM' epsi (Mvtf 'ET' Mbreche3);
 607 : 
 608 :    GEO.'Mbreche3' = Mbreche3                                 ;
 609 :    GEO.'$breche3' = $breche3                                 ;
 610 :    GEO.'breche3'  = breche3                                  ;
 611 :    GEO.'Sbreche3' = Sbreche3                                 ;
 612 :    GEO.'Dbreche3' = Dbreche3                                 ;
 613 : 
 614 :    'MESS' ' ==> Vérification inclusion BRECHE3 ENVELOPPE'   ;
 615 : 
 616 :    ai= 'INTER' Mbreche3 (GEO.'Mmenvf')                        ;
 617 :    nbai= nbel ai                                            ;
 618 :    Si (ega nbai 0)                                          ;
 619 :    Mess ' Breche3 non incluse dans l enveloppe '            ;
 620 :    'ERRE' 21                                                ;
 621 :    Finsi                                                    ;
 622 : 
 623 :  GEO.'MmenvfU' = 'DIFF'  GEO.'MmenvfU' Mbreche3                   ;
 624 :  GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr' ;
 625 :  GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' maillage                    ;
 626 : 
 627 : *     Travail en 2D avec présence possible de l'axe de symétrie
 628 : 
 629 :       'SI' ('NON' DIM3D)                                          ;
 630 :          breche1 = 'CHAN' breche3 'POI1'                          ;
 631 :          nbbc='NBEL' breche1                                      ;
 632 :          'SI' (TBT.'Taxe')                                        ;
 633 :             brech3c = 'ELEM' breche1 ('LECT'   nbbc)              ;
 634 :             brech3i = 'ELEM' breche1 ('LECT' 1 'PAS' 1 (nbbc - 1));
 635 :          'SINON'                                                  ;
 636 :             brech3c = 'ELEM' breche1 ('LECT' 1 nbbc)              ;
 637 :             brech3i = 'ELEM' breche1 ('LECT' 2 'PAS' 1 (nbbc - 1));
 638 :          'FINSI'                                                  ;
 639 :          a = 'NBEL' brech3i                                       ;
 640 :          'SI' ('EGA' a 0)                                         ;
 641 :             'MESS' '==> Le cas ne comporte pas de BRECHE 3'       ;
 642 :             'ERREUR' 5                                            ;
 643 :          'FINSI'                                                  ;
 644 :       'SINON'                                                     ;
 645 : 
 646 : *        Travail en 3D pour définir la brčche
 647 : 
 648 :          brech3c = 'CONT' breche3                          ;
 649 :          breche1 = 'CHAN' breche3 'POI1'                    ;
 650 :          brech3i = 'DIFF' breche1 ( 'CHAN' brech3c 'POI1') ;
 651 :          a = 'NBEL' brech3i                                 ;
 652 :          'SI' ('EGA' a 0)                                    ;
 653 :             'MESS' '==> Le cas ne comporte pas de BRECHE 3'       ;
 654 :             'ERREUR' 5                                          ;
 655 :          'FINSI'                                             ;
 656 :       'FINSI'                                                  ;
 657 :       brech3i= brech3i 'COUL' 'ROUG'                        ;
 658 :       brech3c= brech3c 'COUL' 'VERT'                        ;
 659 :       GEO.'brech3c'=brech3c                                 ;
 660 :       GEO.'brech3i'=brech3i                                 ;
 661 : 
 662 :   Finsi ;
 663 : 
 664 : mess ' FIN VERIFICATION DES BRECHES'                     ;
 665 : 
 666 : *----- TRAITEMENT DES RECOMBINEURS -------------------------
 667 : 'SI' (TBT.'TRECOMB') ;
 668 :    NBREC = 'DIME' rxt.'RECOMB' ;
 669 :    'REPETER' BCLREC NBREC ;
 670 :    PAREXT = rxt.'RECOMB'. &BCLREC . 'PAREXT' ;
 671 :    ENTREE = rxt.'RECOMB'. &BCLREC . 'ENTREE' ;
 672 :    SORTIE = rxt.'RECOMB'. &BCLREC . 'SORTIE' ;
 673 :    direntr = rxt.'RECOMB'. &BCLREC . 'direntr' ;
 674 :    direntr = direntr / ('NORM' direntr) ;
 675 :    dirsort = rxt.'RECOMB'. &BCLREC . 'dirsort' ;
 676 :    dirsort = dirsort / ('NORM' dirsort) ;
 677 :    DIRNAME = 'CHAIN' 'DREC' 'ent' &BCLREC ;
 678 :    GEO. DIRNAME = direntr ;
 679 :    DIRNAME = 'CHAIN' 'DREC' 'sor' &BCLREC ;
 680 :    GEO. DIRNAME = dirsort ;
 681 :    M_PAREXT = 'CHAN' PAREXT 'QUAF' ;
 682 :    M_ENTREE = 'CHAN' ENTREE 'QUAF' ;
 683 :    M_SORTIE = 'CHAN' SORTIE 'QUAF' ;
 684 :    'ELIM' (Mvtf 'ET' M_PAREXT 'ET' M_ENTREE 'ET' M_SORTIE) rxt.'epsi';
 685 :    $PAREXT = 'MODE' M_PAREXT mdns TBT.'discr' ;
 686 :    $ENTREE = 'MODE' M_ENTREE mdns TBT.'discr' ;
 687 :    $SORTIE = 'MODE' M_SORTIE mdns TBT.'discr' ;
 688 :    QNAME = 'CHAIN' 'MREC' 'par' &BCLREC ;
 689 :    GEO. QNAME = M_PAREXT ;
 690 :    QNAME = 'CHAIN' 'MREC' 'ent' &BCLREC ;
 691 :    GEO. QNAME = M_ENTREE ;
 692 :    QNAME = 'CHAIN' 'MREC' 'sor' &BCLREC ;
 693 :    GEO. QNAME = M_SORTIE ;
 694 :    $NAME = 'CHAIN' '$REC' 'par' &BCLREC ;
 695 :    GEO. $NAME = $PAREXT ;
 696 :    $NAME = 'CHAIN' '$REC' 'ent' &BCLREC ;
 697 :    GEO. $NAME = $ENTREE ;
 698 :    $NAME = 'CHAIN' '$REC' 'sor' &BCLREC ;
 699 :    GEO. $NAME = $SORTIE ;
 700 :    NAME = 'CHAIN' 'REC' 'par' &BCLREC ;
 701 :    GEO. NAME = 'DOMA' $PAREXT 'MAILLAGE' ;
 702 :    ENTREE = 'DOMA' $ENTREE 'MAILLAGE' ;
 703 :    NAME = 'CHAIN' 'REC' 'ent' &BCLREC ;
 704 :    GEO. NAME = ENTREE ;
 705 :    SORTIE = 'DOMA' $SORTIE 'MAILLAGE' ;
 706 :    NAME = 'CHAIN' 'REC' 'sor' &BCLREC ;
 707 :    GEO. NAME = SORTIE ;
 708 :    NAME = 'CHAIN' 'SREC' 'ent' &BCLREC ;
 709 :    GEO. NAME = 'SOMT' ('DOMA' $ENTREE 'XXDIAGSI') ;
 710 :    NAME = 'CHAIN' 'SREC' 'sor' &BCLREC ;
 711 :    GEO. NAME = 'SOMT' ('DOMA' $SORTIE 'XXDIAGSI') ;
 712 :    'MESS' ' ==> Vérification inclusion recomb' &BCLREC 'ENVELOPPE' ;
 713 : 
 714 :    ai   = 'INTER' (M_PAREXT 'ET' M_ENTREE 'ET' M_SORTIE)
 715 :                  (GEO.'Mmenvf') ;
 716 :    nbai = 'NBEL' ai ;
 717 :    'SI' ('EGA' nbai 0) ;
 718 :    'MESS' ' Recomb' &BCLREC ' non inclus dans l enveloppe ' ;
 719 :    'ERRE' 21 ;
 720 :    'FINSI' ;
 721 :    
 722 :    GEO.'MmenvfU' = 'DIFF'  GEO.'MmenvfU' (M_ENTREE 'ET' M_SORTIE) ;
 723 :    GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr' ;
 724 :    GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' 'MAILLAGE' ;
 725 :    
 726 : * Travail en 2D pour définir l'entree et la sortie du recombineur
 727 :       'SI' ('NON' DIM3D) ;
 728 :          ENTREE1 = 'CHAN' ENTREE 'POI1' ;
 729 :          nbbc ='NBEL' ENTREE1 ;
 730 :          ENTREEc = 'ELEM' ENTREE1 ('LECT' 1 nbbc) ;
 731 :          ENTREEi = 'ELEM' ENTREE1 ('LECT' 2 'PAS' 1 (nbbc - 1)) ;
 732 :          a = 'NBEL' ENTREEi ;
 733 :          'SI' ('EGA' a 0) ;
 734 :             'MESS' '==> Le cas ne comporte pas de recombineur' &BCLREC ;
 735 :             'ERREUR' 5 ;
 736 :          'FINSI' ;
 737 :          SORTIE1 = 'CHAN' SORTIE 'POI1' ;
 738 :          nbbc ='NBEL' SORTIE1 ;
 739 :          SORTIEc = 'ELEM' SORTIE1 ('LECT' 1 nbbc) ;
 740 :          SORTIEi = 'ELEM' SORTIE1 ('LECT' 2 'PAS' 1 (nbbc - 1)) ;
 741 :          a = 'NBEL' SORTIEi ;
 742 :          'SI' ('EGA' a 0) ;
 743 :             'MESS' '==> Le cas ne comporte pas de recombineur' &BCLREC ;
 744 :             'ERREUR' 5 ;
 745 :          'FINSI' ;
 746 :       'SINON' ;
 747 : * Travail en 3D pour définir l'entree et la sortie du recombineur
 748 :          ENTREEc = 'CONT' ENTREE ;
 749 :          ENTREE1 = 'CHAN' ENTREE 'POI1' ;
 750 :          ENTREEi = 'DIFF' ENTREE1 ( 'CHAN' ENTREEc 'POI1') ;
 751 :          a = 'NBEL' ENTREEi ;
 752 :          'SI' ('EGA' a 0) ;
 753 :             'MESS' '==> Le cas ne comporte pas de recombineur' &BCLREC ;
 754 :             'ERREUR' 5 ;
 755 :          'FINSI' ;
 756 :          SORTIEc = 'CONT' SORTIE ;
 757 :          SORTIE1 = 'CHAN' SORTIE 'POI1' ;
 758 :          SORTIEi = 'DIFF' SORTIE1 ( 'CHAN' SORTIEc 'POI1') ;
 759 :          a = 'NBEL' SORTIEi ;
 760 :          'SI' ('EGA' a 0) ;
 761 :             'MESS' '==> Le cas ne comporte pas de recombineur' &BCLREC ;
 762 :             'ERREUR' 5 ;
 763 :          'FINSI' ;
 764 :       'FINSI' ;
 765 :       ENTREEi = ENTREEi 'COUL' 'ROUG' ;
 766 :       ENTREEc = ENTREEc 'COUL' 'VERT' ;
 767 :       NAME = 'CHAIN' 'REC' 'entI' &BCLREC ;
 768 :       GEO.NAME = ENTREEi ;
 769 :       NAME = 'CHAIN' 'REC' 'entC' &BCLREC ;
 770 :       GEO.NAME = ENTREEc ;
 771 :       SORTIEi = SORTIEi 'COUL' 'ROUG' ;
 772 :       SORTIEc = SORTIEc 'COUL' 'VERT' ;
 773 :       NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
 774 :       GEO.NAME = SORTIEi ;
 775 :       NAME = 'CHAIN' 'REC' 'sorC' &BCLREC ;
 776 :       GEO.NAME = SORTIEc ;
 777 :    'FIN' BCLREC ;
 778 : 
 779 : 'FINSI' ;
 780 : 
 781 : *  -----------------------------------------------------------
 782 : *  Traitement de la sortie
 783 : 
 784 :   Si (TBT.'Tsortie') ;
 785 :    sortie       = rxt.'sortie'                               ;
 786 :    Msortie      = 'CHAN' sortie  'QUAF'                      ;
 787 :    elim Msortie  rxt.'epsi'                                  ;
 788 :    $sortie      = 'MODE' Msortie  mdns TBT.'discr'           ;
 789 :    sortie       = 'DOMA' $sortie  'MAILLAGE'                 ;
 790 :    Ssortie        = 'SOMT' ('DOMA' $sortie  'VOLUME')        ;
 791 : 
 792 :  'ELIM' epsi (Mvtf 'ET' Msortie );
 793 : 
 794 :    GEO.'Msortie' = Msortie                                  ;
 795 :    GEO.'$sortie' = $sortie                                  ;
 796 :    GEO.'sortie'  = sortie                                   ;
 797 :    GEO.'Ssortie' = Ssortie                                  ;
 798 : 
 799 :    'MESS' ' ==> Vérification inclusion SORTIE ENVELOPPE'   ;
 800 : 
 801 :    ai= 'INTER' Msortie  GEO.'Mmenvf'                          ;
 802 :    nbai= nbel ai                                            ;
 803 :    Si (ega nbai 0)                                          ;
 804 :    Mess ' Sortie  non incluse dans l enveloppe '            ;
 805 :    'ERRE' 21                                                ;
 806 :    Finsi                                                    ;
 807 : 
 808 :  GEO.'MmenvfU' = 'DIFF'  GEO.'MmenvfU' Msortie                    ;
 809 :  GEO.'$menvfU' = 'MODE' GEO.'MmenvfU' 'NAVIER_STOKES' TBT.'discr' ;
 810 :  GEO.'menvfU'  = 'DOMA' GEO.'$menvfU' maillage                    ;
 811 : 
 812 :   Finsi ;
 813 : 
 814 :  'SI' TBT.'GRAPH'                                          ;
 815 :       'SI' (TBT.'Taxe')                                    ;
 816 :          axe=axe 'COUL' 'JAUN'                             ;
 817 :          tmenvf = axe 'ET' GEO.'menvfU'                    ;
 818 :       'SINON'                                              ;
 819 :          tmenvf =  GEO.'menvfU'                            ;
 820 :       'FINSI'                                              ;
 821 : 
 822 :      Si TTsortie                                           ;
 823 :        NBR=dime rxt.'Sorties'                              ;
 824 :        ibr=index (rxt.'Sorties')                           ;
 825 :        Repeter BBRS NBR                                    ;
 826 :        Briches=rxt.'Sorties'.(ibr.&BBRS)                   ;
 827 :        srechei=Briches.'srechei'                           ;
 828 :        srechec=Briches.'srechec'                           ;
 829 :        tmenvf = tmenvf et srechei et srechec               ;
 830 :        FIN BBRS                                            ;
 831 :      FINSI                                                 ;
 832 : 
 833 :      Si TTbreche                                           ;
 834 :        NBR=dime rxt.'Breches'                              ;
 835 :        ibr=index (rxt.'Breches')                           ;
 836 :        Repeter BBRS NBR                                    ;
 837 :        Briches=rxt.'Breches'.(ibr.&BBRS)                   ;
 838 :        brechei=Briches.'brechei'                           ;
 839 :        brechec=Briches.'brechec'                           ;
 840 :        tmenvf = tmenvf et brechei et brechec               ;
 841 :        FIN BBRS                                            ;
 842 :      FINSI                                                 ;
 843 : 
 844 :      Si (TBT.'Tbreche') ;
 845 :      tmenvf = tmenvf et brechei et brechec ;
 846 :      Finsi ;
 847 :      Si (TBT.'Tbreche2') ;
 848 :      tmenvf = tmenvf et brech2i et brech2c ;
 849 :      Finsi ;
 850 :      Si (TBT.'Tbreche3') ;
 851 :      tmenvf = tmenvf et brech3i et brech3c ;
 852 :      Finsi ;
 853 :      'SI' (TBT.'TRECOMB') ;
 854 :          NBREC = 'DIME' rxt.'RECOMB' ;
 855 :          'REPETER' BCLREC NBREC ;
 856 :            NAME = 'CHAIN' 'REC' 'entI' &BCLREC ;
 857 :            ENTREEi = GEO.NAME ;
 858 :            NAME = 'CHAIN' 'REC' 'entC' &BCLREC ;
 859 :            ENTREEc = GEO.NAME ;
 860 :            NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
 861 :            SORTIEi = GEO.NAME ;
 862 :            NAME = 'CHAIN' 'REC' 'sorC' &BCLREC ;
 863 :            SORTIEc = GEO.NAME ;
 864 : 
 865 :            tmenvf = tmenvf et ENTREEi et ENTREEc ;
 866 :            tmenvf = tmenvf et SORTIEi et SORTIEc ;
 867 :          'FIN' BCLREC ;
 868 :      'FINSI' ;
 869 :      
 870 :      Si (TBT.'Tsortie')                    ;
 871 :      sortie = sortie coul TURQ             ;
 872 :      tmenvf = tmenvf et sortie             ;
 873 :      Finsi ;
 874 :            'TRAC' tmenvf
 875 :            'TITR' 'Maillage - Axe, Fluide, Breches, Sortie';
 876 :    'FINSI'                                                 ;
 877 : *-----------------------------------------------------------
 878 : * Traitement de la thermique paroi
 879 : * => Il doit y avoir deux types de paroi dans le modele
 880 : * Type 1 = THERMP la paroi est couplee au fluide et on calcule
 881 : *          son evolution thermique en fonction du temps
 882 : * Type 2 = TP_IMPOSEE : la paroi produit une condition
 883 : *          limite de type temperature imposee pour la resolution
 884 : *          de la temperature fluide en fonction du temps
 885 : * Dans un meme cas test, l'utilisateur veut pouvoir coupler
 886 : * les deux approches et pouvoir definir des conditions initiales
 887 : * differentes et piloter la variation en fonction du temps
 888 : * Les parois sont decrites dans la table RXT.'TABMUR'
 889 : * Il faut regrouper les parois servant de CL en temperature et
 890 : * par type (beton/acier...) les parois dont on veut traiter la
 891 : * thermique
 892 : * 
 893 : * On Crée la géométrie discrérisée pour la thermique paroi
 894 : 
 895 : 
 896 : 
 897 : 'SI' TPAROIS                                             ;                
 898 : mess ' THERMIQUE PAROIS MULTIPLES '                      ;
 899 :    NPAR=dime rxt.'PAROIS'                                ;
 900 :    ipr=index (rxt.'PAROIS')                              ;
 901 :  mdns        = 'NAVIER_STOKES'                           ;
 902 :    Repeter BPRS NPAR                                     ;
 903 :    Parois=rxt.'PAROIS'.(ipr.&BPRS)                       ;
 904 :    GEO.(ipr.&BPRS)='TABLE'                               ;
 905 :    vtp=Parois.'vtp'                                      ;
 906 :  Mvtp        = 'CHAN'  vtp 'QUAF'                        ;
 907 :  $vtpi       = 'MODE' Mvtp  mdns TBT.'discr'             ;
 908 :  VTotalp     = 'SOMT' ('DOMA' $vtpi   'VOLUME')          ;
 909 :  Diagpi      =  doma $vtpi 'XXDIAGSI'                    ;
 910 :  GEO.(ipr.&BPRS).'vtp'    =  vtp                         ;
 911 :  GEO.(ipr.&BPRS).'Mvtp'   =  Mvtp                        ;
 912 :  GEO.(ipr.&BPRS).'$vtp'   =  $vtpi                       ;
 913 :  GEO.(ipr.&BPRS).'eMvtp'  =  doma $vtpi 'ENVELOPP'       ;
 914 :  GEO.(ipr.&BPRS).'vtp'    =  doma $vtpi MAILLAGE         ;
 915 :  GEO.(ipr.&BPRS).'VTotalp'=  VTotalp                     ;            
 916 :  GEO.(ipr.&BPRS).'Diagp'  =  Diagpi                      ;
 917 :   'SI' TBT.'GRAPH'                                       ;
 918 :    'TRACE' GEO.(ipr.&BPRS).'vtp' CACHE 'TITR'
 919 :    (Chai 'Maillage pour la THERMIQUE : ' (ipr.&BPRS))    ;
 920 :   'FINSI'                                                ;
 921 :     'SI'('EGA' &BPRS 1)                                  ;
 922 :       ROCP = Parois.'ROCP'*Diagpi                        ;
 923 :       LAMB = Parois.'LAMBDA'*Diagpi                      ;
 924 :       TPPI = Parois.'Tp0'*Diagpi                         ;
 925 :       vtpt = vtp                                         ;
 926 :       Mvtpt= Mvtp                                        ;
 927 :     'SINON'                                              ;                      
 928 :       a=inter vtpt vtp 'NOVERIF'                         ;
 929 :        Si (NON ('EGA' (NBEL a) 0))                       ;
 930 :       trace a CACHE TITR ' maillage intersection'        ;
 931 :  Mess                                                    ;
 932 :  Mess '---------------- ERREUR Dans PAROIS ----------- ' ;
 933 :  Mess ' Les éléments de maillage composant la paroi se chevauchent';            
 934 :  Mess '---------------- ERREUR Dans PAROIS ----------- ' ;
 935 :  Mess                                                    ;
 936 :        ERREUR ' '                                        ;
 937 :        Quitter PREPAENC                                  ;
 938 :        Finsi                                             ;
 939 :       ROCP = ROCP + (Parois.'ROCP'*Diagpi)               ;
 940 :       LAMB = LAMB + (Parois.'LAMBDA'*Diagpi)             ;
 941 :       TPPI = TPPI + (Parois.'Tp0'*Diagpi)                ;
 942 :       vtpt  = vtpt et vtp                                ;
 943 :       Mvtpt = Mvtpt et Mvtp                              ;
 944 :       Elim Mvtpt GEO.'epsi'                              ;
 945 :     'FINSI'                                              ;
 946 :    FIN BPRS                                              ;                 
 947 :   rxt.'vtp' = vtpt                                       ;
 948 :   Mvtp      = Mvtpt                                      ;
 949 :   mdns        = 'NAVIER_STOKES'                          ;
 950 :   $vtpp        = 'MODE' Mvtp  mdns TBT.'discr'           ;
 951 :   VTotalp      = 'SOMT' ('DOMA' $vtpp    'VOLUME')       ;
 952 :   GEO.'Mvtp'   = Mvtp                                    ;
 953 :   GEO.'$vtp'   = $vtpp                                   ;
 954 :   GEO.'eMvtp'  = doma $vtpp 'ENVELOPP'                   ;
 955 :   GEO.'vtp'    = doma $vtpp MAILLAGE                     ;
 956 :   GEO.'VTotalp'= VTotalp                                 ;
 957 :   GEO.'Diagp'  = doma $vtpp 'XXDIAGSI'                   ;
 958 :   ROCP         = ROCP * (inve GEO.'Diagp')               ;
 959 :   LAMB         = LAMB * (inve GEO.'Diagp')               ;
 960 :   TPPI         = TPPI * (inve GEO.'Diagp')               ;
 961 :   tic.'ROCP'   = KCHT GEO.'$vtp' SCAL SOMMET ROCP        ;
 962 :   tic.'LAMBDA' = KCHT GEO.'$vtp' SCAL SOMMET LAMB        ;
 963 : Si(NON ( EXIST tic 'TPNM'))                              ;
 964 :   tic.'TPNM'   = KCHT GEO.'$vtp' SCAL SOMMET TPPI        ;
 965 : Finsi                                                    ;
 966 : 
 967 :  'SI' TBT.'GRAPH'                                        ;
 968 :   Trace tic.'ROCP' (GEO.'vtp') TITR ' ROCP paroi'        ;
 969 :   Trace tic.'LAMBDA' (GEO.'vtp') TITR ' LAMBDA paroi'    ;
 970 :   Trace tic.'TPNM' (GEO.'vtp')
 971 :    TITR ' Température d initialisation de la paroi'      ;
 972 :  'FINSI'                                                 ;
 973 : 
 974 :  'FINSI'                                                 ;
 975 : 
 976 :  TBT.'TPAROIF' = FAUX                                    ;
 977 : 
 978 : 'SI' (TBT.'THERMP' ou TPAROIS)                           ;                  
 979 : mess ' THERMIQUE PAROIS '                                ;
 980 : 
 981 :  'SI' (NON TPAROIS)                                      ;
 982 :  mdns        = 'NAVIER_STOKES'                           ;
 983 :  Mvtp        = 'CHAN'  rxt.'vtp' 'QUAF'                  ;
 984 :  $vtpt        = 'MODE' Mvtp  mdns TBT.'discr'            ;
 985 :  VTotalp     = 'SOMT' ('DOMA' $vtpt    'VOLUME')         ;
 986 :  GEO.'Mvtp'  =  Mvtp                                     ;
 987 :  GEO.'$vtp'  =  $vtpt                                    ;
 988 :  GEO.'eMvtp' =  doma $vtpt 'ENVELOPP'                    ;
 989 :  GEO.'vtp'   =  doma $vtpt MAILLAGE                      ;
 990 :  GEO.'VTotalp'=  VTotalp                                 ;
 991 :  GEO.'Diagp' =  doma $vtpt 'XXDIAGSI'                    ;
 992 :  'FINSI'                                                 ;
 993 : 
 994 :  'SI' TBT.'GRAPH'                                        ;
 995 :   'TRACE' GEO.'vtp' 'TITR' 'Maillage pour la THERMIQUE ' ;
 996 :  'FINSI'                                                 ;
 997 : 
 998 : * On recherche l'intersection entre vtf et vtp
 999 : * => paroif
1000 : 
1001 :     Elim (GEO.'Mvtp' et GEO.'Mvtf') GEO.'epsi'          ;
1002 :      Mparoif     = inte (GEO.'Mmenvf') (GEO.'eMvtp') ;
1003 :  'SI' (NON(EGA (nbel Mparoif) 0))                       ;
1004 :   TBT.'TPAROIF' = VRAI                                  ;
1005 :      $paroif    = 'MODE' Mparoif mdns TBT.'discrH'      ;
1006 :      Sparoif    = 'SOMT' ('DOMA' $paroif 'VOLUME')      ;
1007 :      GEO.'Mparoif' = Mparoif                            ;
1008 :      GEO.'$paroif' = $paroif                            ;
1009 :      GEO.'paroif'  = doma $paroif MAILLAGE              ;
1010 :      GEO.'Sparoif' = Sparoif                            ;
1011 :      GEO.'Diagpf'  = 'DOMA' GEO.'$paroif' 'XXDIAGSI'    ;
1012 :    'SI' TBT.'GRAPH'                                     ;
1013 :     'TRACE' GEO.'paroif' 'TITR' 'Surface de contacte FLUIDE/THERM' ;
1014 :    'FINSI'                                              ;
1015 :  'FINSI'                                                ;
1016 : 
1017 :  'SI' TBT.'ECHEXT'                                      ;
1018 :    Mparext=Chan rxt.'parext' QUAF                       ;
1019 :    Elim (Mvtp et Mparext) rxt.'epsi'                    ;
1020 :    $parext     = 'MODE' Mparext mdns TBT.'discrH'       ;
1021 :    GEO.'Mparext'  =  Mparext                            ;
1022 :    GEO.'$parext'  =  $parext                            ;
1023 :  'FINSI'                                                ;
1024 : 
1025 : 'FINSI'                                                 ;
1026 : 
1027 : *-----------------------------------------------------------
1028 : * Traitement des Flux imposés 
1029 : * XFIMP 3 : Flux de masse imposés
1030 : 
1031 :  'SI' TFIMP                                             ;
1032 :    NBFIMP=dime (rxt.'XFIMP')                            ;
1033 :    ifimp=INDEX (rxt.'XFIMP')                            ;
1034 :   REPETER BBFIMP NBFIMP                                 ;
1035 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                    ;
1036 :      Mmfpi =(Bfimp.'MAILLAGE') CHAN 'QUAF'              ;
1037 :      Elim (GEO.'Mmenvf' et Mmfpi) rxt.'epsi'            ;
1038 :      $mfpi = 'MODE' Mmfpi   mdns TBT.'discrH'           ;
1039 :      Bfimp.'Mmfpi'  =  Mmfpi                            ;
1040 :      Bfimp.'$mfpi'  =  $mfpi                            ;
1041 :      Bfimp.'mfpi'   =  doma $mfpi maillage              ;
1042 :      Bfimp.'Smfpi'  = 'SOMT' ( 'DOMA' $mfpi 'VOLUME')   ;
1043 :      Bfimp.'Diagfi'  = 'DOMA' Bfimp.'$mfpi' 'XXDIAGSI'  ;
1044 : *-- Verification de l'inclusion de MFPI dans l'enveloppe
1045 :        a = 'INTERSECTION' (Bfimp.'mfpi')  (GEO.'menvf') ;
1046 :   'MESS' '==> On verifie que la surface 1 '             ;
1047 :   'MESS' '==> pour le flux imposé'                      ;
1048 :   'MESS' '==> est bien incluse dans l enveloppe '       ;
1049 :   FIN BBFIMP                                            ;
1050 :  'FINSI'                                                ;
1051 : 
1052 : * XFIMP 3 : Flux de masse imposés
1053 : mess 'FIN Flux imposés';
1054 : *-----------------------------------------------------------
1055 : * Traitement des températures imposées (condenseurs)
1056 : 
1057 :  'SI' TTIMP                                             ;
1058 :    NBTIMP=dime (rxt.'TIMP')                             ;
1059 :    itimp=INDEX (rxt.'TIMP')                             ;
1060 :   REPETER BBTIMP NBTIMP                                 ;
1061 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                     ;
1062 :      Mmtpi =(Btimp.'MAILLAGE') CHAN 'QUAF'              ;
1063 :      Elim (GEO.'Mmenvf' et Mmtpi) rxt.'epsi'            ;
1064 :      $mtpi = 'MODE' Mmtpi   mdns TBT.'discrH'           ;
1065 :      Btimp.'Mmtpi'  =  Mmtpi                            ;
1066 :      Btimp.'$mtpi'  =  $mtpi                            ;
1067 :      Btimp.'mtpi'   =  doma $mtpi maillage              ;
1068 :      Btimp.'Smtpi'  = 'SOMT' ( 'DOMA' $mtpi 'VOLUME')   ;
1069 :      Btimp.'Diagif'  = 'DOMA' Btimp.'$mtpi' 'XXDIAGSI'  ;
1070 : *-- Verification de l'inclusion de MTPI dans l'enveloppe
1071 :        a = 'INTERSECTION' (Btimp.'mtpi')  (GEO.'menvf') ;
1072 :   'MESS' '==> On verifie que la surface 1 '             ;
1073 :   'MESS' '==> pour la temperature imposee'              ;
1074 :   'MESS' '==> est bien incluse dans l enveloppe '       ;
1075 :   FIN BBTIMP                                            ;
1076 :  'FINSI'                                                ;
1077 : 
1078 :  'SI' TBT.'TTIMP1'                                      ;
1079 :      Mmtp1 =(rxt.'TIMP1'.'MAILLAGE') CHAN 'QUAF'        ;
1080 :      Elim (GEO.'Mmenvf' et Mmtp1) rxt.'epsi'            ;
1081 :      $mtp1 = 'MODE' Mmtp1   mdns TBT.'discrH'           ;
1082 :      GEO.'Mmtp1'  =  Mmtp1                              ;
1083 :      GEO.'$mtp1'  =  $mtp1                              ;
1084 :      GEO.'mtp1'   =  doma $mtp1 maillage                ;
1085 :      GEO.'Smtp1'  = 'SOMT' ( 'DOMA' $mtp1 'VOLUME')     ;
1086 :      GEO.'Diag1f'  = 'DOMA' GEO.'$mtp1' 'XXDIAGSI'      ;
1087 : *-- Verification de l'inclusion de MTPI dans l'enveloppe
1088 :        a = 'INTERSECTION' (GEO.'mtp1')  (GEO.'menvf')   ;
1089 :   'MESS' '==> On verifie que la surface 1 '             ;
1090 :   'MESS' '==> pour la temperature imposee'              ;
1091 :   'MESS' '==> est bien incluse dans l enveloppe '       ;
1092 :  'FINSI'                                                ;
1093 : 
1094 :  'SI' TBT.'TTIMP2'                                      ;
1095 :      Mmtp2 =(rxt.'TIMP2'.'MAILLAGE') CHAN 'QUAF'        ;
1096 :      Elim (GEO.'Mmenvf' et Mmtp2) rxt.'epsi'            ;
1097 :      $mtp2 = 'MODE' Mmtp2   mdns TBT.'discrH'           ;
1098 :      GEO.'Mmtp2'  =  Mmtp2                              ;
1099 :      GEO.'$mtp2'  =  $mtp2                              ;
1100 :      GEO.'mtp2'   =  doma $mtp2 maillage                ;
1101 :      GEO.'Smtp2'  = 'SOMT' ( 'DOMA' $mtp2 'VOLUME')     ;
1102 :      GEO.'Diag2f'  = 'DOMA' GEO.'$mtp2' 'XXDIAGSI'      ;
1103 : *-- Verification de l'inclusion de MTPI dans l'enveloppe
1104 :        a = 'INTERSECTION' (GEO.'mtp2')  (GEO.'menvf')   ;
1105 :   'MESS' '==> On verifie que la surface 2'              ;
1106 :   'MESS' '==> pour la temperature imposee'              ;
1107 :   'MESS' '==> est bien incluse dans l enveloppe '       ;
1108 :  'FINSI'                                                ;
1109 : 
1110 :  'SI' TBT.'TTIMP3'                                      ;
1111 :      Mmtp3 =(rxt.'TIMP3'.'MAILLAGE') CHAN 'QUAF'        ;
1112 :      Elim (GEO.'Mmenvf' et Mmtp3) rxt.'epsi'            ;
1113 :      $mtp3 = 'MODE' Mmtp3   mdns TBT.'discrH'           ;
1114 :      GEO.'Mmtp3'  =  Mmtp3                              ;
1115 :      GEO.'$mtp3'  =  $mtp3                              ;
1116 :      GEO.'mtp3'   =  doma $mtp3 maillage                ;
1117 :      GEO.'Smtp3'  = 'SOMT' ( 'DOMA' $mtp3 'VOLUME')     ;
1118 :      GEO.'Diag3f'  = 'DOMA' GEO.'$mtp3' 'XXDIAGSI'      ;
1119 : *-- Verification de l'inclusion de MTPI dans l'enveloppe
1120 :        a = 'INTERSECTION' (GEO.'mtp3')  (GEO.'menvf')   ;
1121 :   'MESS' '==> On verifie que la surface 3'              ;
1122 :   'MESS' '==> pour la temperature imposee'              ;
1123 :   'MESS' '==> est bien incluse dans l enveloppe '       ;
1124 :  'FINSI'                                                ;
1125 : 
1126 : *** vérification de l'inclusion du maillage de la paroi du mur
1127 : *** et de l'enveloppe du maillage fluide
1128 :  'SI' TBT.'TECHANP'                                     ;
1129 :      Mmtp0 =(rxt.'ECHANP'.'MAILLAGE') CHAN 'QUAF'       ;
1130 :      Elim (GEO.'Mmenvf' et Mmtp0) rxt.'epsi'            ;
1131 :      $mtp0 = 'MODE' Mmtp0   mdns TBT.'discr'            ;
1132 :      GEO.'Mmtp0'  =  Mmtp0                              ;
1133 :      GEO.'$mtp0'  =  $mtp0                              ;
1134 :      GEO.'mtp0'   =  doma $mtp0 maillage                ;
1135 :      GEO.'Smtp0'  = 'SOMT' ( 'DOMA' $mtp0 'VOLUME')     ;
1136 :      GEO.'Diag0f'  = 'DOMA' GEO.'$mtp0' 'XXDIAGSI'      ;
1137 : *-- Verification de l'inclusion de MTPI dans l'enveloppe
1138 :        a = 'INTERSECTION' (GEO.'mtp0')  (GEO.'menvf')   ;
1139 :   'MESS' '==> On verifie que la surface de ECHANP'      ;
1140 :   'MESS' '==> pour une temperature définie par l utilisateur';
1141 :   'MESS' '==> est bien incluse dans l enveloppe '       ;
1142 :  'FINSI'                                                ;
1143 : 
1144 : mess 'FIN THERMIQUE PAROI';
1145 : *-----------------------------------------------------------
1146 : 'SI' (TBT.'ASPER')                                       ;
1147 :   aspinj      = rxt.'aspinj'                             ;
1148 :   toitf       = rxt.'toitf'                              ;
1149 : 'FINSI'                                                  ;
1150 : 
1151 : *  -----------------------------------------------------------
1152 : 
1153 :  'SI' TBT.'ASPER'                                        ;
1154 :  Maspinj     = 'CHAN' aspinj 'QUAF'                      ;
1155 :  elim Maspinj  rxt.'epsi'                                ;
1156 :  Mtoitf      = 'CHAN' toitf  'QUAF'                      ;
1157 :  elim Mtoitf  rxt.'epsi'                                 ;
1158 :  $aspinj     = 'MODE' Maspinj mdns TBT.'discr'           ;
1159 :  $toitf      = 'MODE' Mtoitf  mdns TBT.'discr'           ;
1160 :  aspinj      = 'DOMA' $aspinj 'MAILLAGE'                 ;
1161 :  toitf       = 'DOMA' $toitf  'MAILLAGE'                 ;
1162 :  'ELIM' epsi (Mvtf 'ET' Maspinj 'ET' Mtoitf )            ;
1163 :  'FINSI'                                                 ;
1164 : 
1165 : *----------------------------------------------------------
1166 : * Definition d'un point interieur sur lequel on impose
1167 : * la pression
1168 : 
1169 :  Si(exist rxt 'pi');
1170 :  lvtf       = 'CHAN' 'LINEAIRE' vtf                      ;
1171 :  pi0        = lvtf 'POIN' 'PROC' (rxt.'pi')              ;
1172 :  Melti       = Mvtf 'ELEM' 'CONTENANT' pi0               ;
1173 :  $elti       = 'MODE' Melti mdns TBT.'discr'             ;
1174 :  Pimp        =  'DOMA' $elti  TBT.'KPRE'                 ;
1175 :  Pimp        = Elem (lect 1) Pimp                        ;
1176 :  'ELIM' (Pimp 'ET' ('DOMA' $vtf   TBT.'KPRE' )) epsi     ;
1177 :  Finsi                                                   ;
1178 :  GEO.'Pimp'  = Pimp                                      ;
1179 : 
1180 : *-----------------------------------------------------------
1181 : * Preparation des conditions initiales pour les differentes grandeurs
1182 : *
1183 : 
1184 : 'SI' TBT.'ASPER'                                         ;
1185 :    t         = rxt.'scenasp'.'t'                         ;
1186 :    vzinj     = 'IPOL' 0.0 t (rxt.'scenasp'.'vzinj')      ;
1187 :    xdinj     = 'IPOL' 0.0 t (rxt.'scenasp'.'xdinj')      ;
1188 :    tdinj     = 'IPOL' 0.0 t (rxt.'scenasp'.'tdinj')      ;
1189 :    ddinj     = 'IPOL' 0.0 t (rxt.'scenasp'.'ddinj')      ;
1190 :    tic.'Tdma'  = prog tdinj                              ;
1191 :    tic.'Tdmi'  = prog tdinj                              ; 
1192 : 
1193 : 'FINSI'                                                  ;
1194 : 
1195 :  tf0         = rxt.'TF0'                                 ;
1196 :  Pt0         = rxt.'PT0'                                 ;
1197 : 
1198 : 'SI'(TBT.'THERMP' et (NON TPAROIS))                      ;
1199 :  tp0         = rxt.'Tp0'                                 ;
1200 : * Calcul d'une temperature moyenne de paroi Tpm0
1201 :  Tpm0 = ('SOMT' ( GEO.'Diagp' '*' tp0 )) '/' ( 'SOMT' GEO.'Diagp' )  ;
1202 : 'SINON'                                                  ;
1203 :  Tpm0 = 0.                                               ;
1204 : 'FINSI'                                                  ;
1205 : 
1206 : 'SI' TPAROIS                                             ;
1207 :    NPAR=dime rxt.'PAROIS'                                ;
1208 :    ipr=index (rxt.'PAROIS')                              ;
1209 :    Tpm0=0.                                               ;
1210 :    Rocpm0=0.                                             ;
1211 :    Repeter BPRS NPAR                                     ;
1212 : *? Parois=rxt.'PAROIS'.(ipr.&BPRS)                       ;
1213 :     Ctp0 = chai 'Tp0' &BPRS                              ;
1214 :     tp0  = tic.CTp0                                      ;
1215 :     Crocp = chai 'ROCP' &BPRS                            ;
1216 :     rocp  = tic.Crocp                                    ;
1217 : * Calcul d'une temperature moyenne de paroi Tpm0
1218 :  Tpm0=Tpm0 + ('SOMT' (GEO.(ipr.&BPRS).'Diagp' '*' tp0 )) ;
1219 :  Rocpm0=Rocpm0 +
1220 :   ('SOMT' (GEO.(ipr.&BPRS).'Diagp' '*' tp0 ))            ;
1221 :    FIN BPRS                                              ;
1222 :  Tpm0 = Tpm0 '/' ( 'SOMT' GEO.'Diagp' )                  ;
1223 :  Rocpm0 = Rocpm0 '/' ( 'SOMT' GEO.'Diagp' )              ;
1224 :  rxt.'Tp0'=Tpm0                                          ;
1225 :  rxt.'ROCP'=Rocpm0                                       ;
1226 : 'SINON'                                                  ;
1227 :  Tpm0 = 0.                                               ;
1228 : 'FINSI'                                                  ;
1229 : 
1230 : 'SI' TBT.'VAPEUR'                                        ;
1231 :  Yvap0       = rxt.'Yvap0'                               ;
1232 :   'SI' (EXIST rxt 'Mliq0')                               ;
1233 :    vertytab rxt 'Mliq0' 'FLOTTANT'                       ;
1234 :    Mliq0     = rxt.'Mliq0'                               ;
1235 :   'SINON'                                                ;
1236 :    Mliq0     = 0.                                        ;
1237 :   'FINSI'                                                ;
1238 : 'SINON'                                                  ;
1239 :  Yvap0       = 0.                                        ;
1240 : 'FINSI'                                                  ;
1241 : 
1242 : 'SI' TBT.'THE'                                           ;
1243 :  Yhe0        = rxt.'Yhe0'                                ;
1244 : 'SINON'                                                  ;
1245 :  Yhe0        = 0.                                        ;
1246 : 'FINSI'                                                  ;
1247 : 
1248 : 'SI' TBT.'TH2'                                           ;
1249 :  Yh20        = rxt.'Yh20'                                ;
1250 : 'SINON'                                                  ;
1251 :  Yh20        = 0.                                        ;
1252 : 'FINSI'                                                  ;
1253 : 
1254 : 'SI' TBT.'TO2'                                           ;
1255 :  Yo20        = rxt.'Yo20'                                ;
1256 : 'SINON'                                                  ;
1257 :  Yo20        = 0.                                        ;
1258 : 'FINSI'                                                  ;
1259 : 
1260 : 'SI' TBT.'TN2'                                           ;
1261 :  Yn20        = rxt.'Yn20'                                ;
1262 : 'SINON'                                                  ;
1263 :  Yn20        = 0.                                        ;
1264 : 'FINSI'                                                  ;
1265 : 
1266 : 'SI' TBT.'TCO2'                                          ;
1267 :  Yco20        = rxt.'Yco20'                              ;
1268 : 'SINON'                                                  ;
1269 :  Yco20        = 0.                                       ;
1270 : 'FINSI'                                                  ;
1271 : 
1272 : 'SI' TBT.'TCO'                                           ;
1273 :  Yco0        = rxt.'Yco0'                                ;
1274 : 'SINON'                                                  ;
1275 :  Yco0        = 0.                                        ;
1276 : 'FINSI'                                                  ;
1277 : *---------------------------------------------------------------
1278 : * AIR : on traite l'air comme un composant a part entiere
1279 : * il faudra se mefier de ce point lors des calculs de combustion
1280 : *
1281 :  Yair0 = 1.0 - Yvap0 - Yhe0 - Yh20 - Yo20 - Yn20 - Yco20 - Yco0 ;
1282 :     tic.'YAIR'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Yair0           ;
1283 : 
1284 : *---------------------------------------------------------------
1285 : * RGPM = constante des gaz parfaits pour le mélange
1286 : Rgh2  = TBT.'Rgh2'                                       ;
1287 : Rghe  = TBT.'Rghe'                                       ;
1288 : Rgo2  = TBT.'Rgo2'                                       ;
1289 : Rgn2  = TBT.'Rgn2'                                       ;
1290 : Rgco2 = TBT.'Rgco2'                                      ;
1291 : Rgco  = TBT.'Rgco'                                       ;
1292 : Rgvap = TBT.'Rgvap'                                      ;
1293 : Rgair = TBT.'Rgair'                                      ;
1294 : 
1295 :  Rgpm =   (Rgvap '*' Yvap0) '+' (Rgair '*' Yair0) '+' 
1296 :           (Rghe '*' Yhe0) '+' (Rgh2  '*' Yh20) '+' 
1297 :           (Rgo2 '*' Yo20) '+' (Rgn2 '*' Yn20) '+'
1298 :           (Rgco  '*' Yco0) '+' (Rgco2 '*' Yco20)         ;
1299 :  Rgp  =  'KCHT' $vtf 'SCAL' 'SOMMET' Rgpm                ;
1300 : 
1301 : *---------------------------------------------------------------
1302 : * Calcul Cp (Tf0) et Cpm pour le mélange de gaz
1303 : * CALCP  appelé ŕ l'initialisation
1304 : *
1305 : Tfm=Tf0                                                  ;
1306 : Cph2 Cphe Cpo2 Cpn2 Cpco2 Cpco Cpair =  CALCP  Tfm       ;
1307 : Cpvap = TBT.'Cpvap'                                      ;
1308 : Cpm = (Cpvap '*' Yvap0) '+' (Cpair '*' Yair0) '+' (Cphe '*' Yhe0) '+'
1309 :       (Cph2  '*' Yh20) '+' (Cpo2 '*' Yo20) '+' (Cpn2 '*' Yn20) '+'
1310 :       (Cpco  '*' Yco0) '+' (Cpco2 '*' Yco20)             ;
1311 : 
1312 : *---------------------------------------------------------------
1313 : * Calcul Mu (Tkm) pour le mélange de gaz
1314 : *
1315 : Tkm=Tfm + 273.15                                         ;
1316 : Muh2 Muhe Muo2 Mun2 Muco2 Muco Muvap Muair =  CALMU  Tkm ;
1317 : Mu = (Muvap '*' Yvap0) '+' (Muair '*' Yair0) '+' (Muhe '*' Yhe0) '+'
1318 :      (Muh2  '*' Yh20) '+' (Muo2 '*' Yo20) '+' (Mun2 '*' Yn20) '+'
1319 :      (Muco  '*' Yco0) '+' (Muco2 '*' Yco20)              ;
1320 :  Mu='KCHT' $vtf 'SCAL' 'SOMMET' Mu                       ;
1321 : *---------------------------------------------------------------
1322 : * Calcul des autres grandeurs initiales
1323 : * Cvm = Capacite calorifique a volume constante (J/kg/K)
1324 : * Gamm = Gamma du mélange
1325 : * Rho0 = Densité initiale (kg/m3)
1326 : * Ri0 = Densité de chaque gaz (kg/m3)
1327 : *
1328 :  Cvm         = Cpm '-' Rgpm                              ;
1329 : * Gamm        = Cpm '/' Cvm                               ;
1330 :  Gamm        = Cpm '*' (Cvm ** (-1.0))                   ;
1331 : * Rho0        = pt0 '/' (Rgpm '*' (tf0 '+' 273.15))       ;
1332 :  Rho0        = pt0 '*' ((Rgpm '*' (tf0 '+' 273.15))**(-1.0));
1333 :  Rvap0       = Rho0 '*' Yvap0                            ;
1334 :  Rhe0        = Rho0 '*' Yhe0                             ;
1335 :  Rh20        = Rho0 '*' Yh20                             ;
1336 :  Ro20        = Rho0 '*' Yo20                             ;
1337 :  Rn20        = Rho0 '*' Yn20                             ;
1338 :  Rco20       = Rho0 '*' Yco20                            ;
1339 :  Rco0        = Rho0 '*' Yco0                             ;
1340 :  Rair0       = Rho0 '*' Yair0                            ;
1341 : 
1342 : *-----------------------------------------------------------
1343 : * BRECHE : determination du facteur geometrique pour DEBIT
1344 : *          en EF
1345 : *
1346 : 
1347 : src=0. ;
1348 : src2=0. ;
1349 : 
1350 :   Si TTsortie                                            ;
1351 :     NBR=dime rxt.'Sorties'                               ;
1352 :     ibr=index (rxt.'Sorties')                            ;
1353 : 
1354 :     Repeter BBRS NBR                                     ;
1355 :      Sriches=rxt.'Sorties'.(ibr.&BBRS)                   ;
1356 :       mess ' Vérification Sortie guj ' (ibr.&BBRS)       ;
1357 :       diru=(Sriches.'diru')/(norm Sriches.'diru')        ;
1358 :       $sreche=Sriches.'$sreche'                          ;
1359 :       srechec=Sriches.'srechec'                          ;
1360 :       'SI' DIM3D                                         ;
1361 :       Msrechec     = 'CHAN' srechec 'QUAF'               ;
1362 :       elim Msrechec rxt.'epsi'                           ;
1363 :       $srechec     = 'MODE' Msrechec mdns TBT.'discr'    ;
1364 :       Sriches.'$srechec'=$srechec                        ;
1365 :   gjc = 'KCHT' $srechec 'VECT' 'SOMMET' (0.0 0.0 0.0)    ;
1366 :   gjx = 'KCHT' $sreche  'VECT' 'SOMMET' diru gjc         ;
1367 :  'SINON'                                                 ;
1368 :   gjc   = 'MANU' 'CHPO' srechec 2 'UX' 0.0 'UY' 0.0
1369 :                                   'NATURE' 'DISCRET'     ;
1370 :   gjx   = 'KCHT' $sreche  'VECT' 'SOMMET' diru gjc       ;
1371 :  'FINSI'                                                 ;
1372 : 
1373 :  unvf0 = 'KCHT' GEO.'$menvf' 'VECT' 'SOMMET'  gjx        ;
1374 :  src   = 'DBIT' unvf0 GEO.'$menvf'                       ;
1375 :  fgeo  = 'ABS' ((Sriches.'Ssreche') '*' (1./src))        ;
1376 :  Sriches.'facgeo' = fgeo                                 ;
1377 :     FIN BBRS                                             ;
1378 :   FINSI                                                  ;
1379 : 
1380 :   Si TTbreche                                            ;
1381 :     NBR=dime rxt.'Breches'                               ;
1382 :     ibr=index (rxt.'Breches')                            ;
1383 : 
1384 :     Repeter BBRS NBR                                     ;                      
1385 :      Briches=rxt.'Breches'.(ibr.&BBRS)                   ;
1386 :       mess ' Vérification Breche guj ' (ibr.&BBRS)       ;
1387 :       diru=(Briches.'diru')/(norm Briches.'diru')        ;
1388 :       $breche=Briches.'$breche'                          ;
1389 :       brechec=Briches.'brechec'                          ;
1390 :       'SI' DIM3D                                         ;
1391 :       Mbrechec     = 'CHAN' brechec 'QUAF'               ;
1392 :       elim Mbrechec rxt.'epsi'                           ;
1393 :       $brechec     = 'MODE' Mbrechec mdns TBT.'discr'    ;
1394 :       Briches.'$brechec'=$brechec                        ;
1395 :   gjc = 'KCHT' $brechec 'VECT' 'SOMMET' (0.0 0.0 0.0)    ;
1396 :   gjx = 'KCHT' $breche  'VECT' 'SOMMET' diru gjc         ;
1397 :  'SINON'                                                 ;
1398 :   gjc   = 'MANU' 'CHPO' brechec 2 'UX' 0.0 'UY' 0.0
1399 :                                   'NATURE' 'DISCRET'     ;
1400 :   gjx   = 'KCHT' $breche  'VECT' 'SOMMET' diru gjc       ;
1401 :  'FINSI'                                                 ;
1402 : 
1403 :  unvf0 = 'KCHT' GEO.'$menvf' 'VECT' 'SOMMET'  gjx        ;
1404 :  src   = 'DBIT' unvf0 GEO.'$menvf'                       ;
1405 :  fgeo  = 'ABS' ((Briches.'Sbreche') '*' (1./src))        ;
1406 :  Briches.'facgeo' = fgeo                                 ;
1407 :     FIN BBRS                                             ;
1408 :   FINSI                                                  ;
1409 : 
1410 : Si(TBT.'Tbreche') ;
1411 :  diru1=(TBT.'diru1')/(norm TBT.'diru1')                  ;
1412 :  'SI' DIM3D                                              ;
1413 :   Mbrechec     = 'CHAN' brechec 'QUAF'                   ;
1414 :   elim Mbrechec rxt.'epsi'                               ;
1415 :   $brechec     = 'MODE' Mbrechec mdns TBT.'discr'        ;
1416 :   GEO.'$brechec'=$brechec                                ;
1417 :   gjc   = 'KCHT' $brechec 'VECT' 'SOMMET' (0.0 0.0 0.0)  ;
1418 :   gjx   = 'KCHT' $breche  'VECT' 'SOMMET' diru1
1419 :                                               gjc        ;
1420 :  'SINON'                                                 ;
1421 :   gjc   = 'MANU' 'CHPO' brechec 2 'UX' 0.0 'UY' 0.0
1422 :                                   'NATURE' 'DISCRET'     ;
1423 :   gjx   = 'KCHT' $breche  'VECT' 'SOMMET' diru1 gjc      ;
1424 :  'FINSI'                                                 ;
1425 : 
1426 :  unvf0 = 'KCHT' GEO.'$menvf' 'VECT' 'SOMMET'  gjx        ;
1427 :  src   = 'DBIT' unvf0 GEO.'$menvf'                       ;
1428 :  fgeo  = 'ABS' ((GEO.'Sbreche') '*' (1./src))            ;
1429 :  GEO.'facgeo' = fgeo                                     ;
1430 : Finsi ;
1431 : 
1432 : Si (TBT.'Tbreche2');
1433 :  diru2=(TBT.'diru2')/(norm TBT.'diru2')                 ;
1434 :  'SI' DIM3D                                             ;
1435 :  Mbrechc2    = 'CHAN' brech2c 'QUAF'                    ;
1436 :  elim Mbrechc2 rxt.'epsi'                               ;
1437 :  $brech2c    = 'MODE' Mbrechc2 mdns TBT.'discr'         ;
1438 :   GEO.'$brech2c'=$brech2c                                ;
1439 :  gjc2  = 'KCHT' $brech2c 'VECT' 'SOMMET' (0.0 0.0 0.0)   ;
1440 :  gjx2  = 'KCHT' GEO.'$breche2' 'VECT' 'SOMMET' diru2 gjc2;
1441 :  'SINON'                                                 ;
1442 :  gjc2  = 'MANU' 'CHPO' brech2c 2 'UX' 0.0 'UY' 0.0
1443 :                                  'NATURE' 'DISCRET'      ;
1444 :  gjx2  = 'KCHT' $breche2 'VECT' 'SOMMET' diru2 gjc2      ;
1445 :  'FINSI'                                                 ;
1446 : 
1447 :  unvf0 = 'KCHT' GEO.'$menvf' 'VECT' 'SOMMET'  gjx2       ;
1448 :  src2  = 'DBIT' unvf0 GEO.'$menvf'                       ;
1449 :  fgeo2 = 'ABS' ((GEO.'Sbreche2') '*' (1./src2))          ;
1450 :  GEO.'facgeo2' = fgeo2                                   ;
1451 : Finsi ;
1452 : 
1453 : Si (TBT.'Tbreche3');
1454 :  diru3=(TBT.'diru3')/(norm TBT.'diru3')                 ;
1455 :  'SI' DIM3D                                             ;
1456 :  Mbrechc3    = 'CHAN' brech3c 'QUAF'                    ;
1457 :  elim Mbrechc3 rxt.'epsi'                               ;
1458 :  $brech3c    = 'MODE' Mbrechc3 mdns TBT.'discr'         ;
1459 :   GEO.'$brech3c'=$brech3c                                ;
1460 :  gjc3  = 'KCHT' $brech3c 'VECT' 'SOMMET' (0.0 0.0 0.0)   ;
1461 :  gjx3  = 'KCHT' GEO.'$breche3' 'VECT' 'SOMMET' diru3 gjc3;
1462 :  'SINON'                                                 ;
1463 :  gjc3  = 'MANU' 'CHPO' brech3c 2 'UX' 0.0 'UY' 0.0
1464 :                                  'NATURE' 'DISCRET'      ;
1465 :  gjx3  = 'KCHT' $breche3 'VECT' 'SOMMET' diru3 gjc3      ;
1466 :  'FINSI'                                                 ;
1467 : 
1468 :  unvf0 = 'KCHT' GEO.'$menvf' 'VECT' 'SOMMET'  gjx3       ;
1469 :  src3  = 'DBIT' unvf0 GEO.'$menvf'                       ;
1470 :  fgeo3 = 'ABS' ((GEO.'Sbreche3') '*' (1./src3))          ;
1471 :  GEO.'facgeo3' = fgeo3                                   ;
1472 : Finsi ;
1473 : 
1474 : *-----------------------------------------------------------
1475 : *----- FIN du TRAITEMENT DE LA BRECHE ----------------------
1476 : *-----------------------------------------------------------
1477 : 
1478 : *----- TRAITEMENT DES RECOMBINEURS
1479 : 'SI' (TBT.'TRECOMB') ;
1480 :  NBREC = 'DIME' rxt.'RECOMB' ;
1481 :  'REPETER' BCLREC NBREC ;
1482 :     $toto = 'CHAIN' '$REC' 'ent' &BCLREC ;
1483 :     $tutu = 'CHAIN' '$REC' 'sor' &BCLREC ;
1484 :     NAME = 'CHAIN' 'REC' 'entI' &BCLREC ;
1485 :     ENTREEi = GEO.NAME ;
1486 :     NAME = 'CHAIN' 'REC' 'entC' &BCLREC ;
1487 :     ENTREEc = GEO.NAME ;
1488 :     NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
1489 :     SORTIEi = GEO.NAME ;
1490 :     NAME = 'CHAIN' 'REC' 'sorC' &BCLREC ;
1491 :     SORTIEc = GEO.NAME ;
1492 :     DIRENT = 'CHAIN' 'DREC' 'ent' &BCLREC ;
1493 :     direntr = GEO. DIRENT ;
1494 :     DIRSOR = 'CHAIN' 'DREC' 'sor' &BCLREC ;
1495 :     dirsort = GEO. DIRSOR ;
1496 :     'SI' DIM3D ;
1497 :        toto1 = 'MANU' 'CHPO' ('CHAN' ENTREEc 'POI1')
1498 :              3 'UX' 0.0 'UY' 0.0 'UZ' 0.0 'NATURE' 'DISCRET' ;
1499 :        toto2 = 'KCHT' GEO.$toto 'VECT' 'SOMMET' direntr
1500 :                                               toto1 ;
1501 :        tutu1 = 'MANU' 'CHPO' ('CHAN' SORTIEc 'POI1')
1502 :              3 'UX' 0.0 'UY' 0.0 'UZ' 0.0 'NATURE' 'DISCRET' ;
1503 :        tutu2 = 'KCHT' GEO.$tutu 'VECT' 'SOMMET' dirsort
1504 :                                               tutu1 ;
1505 :     'SINON' ;
1506 :        toto1 = 'MANU' 'CHPO' ENTREEc 
1507 :              2 'UX' 0.0 'UY' 0.0 'NATURE' 'DISCRET' ;
1508 :        toto2 = 'KCHT' GEO.$toto 'VECT' 'SOMMET' direntr
1509 :                                               toto1 ;
1510 :        tutu1 = 'MANU' 'CHPO' SORTIEc 
1511 :              2 'UX' 0.0 'UY' 0.0 'NATURE' 'DISCRET' ;
1512 :        tutu2 = 'KCHT' GEO.$tutu 'VECT' 'SOMMET' dirsort
1513 :                                               tutu1 ;
1514 :     'FINSI' ;
1515 :     toto3 = 'KCHT' GEO.'$menvf' 'VECT' 'SOMMET' toto2 ;
1516 :     toto4 = 'DBIT' toto3 GEO.'$menvf' ;
1517 :     tutu3 = 'KCHT' GEO.'$menvf' 'VECT' 'SOMMET' tutu2 ;
1518 :     tutu4 = 'DBIT' tutu3 GEO.'$menvf' ;
1519 :     S_ENT = 'CHAIN' 'SREC' 'ent' &BCLREC ;
1520 :     S_SOR = 'CHAIN' 'SREC' 'sor' &BCLREC ;
1521 :     toto5 = 'ABS' ((GEO.S_ENT) '*' (toto4**(-1.0))) ;
1522 :     tutu5 = 'ABS' ((GEO.S_SOR) '*' (tutu4**(-1.0))) ;
1523 :     FG_ENT = 'CHAIN' 'fgREC' 'ent' &BCLREC ;
1524 :     GEO.FG_ENT = toto5 ;
1525 :     FG_SOR = 'CHAIN' 'fgREC' 'sor' &BCLREC ;
1526 :     GEO.FG_SOR = tutu5 ;
1527 :    'FIN' BCLREC ;
1528 : 'FINSI' ;
1529 : 
1530 : *------------------------------------------------------------
1531 : * TRAITEMENT DES EQUATIONS A RESOUDRE
1532 : *------------------------------------------------------------
1533 : *
1534 : * - Definition de constantes intervenant dans les equations
1535 : * FCPRECI = Frequence de recalcul du préc. dans la methode iterative
1536 : * FCPRECT = Frequence de recalcul du préc. en fn du pas de temps
1537 : * calprec = logique pilotant le preconditionnement
1538 : 'SI' ('EXIS' RXT 'FRPREC') ;
1539 :   calprec = VRAI ;
1540 :   'SI' ('EXIS' RXT 'FCPRECT') ;
1541 :     FCPRECT = RXT.'FCPRECT' ;
1542 :     'SI' (FCPRECT 'EGA' 1) ;
1543 :       'MESS' 'ATTENTION! FCPRECT = 1!' ; 
1544 :       'MESS' 'ON PRECONDITIONNE A CHAQUE ITERATION!' ;
1545 :     'FINSI' ;
1546 :   'SINON' ;
1547 :     FCPRECT = 5 ;
1548 :   'FINSI' ;
1549 :   'SI' ('EXIS' RXT 'FCPRECI') ;
1550 :     FCPRECI = RXT.'FCPRECI' ;
1551 :     'SI' (FCPRECI 'EGA' 1) ;
1552 :       'MESS' 'ATTENTION! FCPRECI = 1!' ; 
1553 :       'MESS' 'ON PRECONDITIONNE A CHAQUE ITERATION!' ;
1554 :     'FINSI' ;
1555 :   'SINON' ;
1556 :     FCPRECI = 5 ;
1557 :   'FINSI' ;
1558 : 'SINON' ;
1559 :   RXT.'FRPREC' = 1 ;
1560 :   calprec = FAUX ;
1561 :   FCPRECI = 1 ;
1562 :   FCPRECT = 1 ;
1563 : 'FINSI' ;
1564 : 
1565 : * Donnees ŕ la brčche (vitesse et température
1566 : * pour les conditions aux limites
1567 :  uj=0.                                                   ;
1568 :  vj=-0.                                                  ;
1569 :  wj=-1.                                                  ; 
1570 :  Tj = 0.                                                 ;
1571 : 
1572 : *-- Suivant la formulation la ligne de commande change ---------
1573 : * LCTSCA ligne de commande de TSCA
1574 : LCTSCA='TEXT' 1. 'UN' 'NUEFF' 0.                         ;
1575 : Si (Ega TBT.'FEF' 'EFM1')                                ;
1576 : LCTSCA='TEXT' 'NUm' 'UN' 0. NUT 0.7                      ;
1577 : Finsi                                                    ;
1578 : 
1579 : DTX= 'DT'                                                ;
1580 : *Si (EGA TBT.'FEF' 'EFM1')                               ;
1581 : *DTX= 'DELTAT'                                           ;
1582 : *Finsi                                                   ;
1583 : 
1584 : *---------------------------------------------------------------
1585 : *- EQUATIONS DE LA QDM 
1586 : * Formulation non conservative
1587 : * Decentrement SUPG
1588 : *
1589 : 'SI'((EGA TBT.'MODTURB' 'KEPSILON') et (EGA TBT.'FEF' 'EFM1'));
1590 : *---- Modčle K-Epsilon EFM1 --------------------------------
1591 :  rv= 'EQEX' 'NITER' 1 'OMEGA' 1.0  'ITMA' 0
1592 :      'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG'
1593 :      'ZONE' $vtf 'OPER' 'NSKE' 'NUm' 'NUT'   'ROG' 'INCO' 'UN' 'KN' 'EN'
1594 :      'OPTI' 'EFM1' 'CENTREE'
1595 :      'ZONE'  $vtf  'OPER' 'DFDT' 1. 'UNM' DTX 'INCO' 'UN'
1596 :      'ZONE'  $vtf  'OPER' 'DFDT' 1. 'KNM' DTX 'INCO' 'KN'
1597 :      'ZONE'  $vtf  'OPER' 'DFDT' 1. 'ENM' DTX 'INCO' 'EN'
1598 :      ;
1599 : *---- Modčle K-Epsilon EFM1 -- FIN -------------------------
1600 :  Sinon ;
1601 : rv= 'EQEX' 'NITER' 1 'OMEGA' 1.0  'ITMA' 0
1602 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG'
1603 : *   'ZONE'  $vtf  'OPER' 'SGE' 'UN' 'NU'      'INCO' 'UN'
1604 :     'ZONE'  $vtf  'OPER' 'NS'  1. 'UN' 'NUEFF' 'ROG'    'INCO' 'UN'
1605 :     'OPTI' 'EFM1' 'CENTREE'
1606 :     'ZONE'  $vtf  'OPER' 'DFDT' 1. 'UNM' DTX 'INCO' 'UN'
1607 :     ;
1608 :  Finsi ;
1609 : *
1610 : * - Conditions aux limites sur les parois (vitesse nulle)
1611 : *   ou Fonctions de paroi
1612 : *
1613 :  Si (TBT.'FPAROI')                                           ;
1614 :     rv= 'EQEX' rv
1615 :     'OPTI' TBT.'FEF' TBT.'FIMPL'
1616 :     'ZONE'  (GEO.'$menvfU') 'OPER' 'FPU' 'NUm' 'UET' (TBT.'YP')
1617 :     'INCO' 'UN' 'KN' 'EN'                                    ;
1618 : *?pose un pb   'INCO' 'UN'                                             ;
1619 :  Sinon                                                       ;
1620 :  rv= 'EQEX' rv  'CLIM'
1621 :      'UN' 'UIMP' GEO.'menvfU'  0.
1622 :      'UN' 'VIMP' GEO.'menvfU'  0.                            ;
1623 :  'SI' DIM3D                                                  ;
1624 :   rv= 'EQEX' rv  'CLIM'
1625 :       'UN' 'WIMP' GEO.'menvfU' 0.                            ;
1626 :   Finsi                                                      ;
1627 :  Finsi                                                       ;
1628 : *
1629 : * - Conditions aux limites sur la brčche et les sorties
1630 : *
1631 : *!?
1632 :   Si TTsortie                                                ;
1633 :     NBR=dime rxt.'Sorties'                                   ;
1634 :     ibr=index (rxt.'Sorties')                                ;
1635 : 
1636 :     Repeter BBRS NBR                                         ;
1637 :      Sriches=rxt.'Sorties'.(ibr.&BBRS)                       ;
1638 :       mess ' Conditions limites sur la sortie ' (ibr.&BBRS)  ;
1639 :       srechei=Sriches.'srechei'                              ;
1640 :       srechec=Sriches.'srechec'                              ;
1641 :   rv= 'EQEX' rv  'CLIM'
1642 :       'UN' 'UIMP' srechei uj
1643 :       'UN' 'VIMP' srechei vj
1644 :       'UN' 'UIMP' srechec 0.
1645 :       'UN' 'VIMP' srechec 0.                                 ;
1646 :     FIN BBRS                                                 ;
1647 :   FINSI                                                      ;
1648 : 
1649 :   Si TTbreche                                                ;
1650 :     NBR=dime rxt.'Breches'                                   ;
1651 :     ibr=index (rxt.'Breches')                                ;
1652 : 
1653 :     Repeter BBRS NBR                                         ;
1654 :      Briches=rxt.'Breches'.(ibr.&BBRS)                       ;
1655 :       mess ' Conditions limites sur la brčche ' (ibr.&BBRS)  ;
1656 :       brechei=Briches.'brechei'                              ;
1657 :       brechec=Briches.'brechec'                              ;
1658 :   rv= 'EQEX' rv  'CLIM'
1659 :       'UN' 'UIMP' brechei uj
1660 :       'UN' 'VIMP' brechei vj
1661 :       'UN' 'UIMP' brechec 0.
1662 :       'UN' 'VIMP' brechec 0.                                 ;
1663 :     FIN BBRS                                                 ;
1664 :   FINSI                                                      ;
1665 : 
1666 :  Si (TBT.'Tbreche')                                          ;
1667 :   rv= 'EQEX' rv  'CLIM'
1668 :       'UN' 'UIMP' brechei uj
1669 :       'UN' 'VIMP' brechei vj
1670 :       'UN' 'UIMP' brechec 0.
1671 :       'UN' 'VIMP' brechec 0.                                 ;
1672 :  Finsi ;
1673 : 
1674 :  Si (TBT.'Tbreche2')                                         ;
1675 :   rv= 'EQEX' rv  'CLIM'
1676 :       'UN' 'UIMP' brech2i uj
1677 :       'UN' 'VIMP' brech2i vj
1678 :       'UN' 'UIMP' brech2c 0.
1679 :       'UN' 'VIMP' brech2c 0.                                 ;
1680 :  Finsi ;
1681 : 
1682 :  Si (TBT.'Tbreche3')                                         ;
1683 :   rv= 'EQEX' rv  'CLIM'
1684 :       'UN' 'UIMP' brech3i uj
1685 :       'UN' 'VIMP' brech3i vj
1686 :       'UN' 'UIMP' brech3c 0.          
1687 :       'UN' 'VIMP' brech3c 0.                                 ;
1688 :  Finsi ;
1689 : 
1690 :  'SI' (TBT.'TRECOMB') ;
1691 :     NBREC = 'DIME' rxt.'RECOMB' ;
1692 :     'REPETER' BCLREC NBREC ;
1693 :        NAME = 'CHAIN' 'REC' 'entI' &BCLREC ;
1694 :        ENTREEi = GEO.NAME ;
1695 :        NAME = 'CHAIN' 'REC' 'entC' &BCLREC ;
1696 :        ENTREEc = GEO.NAME ;
1697 :        NAME = 'CHAIN' 'REC' 'sorI' &BCLREC ;
1698 :        SORTIEi = GEO.NAME ;
1699 :        NAME = 'CHAIN' 'REC' 'sorC' &BCLREC ;
1700 :        SORTIEc = GEO.NAME ;
1701 :        rv= 'EQEX' rv  'CLIM'
1702 :           'UN' 'UIMP' ENTREEi uj
1703 :           'UN' 'VIMP' ENTREEi vj
1704 :           'UN' 'UIMP' ENTREEc 0.
1705 :           'UN' 'VIMP' ENTREEc 0. ;
1706 :        rv= 'EQEX' rv  'CLIM'
1707 :           'UN' 'UIMP' SORTIEi uj
1708 :           'UN' 'VIMP' SORTIEi vj
1709 :           'UN' 'UIMP' SORTIEc 0.
1710 :           'UN' 'VIMP' SORTIEc 0. ;
1711 :        'SI' DIM3D ;
1712 :           rv= 'EQEX' rv  'CLIM'
1713 :              'UN' 'WIMP' ENTREEi Wj
1714 :              'UN' 'WIMP' ENTREEc 0. ;
1715 :           rv= 'EQEX' rv  'CLIM'
1716 :              'UN' 'WIMP' SORTIEi Wj
1717 :              'UN' 'WIMP' SORTIEc 0. ;
1718 :        'FINSI' ;
1719 :     'FIN' BCLREC ;
1720 :  'FINSI' ;
1721 : 
1722 : 'SI' DIM3D                                                   ;
1723 :   Si TTsortie                                                ;
1724 :      NBR=dime rxt.'Sorties'                                  ;
1725 :      ibr=index (rxt.'Sorties')                               ;
1726 :     Repeter BBRS NBR                                         ;
1727 :      Sriches=rxt.'Sorties'.(ibr.&BBRS)                       ;
1728 :       mess ' Conditions limites sur la sortie ' (ibr.&BBRS)  ;
1729 :       srechei=Sriches.'srechei'                              ;
1730 :       srechec=Sriches.'srechec'                              ;
1731 :   rv= 'EQEX' rv  'CLIM'
1732 :       'UN' 'WIMP' srechei wj
1733 :       'UN' 'WIMP' srechec 0.                                 ;
1734 :     FIN BBRS                                                 ;
1735 :   FINSI                                                      ;
1736 : 
1737 :   Si TTbreche                                                ;
1738 :      NBR=dime rxt.'Breches'                                  ;
1739 :      ibr=index (rxt.'Breches')                               ;
1740 :     Repeter BBRS NBR                                         ;
1741 :      Briches=rxt.'Breches'.(ibr.&BBRS)                       ;
1742 :       mess ' Conditions limites sur la brčche ' (ibr.&BBRS)  ;
1743 :       brechei=Briches.'brechei'                              ;
1744 :       brechec=Briches.'brechec'                              ;
1745 :   rv= 'EQEX' rv  'CLIM'
1746 :       'UN' 'WIMP' brechei wj
1747 :       'UN' 'WIMP' brechec 0.                                 ;
1748 :     FIN BBRS                                                 ;
1749 :   FINSI                                                      ;
1750 : 
1751 :  Si (TBT.'Tbreche')                                          ;
1752 :   rv= 'EQEX' rv  'CLIM'
1753 :       'UN' 'WIMP' brechei wj
1754 :       'UN' 'WIMP' brechec 0.                                 ;
1755 :  Finsi ;
1756 : 
1757 :  Si (TBT.'Tbreche2')                                         ;
1758 :   rv= 'EQEX' rv  'CLIM'
1759 :       'UN' 'WIMP' brech2i wj
1760 :       'UN' 'WIMP' brech2c 0.                                 ;
1761 :  Finsi ;
1762 : 
1763 :  Si (TBT.'Tbreche3')                                         ;
1764 :   rv= 'EQEX' rv  'CLIM'
1765 :       'UN' 'WIMP' brech3i wj
1766 :       'UN' 'WIMP' brech3c 0.                                 ;
1767 :  Finsi ;
1768 : 
1769 : 'FINSI'                                                      ;
1770 : 
1771 : 'SI' (TBT.'Taxe' et (EGA (VALE MODE) 'AXIS'))                ;
1772 :      axe = GEO.'axe'                                         ;
1773 : rv= 'EQEX' rv  'CLIM'
1774 :     'UN' 'UIMP' axe 0.                                       ;
1775 : 'FINSI'                                                      ;
1776 : 
1777 : *---------------------------------------------------------------
1778 : * Definition des inconnues vitesse UN et terme source
1779 : * de flottabilite ROG
1780 : *
1781 : * - Definition de la table des inconnues
1782 : rv.inco= tic ;
1783 : 
1784 : 'SI' DIM3D ;
1785 :       uinj matvide= kops 'MATRIK'                            ;
1786 :   Si TTsortie                                                ;
1787 :      NBR=dime rxt.'Sorties'                                  ;
1788 :      ibr=index (rxt.'Sorties')                               ;
1789 :     Repeter BBRS NBR                                         ;
1790 :      Sriches=rxt.'Sorties'.(ibr.&BBRS)                       ;
1791 : *     mess ' Conditions limites unj ??? ' (ibr.&BBRS)        ;
1792 :       srechei=Sriches.'srechei'                              ;
1793 :       $sreche=Sriches.'$sreche'                              ;
1794 :       uino = 'KCHT' $sreche 'VECT' 'SOMMET' (0. 0. 1.)       ;
1795 :       uino = 'REDU' srechei uino                             ;
1796 :       uino = 'KCHT' $sreche 'VECT' 'SOMMET' uino             ;
1797 :       uinj = uinj + uino                                     ;
1798 :     FIN BBRS                                                 ;
1799 :   FINSI                                                      ;
1800 :   Si TTbreche                                                ;
1801 :      mess ' Tient on passe la ';
1802 :      NBR=dime rxt.'Breches'                                  ;
1803 :      ibr=index (rxt.'Breches')                               ;
1804 :     Repeter BBRS NBR                                         ;
1805 :      Briches=rxt.'Breches'.(ibr.&BBRS)                       ;
1806 : *     mess ' Conditions limites unj ??? ' (ibr.&BBRS)        ;
1807 :       brechei=Briches.'brechei'                              ;
1808 :       $breche=Briches.'$breche'                              ;
1809 :       uino = 'KCHT' $breche 'VECT' 'SOMMET' (0. 0. 1.)       ;
1810 :       uino = 'REDU' brechei uino                             ;
1811 :       uino = 'KCHT' $breche 'VECT' 'SOMMET' uino             ;
1812 :       uinj = uinj + uino                                     ;
1813 :     FIN BBRS                                                 ;
1814 :   FINSI                                                      ;
1815 :    'SI' (TBT.'Tbreche');
1816 :       mess ' Il y a une breche ';
1817 :       doma $breche impr;
1818 :       uin1 = 'KCHT' $breche 'VECT' 'SOMMET' (0. 0. 1.);
1819 :       uin1 = 'REDU' brechei uin1;
1820 :       uin1 = 'KCHT' $breche 'VECT' 'SOMMET' uin1;
1821 :       uinj = uinj + uin1;
1822 :    'FINSI';
1823 :    'SI' (TBT.'Tbreche2');
1824 :       uin2 = 'KCHT' GEO.'$breche2' 'VECT' 'SOMMET' (0. 0. (-1.));
1825 :       uin2 = 'REDU' brech2i uin2;
1826 :       uin2 = 'KCHT' GEO.'$breche2' 'VECT' 'SOMMET' uin2;
1827 :       uinj = uinj + uin2;
1828 :    'FINSI';
1829 :    'SI' (TBT.'Tbreche3');
1830 :       uin3 = 'KCHT' GEO.'$breche3' 'VECT' 'SOMMET' (0. 0. (-1.));
1831 :       uin3 = 'REDU' brech3i uin3;
1832 :       uin3 = 'KCHT' GEO.'$breche3' 'VECT' 'SOMMET' uin3;
1833 :       uinj = uinj + uin3;
1834 :    'FINSI';
1835 : 
1836 : Si (exist tic 'UN');
1837 :   ma=extr tic.'UN' MAILLAGE ;
1838 :   ms=doma $vtf 'SOMMET' ;
1839 :   ELIM (ma et ms) epsi ;
1840 :   tic.'UN'   =  'KCHT' $vtf    'VECT' 'SOMMET' (tic.'UN') ;
1841 : Sinon ;
1842 :    'SI' ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
1843 :       ou TTbreche ou TTsortie);
1844 :       tic.'UN'   =  'KCHT' $vtf    'VECT' 'SOMMET' (0. 0. 0.) uinj;
1845 :    'SINON';
1846 :       tic.'UN'   =  'KCHT' $vtf    'VECT' 'SOMMET' (0. 0. 0.);
1847 :    'FINSI';
1848 : Finsi ;
1849 : 
1850 : Si (exist tic 'UNM');
1851 :   ma=extr tic.'UNM' MAILLAGE ;
1852 :   ms=doma $vtf 'SOMMET' ;
1853 :   ELIM (ma et ms) epsi ;
1854 :   tic.'UNM'  =  'KCHT' $vtf    'VECT' 'SOMMET' (tic.'UNM');
1855 : Sinon ;
1856 :    'SI' ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
1857 :       ou TTbreche ou TTsortie);
1858 :       tic.'UNM'   =  'KCHT' $vtf    'VECT' 'SOMMET' (0. 0. 0.) uinj;
1859 :    'SINON';
1860 :       tic.'UNM'   =  'KCHT' $vtf    'VECT' 'SOMMET' (0. 0. 0.);
1861 :    'FINSI';
1862 : Finsi ;
1863 : 
1864 : Si(exist tic 'ROG');
1865 : ma=extr tic.'ROG' MAILLAGE ;
1866 : mc=doma $vtf 'CENTRE' ;
1867 : ELIM (ma et mc) epsi ;
1868 : tic.'ROG'  =  'KCHT' $vtf    'VECT' 'CENTRE' (tic.'ROG')    ;
1869 : Sinon ;
1870 : tic.'ROG'  =  'KCHT' $vtf    'VECT' 'CENTRE' (0. 0. 0.)     ;
1871 : Finsi ;
1872 : 
1873 : 'SINON'                                                     ;
1874 : 
1875 :       uinj matvide= kops 'MATRIK'                            ;
1876 :   Si TTsortie                                                ;
1877 :      NBR=dime rxt.'Sorties'                                  ;
1878 :      ibr=index (rxt.'Sorties')                               ;
1879 :     Repeter BBRS NBR                                         ;
1880 :      Sriches=rxt.'Sorties'.(ibr.&BBRS)                       ;
1881 :       srechei=Sriches.'srechei'                              ;
1882 :       $sreche=Sriches.'$sreche'                              ;
1883 :       uino = 'KCHT' $sreche 'VECT' 'SOMMET' (0. 1.)          ;
1884 :       uino = 'REDU' srechei uino                             ;
1885 :       uino = 'KCHT' $sreche 'VECT' 'SOMMET' uino             ;
1886 :       uinj = uinj + uino                                     ;
1887 :     FIN BBRS                                                 ;
1888 :   FINSI                                                      ;
1889 :   Si TTbreche                                                ;
1890 :      NBR=dime rxt.'Breches'                                  ;
1891 :      ibr=index (rxt.'Breches')                               ;
1892 :     Repeter BBRS NBR                                         ;
1893 :      Briches=rxt.'Breches'.(ibr.&BBRS)                       ;
1894 :       brechei=Briches.'brechei'                              ;
1895 :       $breche=Briches.'$breche'                              ;
1896 :       uino = 'KCHT' $breche 'VECT' 'SOMMET' (0. 1.)          ;
1897 :       uino = 'REDU' brechei uino                             ;
1898 :       uino = 'KCHT' $breche 'VECT' 'SOMMET' uino             ;
1899 :       uinj = uinj + uino                                     ;
1900 :     FIN BBRS                                                 ;
1901 :   FINSI                                                      ;
1902 :    'SI' (TBT.'Tbreche');
1903 :       uin1 = 'KCHT' $breche 'VECT' 'SOMMET' (0. 1.);
1904 :       uin1 = 'REDU' brechei uin1;
1905 :       uin1 = 'KCHT' $breche 'VECT' 'SOMMET' uin1;
1906 :       uinj = uinj + uin1                                     ;
1907 :    'FINSI';
1908 :    'SI' (TBT.'Tbreche2');
1909 :       uin2 = 'KCHT' GEO.'$breche2' 'VECT' 'SOMMET' (0. (-1.));
1910 :       uin2 = 'REDU' brech2i uin2;
1911 :       uin2 = 'KCHT' GEO.'$breche2' 'VECT' 'SOMMET' uin2;
1912 :       uinj = uinj + uin2;
1913 :    'FINSI';
1914 :    'SI' (TBT.'Tbreche3');
1915 :       uin3 = 'KCHT' GEO.'$breche3' 'VECT' 'SOMMET' (0. (-1.));
1916 :       uin3 = 'REDU' brech3i uin3;
1917 :       uin3 = 'KCHT' GEO.'$breche3' 'VECT' 'SOMMET' uin3;
1918 :       uinj = uinj + uin3;
1919 :    'FINSI';
1920 : 
1921 : 
1922 : Si(exist tic 'UN');
1923 :   ma=extr tic.'UN' MAILLAGE ;
1924 :   ms=doma $vtf 'SOMMET' ;
1925 :   ELIM (ma et ms) epsi ;
1926 :   tic.'UN'   =  'KCHT' $vtf    'VECT' 'SOMMET' (tic.'UN')     ;
1927 : Sinon ;
1928 :    'SI' ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
1929 :       ou TTbreche ou TTsortie);
1930 :       tic.'UN'   =  'KCHT' $vtf    'VECT' 'SOMMET' (0. 0.) uinj;
1931 :    'SINON';
1932 :       tic.'UN'   =  'KCHT' $vtf    'VECT' 'SOMMET' (0. 0.);
1933 :    'FINSI';
1934 : Finsi ;
1935 : 
1936 : Si(exist tic 'UNM');
1937 :   ma=extr tic.'UNM' MAILLAGE ;
1938 :   ms=doma $vtf 'SOMMET' ;
1939 :   ELIM (ma et ms) epsi ;
1940 :   tic.'UNM'  =  'KCHT' $vtf    'VECT' 'SOMMET' (tic.'UNM')    ;
1941 : Sinon ;
1942 :    'SI' ((TBT.'Tbreche') ou (TBT.'Tbreche2') ou (TBT.'Tbreche3')
1943 :       ou TTbreche ou TTsortie);
1944 :       tic.'UNM'   =  'KCHT' $vtf    'VECT' 'SOMMET' (0. 0.) uinj;
1945 :    'SINON';
1946 :       tic.'UNM'   =  'KCHT' $vtf    'VECT' 'SOMMET' (0. 0.);
1947 :    'FINSI';
1948 : Finsi ;
1949 : 
1950 : Si(exist tic 'ROG');
1951 : ma=extr tic.'ROG' MAILLAGE ;
1952 : mc=doma $vtf 'CENTRE' ;
1953 : ELIM (ma et mc) epsi ;
1954 : tic.'ROG'  =  'KCHT' $vtf    'VECT' 'CENTRE' (tic.'ROG')    ;
1955 : Sinon ;
1956 : tic.'ROG'  =  'KCHT' $vtf    'VECT' 'CENTRE' (0. 0.)        ;
1957 : Finsi ;
1958 : 
1959 : 'FINSI'                                                     ;
1960 : 
1961 : 'SI'(EGA TBT.'MODTURB' 'KEPSILON')                          ;
1962 : Si(exist tic 'KN')                                          ;
1963 : *ma=extr tic.'KN' MAILLAGE                                  ;
1964 : *mc=doma $vtf 'SOMMET'                                      ;
1965 : *ELIM (ma et mc) epsi                                       ;
1966 : tic.'KN'  =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'KN')      ;
1967 : Sinon                                                       ;
1968 : tic.'KN'  =  'KCHT' $vtf    'SCAL' 'SOMMET' 1.e-5           ;
1969 : Finsi                                                       ;
1970 : Si(exist tic 'EN')                                          ;
1971 : *ma=extr tic.'EN' MAILLAGE                                  ;
1972 : *mc=doma $vtf 'SOMMET'                                      ;
1973 : *ELIM (ma et mc) epsi                                       ;
1974 : tic.'EN'  =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'EN')      ;
1975 : Sinon                                                       ;
1976 : tic.'EN'  =  'KCHT' $vtf    'SCAL' 'SOMMET' 1.e-5           ;
1977 : Finsi                                                       ;
1978 : Si(exist tic 'KNM')                                         ;
1979 : *ma=extr tic.'KNM' MAILLAGE                                 ;
1980 : *mc=doma $vtf 'SOMMET'                                      ;
1981 : *ELIM (ma et mc) epsi                                       ;
1982 : tic.'KNM'  =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'KNM')    ;
1983 : Sinon                                                       ;
1984 : tic.'KNM'  =  'KCHT' $vtf    'SCAL' 'SOMMET' 1.e-5          ;
1985 : Finsi                                                       ;
1986 : Si(exist tic 'ENM')                                         ;
1987 : *ma=extr tic.'ENM' MAILLAGE                                 ;
1988 : *mc=doma $vtf 'SOMMET'                                      ;
1989 : *ELIM (ma et mc) epsi                                       ;
1990 : tic.'ENM' =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'ENM')     ;
1991 : Sinon                                                       ;
1992 : tic.'ENM' =  'KCHT' $vtf    'SCAL' 'SOMMET' 1.e-5           ;
1993 : Finsi                                                       ;
1994 : Si(exist tic 'NUT')                                         ;
1995 : *ma=extr tic.'NUT' MAILLAGE                                 ;
1996 : *mc=doma $vtf 'CENTRE'                                      ;
1997 : *ELIM (ma et mc) epsi                                       ;
1998 : tic.'NUT' =  'KCHT' $vtf    'SCAL' 'CENTRE' (tic.'NUT')     ;
1999 : Sinon                                                       ;
2000 : tic.'NUT' =  'KCHT' $vtf    'SCAL' 'CENTRE' 1.e-10          ;
2001 : Finsi                                                       ;
2002 : 'FINSI'                                                     ;
2003 : *-----------------------------------------------------------------------
2004 : * Specification pour la resolution du systeme
2005 : * TYPINV = 3 : Gradient Conjugue
2006 : *              = 2 : BiCGStab
2007 : *              = 1 : Methode Directe
2008 : * PRECOND = 3 Preconditionnement I-LU(0)
2009 : * NITMAX = nombre maximal d'iterations
2010 : * RESID = precision du Residu EPSS
2011 : *
2012 : *-----------------------------------------------------------------------
2013 : * Precision EPSS
2014 : * EPSS = 1.e-5                                            ;
2015 :   EPSS = 1.e-10                                           ;
2016 : * Nombre total d iterations
2017 :   NTIT = 600                                              ;
2018 : 
2019 :  rv.'METHINV'.TYPINV=TBT.'TYPINV'                          ;
2020 :  rv.'METHINV'.TYPRENU=TBT.'RENU'                           ;
2021 :  rv.'METHINV'.IMPINV=TBT.'nimpr'                           ;
2022 :  rv.'METHINV'.NITMAX=NTIT                                  ;
2023 :  rv.'METHINV'.PRECOND=3                                    ;
2024 :  rv.'METHINV'.'FCPRECI' = FCPRECI                          ;
2025 :  rv.'METHINV'.'FCPRECT' = FCPRECT                          ;
2026 :  rv.'METHINV'.'CALPREC' = calprec                          ;
2027 :  rv.'METHINV'.RESID  = EPSS                                ;
2028 : 
2029 : *----------------------------------------------------------------------
2030 : * Definition du minimum pour recalcul du preconditionnement
2031 : *
2032 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2033 : * 'SI' ( 'NON' tbt.'UTILPREC' )                             ;
2034 : *      rv.'MINPREC' = rv.'METHINV'.NITMAX                   ;
2035 : * 'FINSI'                                                   ;
2036 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2037 : *----------------------------------------------------------------------
2038 : * Traitement de la PRESSION
2039 : * 
2040 : 
2041 : 'MESS' '==> Algorithme de Projection'                      ;
2042 : rvpr= 'EQEX'
2043 :     'OPTI' TBT.'FEF' TBT.'FIMPL'  TBT.'KPRE' 'SUPG'
2044 :       'ZONE'  $vtf   'OPER' 'KBBT'  -1. (TBT.'STAB') 'INCO' 'UN' 'PRES'
2045 : ;
2046 : 
2047 : Si (NON TBT.'Tsortie')                                     ;
2048 : rvpr= 'EQEX' rvpr
2049 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'INCOD' TBT.'KPRE'
2050 :       'ZONE'  $vtf   'OPER' 'FIMP' 'DSRC' 'INCO' 'PRES'    ;
2051 : Finsi                                                      ;
2052 : 
2053 : Si(exist rxt 'pi') ;
2054 : 
2055 :  Si(TBT.'Tsortie')                                         ;
2056 :   Si(EGA TBT.'KPRE' 'MSOMMET')                             ;
2057 :     sortiep=doma GEO.'$sortie' MSOMMET                     ;
2058 :       rvpr='EQEX' rvpr
2059 :       'CLIM' 'PRES' 'TIMP' sortiep 0.                      ;
2060 :   Finsi                                                    ;
2061 :  Sinon                                                     ;
2062 :       rvpr='EQEX' rvpr
2063 :       'CLIM' 'PRES' 'TIMP' Pimp 0.                         ;
2064 :  Finsi                                                     ;
2065 : 
2066 : Finsi ;
2067 : 
2068 :  Si (TBT.'FPAROI')                                         ;
2069 : rvpr= 'EQEX' rvpr
2070 :     'OPTI' TBT.'FEF' TBT.'FIMPL' TBT.'KPRE'
2071 :  'ZONE' (GEO.'$menvfU') 'OPER' 'VNIMP' $vtf  0.   'INCO' 'UN' 'PRES' ;
2072 :  Finsi ;
2073 : 
2074 :  'SI' (TBT.'Taxe')                                            ;
2075 :  rvpr= 'EQEX' rvpr
2076 :      'OPTI' TBT.'FEF' TBT.'FIMPL' TBT.'KPRE'
2077 :      'ZONE' (GEO.'$axe') 'OPER' 'VNIMP' $vtf  0.   'INCO' 'UN' 'PRES' ;
2078 :  'FINSI'                                                      ;
2079 : 
2080 : 
2081 :  MAXEL=TBT.'MAXELPRE'                                      ;
2082 :  mess ' Maximum d éléments pour une résolution directe de la pression '
2083 :  MAXEL;
2084 :  'SI' ((NBEL vtf) '<EG' MAXEL)                             ;
2085 :  rvpr.'METHINV'.TYPINV=    1                               ;
2086 :  rvpr.'METHINV'.TYPRENU=TBT.'RENU'                         ;
2087 :  rvpr.'METHINV'.IMPINV=TBT.'nimpr'                         ;
2088 :  mess ' Nombre d éléments: ' (NBEL VTF) ' => Méthode directe';
2089 :  'SINON'                                                   ;
2090 :  rvpr.'METHINV'.TYPINV=TBT.'TYPINV'                        ;
2091 :  rvpr.'METHINV'.TYPRENU=TBT.'RENU'                         ;
2092 :  rvpr.'METHINV'.IMPINV=TBT.'nimpr'                         ;
2093 :  rvpr.'METHINV'.NITMAX= 400                                ;
2094 :  rvpr.'METHINV'.PRECOND=3                                  ;
2095 :  rvpr.'METHINV'.'FCPRECI' = FCPRECI                        ;
2096 :  rvpr.'METHINV'.'FCPRECT' = FCPRECT                        ;
2097 :  rvpr.'METHINV'.'CALPREC' = calprec                        ;
2098 :  rvpr.'METHINV'.RESID  =1.e-12                             ;
2099 :  mess ' Nombre d éléments: ' (NBEL VTF) ' => Méthode itérative, TYPINV='
2100 :  TBT.'TYPINV';
2101 :  'FINSI'                                                   ;
2102 : 
2103 :  rv.'PROJ' = rvpr                                          ;
2104 : 
2105 : *-------------------------------------------------------------
2106 : * Definition de l'inconnue de PRESSION
2107 : * 
2108 : Si(exist tic 'PRES');
2109 : ma=extr tic.'PRES' MAILLAGE ;
2110 : ms=doma $vtf TBT.'KPRE';
2111 : ELIM (ma et ms) epsi ;
2112 : tic.'PRES' =  'KCHT' $vtf   'SCAL'  TBT.'KPRE'  (tic.'PRES')   ;
2113 : Sinon ;
2114 : tic.'PRES' =  'KCHT' $vtf   'SCAL'  TBT.'KPRE'  1.e-5          ;
2115 : Finsi ;
2116 : 
2117 : *------------------------------------------------------------
2118 : *-- EQUATIONS DU MODčLE K-EPSILON
2119 : Si ( Exist TBT 'MODTURB')                                    ;
2120 : 
2121 : Si ((Ega TBT.'MODTURB' 'KEPSILON') et (NON (Ega TBT.'FEF' 'EFM1'))) ;
2122 : 
2123 : Rrk= 'EQEX' 'NITER' 1 'OMEGA' 1.0  'ITMA' 0
2124 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' 'NOCONS'
2125 :     'ZONE'  $vtf  'OPER' 'TSCA' 1. 'UN' 'NUEFF' 'Sk' 'INCO' 'KN'
2126 :     'OPTI' 'EFM1' 'CENTREE'
2127 :     'ZONE'  $vtf  'OPER' 'DFDT' 1. 'KNM' DTX 'INCO' 'KN'
2128 :                                                              ;
2129 : 
2130 : Rre= 'EQEX' 'NITER' 1 'OMEGA' 1.0  'ITMA' 0
2131 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' 'NOCONS'
2132 :     'ZONE'  $vtf  'OPER' 'TSCA' 1. 'UN' 'NUEFF' 'Se' 'INCO' 'EN'
2133 :     'OPTI' 'EFM1' 'CENTREE'
2134 :     'ZONE'  $vtf  'OPER' 'DFDT' 1. 'ENM' DTX 'INCO' 'EN'
2135 :                                                              ;
2136 : *
2137 : * - Conditions aux limites sur la brčche
2138 : *
2139 :  Rrk= 'EQEX' Rrk  'CLIM' 'KN' 'TIMP' GEO.'menvf'  0.         ;
2140 :  Rre= 'EQEX' Rre  'CLIM' 'EN' 'TIMP' GEO.'menvf'  1.e30      ;
2141 :  kj=0.                                                       ;
2142 :  ej=1.e30                                                    ;
2143 :   Si TTsortie                                                ;
2144 :     NBR=dime rxt.'Sorties'                                   ;
2145 :     ibr=index (rxt.'Sorties')                                ;
2146 :     Repeter BBRS NBR                                         ;
2147 :      Briches=rxt.'Sorties'.(ibr.&BBRS)                       ;
2148 :       mess ' Conditions limites sur K et Epsilon sortie '
2149 :        (ibr.&BBRS)  ;
2150 :       brechei=Briches.'brechei'                              ;
2151 :       brechec=Briches.'brechec'                              ;
2152 :  Rrk= 'EQEX' Rrk  'CLIM' 'KN' 'TIMP' brechei kj
2153 :                          'KN' 'TIMP' brechec 0.              ;
2154 :  Rre= 'EQEX' Rre  'CLIM' 'EN' 'TIMP' brechei ej
2155 :                          'EN' 'TIMP' brechec 1.e30           ;
2156 :     FIN BBRS                                                 ;
2157 :   FINSI                                                      ;
2158 : 
2159 :   Si TTbreche                                                ;
2160 :     NBR=dime rxt.'Breches'                                   ;
2161 :     ibr=index (rxt.'Breches')                                ;
2162 :     Repeter BBRS NBR                                         ;
2163 :      Briches=rxt.'Breches'.(ibr.&BBRS)                       ;
2164 :       mess ' Conditions limites sur K et Epsilon brčche '
2165 :        (ibr.&BBRS)  ;
2166 :       brechei=Briches.'brechei'                              ;
2167 :       brechec=Briches.'brechec'                              ;
2168 :  Rrk= 'EQEX' Rrk  'CLIM' 'KN' 'TIMP' brechei kj
2169 :                          'KN' 'TIMP' brechec 0.              ;
2170 :  Rre= 'EQEX' Rre  'CLIM' 'EN' 'TIMP' brechei ej
2171 :                          'EN' 'TIMP' brechec 1.e30           ;
2172 :     FIN BBRS                                                 ;
2173 :   FINSI                                                      ;
2174 : 
2175 :  Si (TBT.'Tbreche')                                          ;
2176 :  Rrk= 'EQEX' Rrk  'CLIM' 'KN' 'TIMP' brechei kj
2177 :                          'KN' 'TIMP' brechec 0.              ;
2178 :  Rre= 'EQEX' Rre  'CLIM' 'EN' 'TIMP' brechei ej
2179 :                          'EN' 'TIMP' brechec 1.e30           ;
2180 :  Finsi ;
2181 : 
2182 :  Si (TBT.'Tbreche2')                                         ;
2183 :  Rrk= 'EQEX' Rrk  'CLIM' 'KN' 'TIMP' brech2i kj
2184 :                          'KN' 'TIMP' brech2c 0.              ;
2185 :  Rre= 'EQEX' Rre  'CLIM' 'EN' 'TIMP' brech2i ej
2186 :                          'EN' 'TIMP' brech2c 1.e30           ;
2187 :  Finsi ;
2188 : 
2189 :  Si (TBT.'Tbreche3')                                         ;
2190 :  Rrk= 'EQEX' Rrk  'CLIM' 'KN' 'TIMP' brech3i kj
2191 :                          'KN' 'TIMP' brech3c 0.              ;
2192 :  Rre= 'EQEX' Rre  'CLIM' 'EN' 'TIMP' brech3i ej
2193 :                          'EN' 'TIMP' brech3c 1.e30           ;
2194 :  Finsi ;
2195 : 
2196 : Rrk .inco = tic                                              ;
2197 : Rrk .'METHINV'.TYPINV=TBT.'TYPINV'                           ;
2198 : Rrk .'METHINV'.TYPRENU=TBT.'RENU'                            ;
2199 : Rrk .'METHINV'.IMPINV=TBT.'nimpr'                            ;
2200 : Rrk .'METHINV'.NITMAX=NTIT                                   ;
2201 : Rrk .'METHINV'.PRECOND=3                                     ;
2202 : Rrk .'METHINV'.'FCPRECI' = FCPRECI                           ;
2203 : Rrk .'METHINV'.'FCPRECT' = FCPRECT                           ;
2204 : Rrk .'METHINV'.'CALPREC' = calprec                           ;
2205 : Rrk .'METHINV'.RESID  = EPSS                                 ;
2206 : 
2207 : 
2208 : Rre .inco = tic                                              ;
2209 : Rre .'METHINV'.TYPINV=TBT.'TYPINV'                           ;
2210 : Rre .'METHINV'.TYPRENU=TBT.'RENU'                            ;
2211 : Rre .'METHINV'.IMPINV=TBT.'nimpr'                            ;
2212 : Rre .'METHINV'.NITMAX=NTIT                                   ;
2213 : Rre .'METHINV'.PRECOND=3                                     ;
2214 : Rre .'METHINV'.'FCPRECI' = FCPRECI                           ;
2215 : Rre .'METHINV'.'FCPRECT' = FCPRECT                           ;
2216 : Rre .'METHINV'.'CALPREC' = calprec                           ;
2217 : Rre .'METHINV'.RESID  = EPSS                                 ;
2218 : 
2219 : 
2220 : *----------------------------------------------------------------------
2221 : * Definition du minimum pour recalcul du preconditionnement
2222 : *
2223 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2224 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                  ;
2225 : *     Rrk .'MINPREC' = Rrk .'METHINV'.NITMAX                      ;
2226 : *     Rre .'MINPREC' = Rre .'METHINV'.NITMAX                      ;
2227 : * 'FINSI'                                                        ;
2228 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2229 : 
2230 : Si (exist tic 'KN')                                             ;
2231 :   ma=extr tic.'KN' MAILLAGE                                     ;
2232 :   ms=doma $vtf 'SOMMET'                                         ;
2233 :   ELIM (ma et ms) epsi                                          ;
2234 :   tic.'KN'   =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'KN')       ;
2235 : Sinon                                                           ;
2236 :       tic.'KN'   =  'KCHT' $vtf    'SCAL' 'SOMMET'  0.          ;
2237 : Finsi                                                           ;
2238 : 
2239 : Si (exist tic 'KNM')                                            ;
2240 :   ma=extr tic.'KNM' MAILLAGE                                    ;
2241 :   ms=doma $vtf 'SOMMET'                                         ;
2242 :   ELIM (ma et ms) epsi                                          ;
2243 :   tic.'KNM'   =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'KNM')     ;
2244 : Sinon                                                           ;
2245 :       tic.'KNM'   =  'KCHT' $vtf    'SCAL' 'SOMMET'  0.         ;
2246 : Finsi                                                           ;
2247 : 
2248 : Si(exist tic 'Sk')                                              ;
2249 : ma=extr tic.'Sk' MAILLAGE                                       ;
2250 : mc=doma $vtf 'SOMMET'                                           ;
2251 : ELIM (ma et mc) epsi                                            ;
2252 : tic.'Sk'  =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'Sk')          ;
2253 : Sinon                                                           ;
2254 : tic.'Sk'  =  'KCHT' $vtf    'SCAL' 'SOMMET'  0.                 ;
2255 : Finsi                                                           ;
2256 : 
2257 : Si (exist tic 'EN')                                             ;
2258 :   ma=extr tic.'EN' MAILLAGE                                     ;
2259 :   ms=doma $vtf 'SOMMET'                                         ;
2260 :   ELIM (ma et ms) epsi                                          ;
2261 :   tic.'EN'   =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'EN')       ;
2262 : Sinon                                                           ;
2263 :       tic.'EN'   =  'KCHT' $vtf    'SCAL' 'SOMMET'  1.e-5       ;
2264 : Finsi                                                           ;
2265 : *mess ' EN OK ' ;
2266 : Si (exist tic 'ENM')                                            ;
2267 :   ma=extr tic.'ENM' MAILLAGE                                    ;
2268 :   ms=doma $vtf 'SOMMET'                                         ;
2269 :   ELIM (ma et ms) epsi                                          ;
2270 :   tic.'ENM'   =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'ENM')     ;
2271 : Sinon                                                           ;
2272 :       tic.'ENM'   =  'KCHT' $vtf    'SCAL' 'SOMMET'  1.e-5      ;
2273 : Finsi                                                           ;
2274 : 
2275 : Si(exist tic 'Se')                                              ;
2276 : ma=extr tic.'Se' MAILLAGE                                       ;
2277 : mc=doma $vtf 'SOMMET'                                           ;
2278 : ELIM (ma et mc) epsi                                            ;
2279 : tic.'Se'  =  'KCHT' $vtf    'SCAL' 'SOMMET' (tic.'Se')          ;
2280 : Sinon                                                           ;
2281 : tic.'Se'  =  'KCHT' $vtf    'SCAL' 'SOMMET'  0.                 ;
2282 : Finsi                                                           ;
2283 : 
2284 : Si (exist tic 'NUEFF')                                          ;
2285 :   ma=extr tic.'NUEFF' MAILLAGE                                  ;
2286 :   ms=doma $vtf 'SOMMET'                                         ;
2287 :   ELIM (ma et ms) epsi                                          ;
2288 : tic.'NUEFF'='KCHT' $vtf 'SCAL' ('CHAI' TBT.'SPGNU') (tic.'NUEFF');
2289 : Sinon                                                           ;
2290 : tic.'NUEFF'   =  'KCHT' $vtf    'SCAL' ('CHAI' TBT.'SPGNU') 0.  ;
2291 : list tic.'NUEFF' ;
2292 : Finsi                                                           ;
2293 : *
2294 : *mess ' Fin preparation KEPSILON ' ;
2295 : *
2296 : 'FINSI'                                                      ;
2297 : 'FINSI'                                                      ;
2298 :   
2299 : *------------------------------------------------------------
2300 : *-- EQUATIONS SUR LA TEMPERATURE FLUIDE TF
2301 : * Formulation non conservative Decentrement SUPG
2302 : * Termes sources : STF correspond a dP/dt
2303 : *                  'ECHI' partie convective de l'echange paroi
2304 : *                  Le modele concerne est PAROIC1
2305 : *                  ATTENTION : division par RHO.CP
2306 : * Les parois imposees sont aussi traitees par ECHI
2307 : ac='TEXT' 'NUEFF' 'UN' 0.;
2308 : 
2309 : rtf = 'EQEX' 'NITER' 1 'OMEGA' 1. 'ITMA' 0
2310 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' 'NOCONS'
2311 : *     'ZONE'  $vtf  'OPER' 'TSCA' 1. 'UN' 'NUEFF' 0.   'INCO' 'TF'
2312 :       'ZONE'  $vtf  'OPER' 'TSCA' LCTSCA            'INCO' 'TF'
2313 :       'OPTI' 'EFM1' 'CENTREE'
2314 :       'ZONE'  $vtf  'OPER' 'FIMP' 'STF'           'INCO' 'TF'
2315 :       'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2316 :       'ZONE'  $vtf  'OPER' 'DFDT' 1.0 'TFNM' DTX 'INCO' 'TF'
2317 :                                                                 ;
2318 :        rtf.'PASDETPS' = rv.'PASDETPS'                           ;
2319 : 
2320 : 'SI' TBT.'TPAROIF'                                              ;
2321 :  'SI' TBT.'THERCO'                                              ;
2322 :    rtf = 'EQEX' rtf
2323 :    'OPTI' 'EF' 'CENTREE' 'IMPL'
2324 :    'ZONE' (GEO.'$paroif') 'OPER' 'MDIA' 'KHEW'  'INCO' 'TF'     ;
2325 :    rtf = 'EQEX' rtf
2326 :    'OPTI' 'EF' 'CENTREE' 'IMPL'
2327 :    'ZONE' (GEO.'$paroif') 'OPER' 'MDIA' 'LHEW'  'INCO' 'TP' 'TF';
2328 :  'SINON'                                                        ;
2329 :    rtf = 'EQEX' rtf
2330 :    'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2331 :    'ZONE'(GEO.'$paroif') 'OPER' 'ECHI' 'KHEW' 'TBPW' 'INCO' 'TF';
2332 :  'FINSI'                                                        ;
2333 : 'FINSI'                                                         ;
2334 : 
2335 : * XFIMP 4 Tf ; Flux de Chaleur imposés
2336 : 'SI' TFIMP                                               ;
2337 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2338 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2339 :   REPETER BBFIMP NBFIMP                                  ;
2340 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2341 :    $mfpi=Bfimp.'$mfpi'                                   ;
2342 :    CKqt =(Bfimp.'Kqt')                                   ;
2343 :      rtf = 'EQEX' rtf
2344 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2345 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqt 'INCO' 'TF'    ;
2346 :   FIN BBFIMP                                             ;
2347 : 'FINSI'                                                  ;
2348 : * XFIMP 4 Tf ; Flux de Chaleur imposés
2349 : 
2350 : 'SI' TTIMP                                               ;
2351 :    NBTIMP=dime (rxt.'TIMP')                              ;
2352 :    itimp=INDEX (rxt.'TIMP')                              ;
2353 :   REPETER BBTIMP NBTIMP                                  ;
2354 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
2355 :    $mtpi=Btimp.'$mtpi'                                   ;
2356 :    CKHE1 =(Btimp.'KHE1')                                 ;
2357 :    CTBP1 =(Btimp.'TBP1')                                 ;
2358 :      rtf = 'EQEX' rtf
2359 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2360 :      'ZONE' $mtpi 'OPER' 'ECHI' CKHE1 CTBP1 'INCO' 'TF'  ;
2361 :   FIN BBTIMP                                             ;
2362 : 'FINSI'                                                  ;
2363 : 
2364 : 'SI' TBT.'TTIMP1'                                               ;
2365 :      rtf = 'EQEX' rtf
2366 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2367 :      'ZONE'  $mtp1     'OPER' 'ECHI' 'KHE1' 'TBP1' 'INCO' 'TF'  ;
2368 : 'FINSI'                                                         ;
2369 : 
2370 : 'SI' TBT.'TTIMP2'                                               ;
2371 :      rtf = 'EQEX' rtf
2372 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2373 :      'ZONE'  $mtp2     'OPER' 'ECHI' 'KHE2' 'TBP2' 'INCO' 'TF'  ;
2374 : 'FINSI'                                                         ;
2375 : 
2376 : 'SI' TBT.'TTIMP3'                                               ;
2377 :      rtf = 'EQEX' rtf
2378 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2379 :      'ZONE'  $mtp3     'OPER' 'ECHI' 'KHE3' 'TBP3' 'INCO' 'TF'  ;
2380 : 'FINSI'                                                         ;
2381 : 
2382 : 'SI' TBT.'TECHANP'                                              ;
2383 :      rtf = 'EQEX' rtf
2384 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2385 :      'ZONE'  $mtp0     'OPER' 'ECHI' 'KHE0' 'TBP0' 'INCO' 'TF'  ;
2386 : 'FINSI'                                                         ;
2387 : 
2388 : * - Initialisation du terme Source STF
2389 : Si (non(exist tic 'STF'));
2390 : tic.'STF'  =  0.0                                               ;
2391 : Finsi ;
2392 : 
2393 : rtf.inco = tic                                                  ;
2394 : rtf.'METHINV'.TYPINV=TBT.'TYPINV'                               ;
2395 : rtf.'METHINV'.TYPRENU=TBT.'RENU'                                ;
2396 : rtf.'METHINV'.IMPINV=TBT.'nimpr'                                ;
2397 : rtf.'METHINV'.NITMAX=NTIT                                       ;
2398 : rtf.'METHINV'.PRECOND=3                                         ;
2399 : rtf.'METHINV'.'FCPRECI' = FCPRECI                               ;
2400 : rtf.'METHINV'.'FCPRECT' = FCPRECT                               ;
2401 : rtf.'METHINV'.'CALPREC' = calprec                               ;
2402 : rtf.'METHINV'.RESID  = EPSS                                     ;
2403 : 
2404 : 
2405 : *----------------------------------------------------------------------
2406 : * Definition du minimum pour recalcul du preconditionnement
2407 : *
2408 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2409 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                  ;
2410 : *      rtf.'MINPREC' = rtf.'METHINV'.NITMAX                      ;
2411 : * 'FINSI'                                                        ;
2412 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2413 : 
2414 : *----------------------------------------------------------
2415 : * ---- EQUATION SUR LA DENSITE DE VAPEUR
2416 : * Formulation conservative - Decentrement SUPG
2417 : * BRECHE : traitee comme CLIM
2418 : * CONDENSATION : traitee par 'ECHI' sur modele PAROIC
2419 : 
2420 : 
2421 : 'SI' TBT.'VAPEUR'                                                 ;
2422 : 
2423 :     Rrvap = 'EQEX' 'NITER' 1 'OMEGA' 1. 'ITMA' 0
2424 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' TBT.'FCONS'
2425 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUEFF' 'UN'  0.      'INCO' 'RVP'
2426 :        'ZONE' $vtf 'OPER' 'TSCA' LCTSCA                'INCO' 'RVP'
2427 :         'OPTI' 'EFM1' 'CENTREE'
2428 :         'ZONE' $vtf 'OPER' 'DFDT' 1. 'RVPNM' DTX  'INCO' 'RVP'   ;
2429 : 
2430 :     Rrvap.'PASDETPS' = rv.'PASDETPS'                              ;
2431 : 
2432 : 'SI' TBT.'TPAROIF'                                                ;
2433 :      Rrvap = 'EQEX' Rrvap
2434 :     'OPTI' 'EFM1' 'CENTREE'
2435 :     'ZONE' (GEO.'$paroif') 'OPER' 'ECHI' 'KKCW' 'ROVIW' 'INCO' 'RVP';
2436 : 'FINSI'                                                           ;
2437 : 
2438 : 'SI' TTIMP                                                        ;
2439 :    NBTIMP=dime (rxt.'TIMP')                              ;
2440 :    itimp=INDEX (rxt.'TIMP')                              ;
2441 :   REPETER BBTIMP NBTIMP                                  ;
2442 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
2443 :    $mtpi=Btimp.'$mtpi'                                   ;
2444 :    CKKC1 =Btimp.'KKC1'                                   ;
2445 :    CROVI1=Btimp.'ROVI1'                                  ;
2446 :      Rrvap = 'EQEX' Rrvap
2447 :     'OPTI' 'EFM1' 'CENTREE'
2448 :     'ZONE' $mtpi 'OPER' 'ECHI' CKKC1 CROVI1 'INCO' 'RVP' ;
2449 :   FIN BBTIMP                                             ;
2450 : 'FINSI'                                                           ;
2451 : 
2452 : 'SI' TBT.'TTIMP1'                                                 ;
2453 :    CKKC1 ='KKC1'                                                  ;
2454 :    CROVI1='ROVI1'                                                 ;
2455 :      Rrvap = 'EQEX' Rrvap
2456 :     'OPTI' 'EFM1' 'CENTREE'
2457 :     'ZONE' (GEO.'$mtp1') 'OPER' 'ECHI' CKKC1 CROVI1 'INCO' 'RVP'  ;
2458 : 'FINSI'                                                           ;
2459 : 
2460 : 'SI' TBT.'TTIMP2'                                                 ;
2461 :      Rrvap = 'EQEX' Rrvap
2462 :     'OPTI' 'EFM1' 'CENTREE'
2463 :     'ZONE' (GEO.'$mtp2') 'OPER' 'ECHI' 'KKC2' 'ROVI2' 'INCO' 'RVP';
2464 : 'FINSI'                                                           ;
2465 : 
2466 : 'SI' TBT.'TTIMP3'                                                 ;
2467 :      Rrvap = 'EQEX' Rrvap
2468 :     'OPTI' 'EFM1' 'CENTREE'
2469 :     'ZONE' (GEO.'$mtp3') 'OPER' 'ECHI' 'KKC3' 'ROVI3' 'INCO' 'RVP';
2470 : 'FINSI'                                                           ;
2471 : 
2472 : 'SI' TBT.'TECHANP'                                                ;
2473 :      Rrvap = 'EQEX' Rrvap
2474 :     'OPTI' 'EFM1' 'CENTREE'
2475 :     'ZONE' (GEO.'$mtp0') 'OPER' 'ECHI' 'KKC0' 'ROVI0' 'INCO' 'RVP';
2476 : 'FINSI'                                                           ;
2477 : 
2478 : * XFIMP 4 RVP ; Flux de masse vapeur imposés
2479 : 'SI' TFIMP                                               ;
2480 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2481 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2482 :   REPETER BBFIMP NBFIMP                                  ;
2483 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2484 :    $mfpi=Bfimp.'$mfpi'                                   ;
2485 :    CKqeau =(Bfimp.'Kqeau')                               ;
2486 :      Rrvap = 'EQEX' Rrvap
2487 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2488 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqeau 'INCO' 'RVP' ;
2489 :   FIN BBFIMP                                             ;
2490 : 'FINSI'                                                  ;
2491 : * XFIMP 4 RVP ; Flux de masse vapeur imposés
2492 : 
2493 : Rrvap.inco = tic                                                  ;
2494 : Rrvap.'METHINV'.TYPINV=TBT.'TYPINV'                               ;
2495 : Rrvap.'METHINV'.TYPRENU=TBT.'RENU'                                ;
2496 : Rrvap.'METHINV'.IMPINV=TBT.'nimpr'                                ;
2497 : Rrvap.'METHINV'.NITMAX=NTIT                                       ;
2498 : Rrvap.'METHINV'.PRECOND=3                                         ;
2499 : Rrvap.'METHINV'.'FCPRECI' = FCPRECI                               ;
2500 : Rrvap.'METHINV'.'FCPRECT' = FCPRECT                               ;
2501 : Rrvap.'METHINV'.'CALPREC' = calprec                               ;
2502 : Rrvap.'METHINV'.RESID  = EPSS                                     ;
2503 : 
2504 : *----------------------------------------------------------------------
2505 : * Definition du minimum pour recalcul du preconditionnement
2506 : *
2507 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2508 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                    ;
2509 : *       Rrvap.'MINPREC' = Rrvap.'METHINV'.NITMAX                   ;
2510 : * 'FINSI'                                                          ;
2511 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2512 : 'FINSI'                                                           ;
2513 : 
2514 : *----------------------------------------------------------
2515 : * EQUATIONS SUR LA DENSITE HELIUM
2516 : * Formulation conservative - Decentrement SUPG
2517 : * BRECHE : condition aux limites
2518 : 
2519 : 'SI' TBT.'THE'                                                    ;
2520 : 
2521 :     Rrhe = 'EQEX'  'NITER' 1 'OMEGA' 1. 'ITMA' 0
2522 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' TBT.'FCONS'
2523 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUEFF' 'UN'  0.0     'INCO' 'RHE'
2524 :        'ZONE' $vtf 'OPER' 'TSCA' LCTSCA                'INCO' 'RHE'
2525 :        'OPTI' 'EFM1' 'CENTREE'
2526 :        'ZONE'  $vtf  'OPER' 'DFDT' 1.0 'RHEM' DTX  'INCO' 'RHE'  ;
2527 : 
2528 :     Rrhe.'PASDETPS' = rv.'PASDETPS'                               ;
2529 : 
2530 : * XFIMP 4 RHE ; Flux de masse Hélium imposé
2531 : 'SI' TFIMP                                               ;
2532 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2533 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2534 :   REPETER BBFIMP NBFIMP                                  ;
2535 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2536 :    $mfpi=Bfimp.'$mfpi'                                   ;
2537 :    CKqhe =(Bfimp.'Kqhe')                                 ;
2538 :      Rrhe = 'EQEX' Rrhe
2539 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2540 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqhe 'INCO' 'RHE'  ;
2541 :   FIN BBFIMP                                             ;
2542 : 'FINSI'                                                  ;
2543 : * XFIMP 4 RHE ; Flux de masse Hélium imposé
2544 : 
2545 : Rrhe.inco = tic                                                   ;
2546 : Rrhe.'METHINV'.TYPINV=TBT.'TYPINV'                                ;
2547 : Rrhe.'METHINV'.TYPRENU=TBT.'RENU'                                 ;
2548 : Rrhe.'METHINV'.IMPINV=TBT.'nimpr'                                 ;
2549 : Rrhe.'METHINV'.NITMAX=NTIT                                        ;
2550 : Rrhe.'METHINV'.PRECOND=3                                          ;
2551 : Rrhe.'METHINV'.'FCPRECI' = FCPRECI                                ;
2552 : Rrhe.'METHINV'.'FCPRECT' = FCPRECT                                ;
2553 : Rrhe.'METHINV'.'CALPREC' = calprec                                ;
2554 : Rrhe.'METHINV'.RESID  = EPSS                                      ;
2555 : 
2556 : *----------------------------------------------------------------------
2557 : * Definition du minimum pour recalcul du preconditionnement
2558 : *
2559 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2560 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                    ;
2561 : *      Rrhe.'MINPREC' = Rrhe.'METHINV'.NITMAX                      ;
2562 : * 'FINSI'                                                          ;
2563 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2564 : 'FINSI'                                                           ;
2565 : 
2566 : *----------------------------------------------------------
2567 : * EQUATIONS SUR LA DENSITE HYDROGENE
2568 : * Formulation conservative - Decentrement SUPG
2569 : * BRECHE : condition aux limites
2570 : 
2571 : 'SI' TBT.'TH2'                                                ;
2572 : 
2573 :     Rrh2 = 'EQEX'  'NITER' 1 'OMEGA' 1. 'ITMA' 0
2574 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' TBT.'FCONS'
2575 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUEFF' 'UN'  0.0     'INCO' 'RH2'
2576 :        'ZONE' $vtf 'OPER' 'TSCA' LCTSCA                'INCO' 'RH2'
2577 :        'OPTI' 'EFM1' 'CENTREE'
2578 :        'ZONE'  $vtf  'OPER' 'DFDT' 1.0 'RH2M' DTX  'INCO' 'RH2'  ;
2579 : 
2580 :     Rrh2.'PASDETPS' = rv.'PASDETPS'                               ;
2581 : 
2582 : * XFIMP 4 RH2 ; Flux de masse H2 imposé
2583 : 'SI' TFIMP                                               ;
2584 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2585 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2586 :   REPETER BBFIMP NBFIMP                                  ;
2587 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2588 :    $mfpi=Bfimp.'$mfpi'                                   ;
2589 :    CKqh2 =(Bfimp.'Kqh2')                                 ;
2590 :      Rrh2 = 'EQEX' Rrh2
2591 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2592 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqh2 'INCO' 'RH2'  ;
2593 :   FIN BBFIMP                                             ;
2594 : 'FINSI'                                                  ;
2595 : * XFIMP 4 RH2 ; Flux de masse H2 imposé
2596 : 
2597 : Rrh2.inco = tic                                                   ;
2598 : Rrh2.'METHINV'.TYPINV=TBT.'TYPINV'                                ;
2599 : Rrh2.'METHINV'.TYPRENU=TBT.'RENU'                                 ;
2600 : Rrh2.'METHINV'.IMPINV=TBT.'nimpr'                                 ;
2601 : Rrh2.'METHINV'.NITMAX=NTIT                                        ;
2602 : Rrh2.'METHINV'.PRECOND=3                                          ;
2603 : Rrh2.'METHINV'.'FCPRECI' = FCPRECI                                ;
2604 : Rrh2.'METHINV'.'FCPRECT' = FCPRECT                                ;
2605 : Rrh2.'METHINV'.'CALPREC' = calprec                                ;
2606 : Rrh2.'METHINV'.RESID  = EPSS                                      ;
2607 : 
2608 : *----------------------------------------------------------------------
2609 : * Definition du minimum pour recalcul du preconditionnement
2610 : *
2611 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2612 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                    ;
2613 : *      Rrh2.'MINPREC' = Rrh2.'METHINV'.NITMAX                      ;
2614 : * 'FINSI'                                                          ;
2615 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2616 : 'FINSI'                                                           ;
2617 : 
2618 : *----------------------------------------------------------
2619 : * EQUATIONS SUR LA DENSITE OXYGENE
2620 : * Formulation conservative - Decentrement SUPG
2621 : * BRECHE : condition aux limites
2622 : 
2623 : 'SI' TBT.'TO2'                                                    ;
2624 : 
2625 :     Rro2 = 'EQEX'  'NITER' 1 'OMEGA' 1. 'ITMA' 0
2626 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' TBT.'FCONS'
2627 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUEFF' 'UN'  0.0     'INCO' 'RO2'
2628 :        'ZONE' $vtf 'OPER' 'TSCA' LCTSCA                'INCO' 'RO2'
2629 :        'OPTI' 'EFM1' 'CENTREE'
2630 :        'ZONE' $vtf 'OPER' 'DFDT' 1.0 'RO2M' DTX  'INCO' 'RO2'    ;
2631 : 
2632 :     Rro2.'PASDETPS' = rv.'PASDETPS'                               ;
2633 : 
2634 : * XFIMP 4 RO2 ; Flux de masse O2 imposé
2635 : 'SI' TFIMP                                               ;
2636 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2637 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2638 :   REPETER BBFIMP NBFIMP                                  ;
2639 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2640 :    $mfpi=Bfimp.'$mfpi'                                   ;
2641 :    CKqo2 =(Bfimp.'Kqo2')                                 ;
2642 :      Rro2 = 'EQEX' Rro2
2643 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2644 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqo2 'INCO' 'RO2'  ;
2645 :   FIN BBFIMP                                             ;
2646 : 'FINSI'                                                  ;
2647 : * XFIMP 4 RO2 ; Flux de masse O2 imposé
2648 : 
2649 : Rro2.inco = tic                                                   ;
2650 : Rro2.'METHINV'.TYPINV=TBT.'TYPINV'                                ;
2651 : Rro2.'METHINV'.TYPRENU=TBT.'RENU'                                 ;
2652 : Rro2.'METHINV'.IMPINV=TBT.'nimpr'                                 ;
2653 : Rro2.'METHINV'.NITMAX=NTIT                                        ;
2654 : Rro2.'METHINV'.PRECOND=3                                          ;
2655 : Rro2.'METHINV'.'FCPRECI' = FCPRECI                                ;
2656 : Rro2.'METHINV'.'FCPRECT' = FCPRECT                                ;
2657 : Rro2.'METHINV'.'CALPREC' = calprec                                ;
2658 : Rro2.'METHINV'.RESID  = EPSS                                      ;
2659 : 
2660 : *----------------------------------------------------------------------
2661 : * Definition du minimum pour recalcul du preconditionnement
2662 : *
2663 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2664 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                    ;
2665 : *      Rro2.'MINPREC' = Rro2.'METHINV'.NITMAX                      ;
2666 : * 'FINSI'                                                          ;
2667 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2668 : 'FINSI'                                                           ;
2669 : 
2670 : *----------------------------------------------------------
2671 : * EQUATIONS SUR LA DENSITE AZOTE
2672 : * Formulation conservative - Decentrement SUPG
2673 : * BRECHE : condition aux limites
2674 : 
2675 : 'SI' TBT.'TN2'                                                    ;
2676 : 
2677 :    Rrn2 = 'EQEX'  'NITER' 1 'OMEGA' 1. 'ITMA' 0
2678 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' TBT.'FCONS'
2679 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUEFF' 'UN'  0.      'INCO' 'RN2'
2680 :        'ZONE' $vtf 'OPER' 'TSCA' LCTSCA                'INCO' 'RN2'
2681 :        'OPTI' 'EFM1' 'CENTREE'
2682 :        'ZONE' $vtf 'OPER' 'DFDT' 1.0 'RN2M' DTX 'INCO' 'RN2'     ;
2683 : 
2684 :    Rrn2.'PASDETPS' = rv.'PASDETPS'                                ;
2685 : 
2686 : 
2687 : *   'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG'
2688 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUT' 'UN'  0.0 'INCO' 'RN2'
2689 : *mess ' Option NOCONS RN2 pour test branchee AREVOIR ' ;
2690 : 
2691 : * XFIMP 4 RN2 ; Flux de masse N2 imposé
2692 : 'SI' TFIMP                                               ;
2693 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2694 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2695 :   REPETER BBFIMP NBFIMP                                  ;
2696 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2697 :    $mfpi=Bfimp.'$mfpi'                                   ;
2698 :    CKqn2 =(Bfimp.'Kqn2')                                 ;
2699 :      Rrn2 = 'EQEX' Rrn2
2700 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2701 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqn2 'INCO' 'RN2'  ;
2702 :   FIN BBFIMP                                             ;
2703 : 'FINSI'                                                  ;
2704 : * XFIMP 4 RN2 ; Flux de masse N2 imposé
2705 : 
2706 : Rrn2.inco = tic                                                   ;
2707 : Rrn2.'METHINV'.TYPINV=TBT.'TYPINV'                                ;
2708 : Rrn2.'METHINV'.TYPRENU=TBT.'RENU'                                 ;
2709 : Rrn2.'METHINV'.IMPINV=TBT.'nimpr'                                 ;
2710 : Rrn2.'METHINV'.NITMAX=NTIT                                        ;
2711 : Rrn2.'METHINV'.PRECOND=3                                          ;
2712 : Rrn2.'METHINV'.'FCPRECI' = FCPRECI                                ;
2713 : Rrn2.'METHINV'.'FCPRECT' = FCPRECT                                ;
2714 : Rrn2.'METHINV'.'CALPREC' = calprec                                ;
2715 : Rrn2.'METHINV'.RESID  = EPSS                                      ;
2716 : 
2717 : 
2718 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2719 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                    ;
2720 : *       Rrn2.'MINPREC' = Rrn2.'METHINV'.NITMAX                     ;
2721 : * 'FINSI'                                                          ;
2722 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2723 : 'FINSI'                                                           ;
2724 : 
2725 : *----------------------------------------------------------
2726 : * EQUATIONS SUR LA DENSITE DIOXYDE DE CARBONE
2727 : * Formulation conservative - Decentrement SUPG
2728 : * BRECHE : condition aux limites
2729 : 
2730 : 'SI' TBT.'TCO2'                                                   ;
2731 : 
2732 :     Rrco2 = 'EQEX'  'NITER' 1 'OMEGA' 1. 'ITMA' 0
2733 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' TBT.'FCONS'
2734 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUEFF' 'UN'  0.0     'INCO' 'RCO2'
2735 :        'ZONE' $vtf 'OPER' 'TSCA' LCTSCA                'INCO' 'RCO2'
2736 :         'OPTI' 'EFM1' 'CENTREE'
2737 :         'ZONE' $vtf 'OPER' 'DFDT' 1.0 'RCO2M' DTX 'INCO' 'RCO2'  ;
2738 : 
2739 :     Rrco2.'PASDETPS' = rv.'PASDETPS'                              ;
2740 : 
2741 : * XFIMP 4 RCO2 ; Flux de masse CO2 imposé
2742 : 'SI' TFIMP                                               ;
2743 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2744 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2745 :   REPETER BBFIMP NBFIMP                                  ;
2746 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2747 :    $mfpi=Bfimp.'$mfpi'                                   ;
2748 :    CKqco2 =(Bfimp.'Kqco2')                               ;
2749 :      Rrco2 = 'EQEX' Rrco2
2750 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2751 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqco2 'INCO' 'RCO2';
2752 :   FIN BBFIMP                                             ;
2753 : 'FINSI'                                                  ;
2754 : * XFIMP 4 RCO2 ; Flux de masse CO2 imposé
2755 : 
2756 : Rrco2.inco = tic                                                  ;
2757 : Rrco2.'METHINV'.TYPINV=TBT.'TYPINV'                               ;
2758 : Rrco2.'METHINV'.TYPRENU=TBT.'RENU'                                ;
2759 : Rrco2.'METHINV'.IMPINV=TBT.'nimpr'                                ;
2760 : Rrco2.'METHINV'.NITMAX=NTIT                                       ;
2761 : Rrco2.'METHINV'.PRECOND=3                                         ;
2762 : Rrco2.'METHINV'.'FCPRECI' = FCPRECI                               ;
2763 : Rrco2.'METHINV'.'FCPRECT' = FCPRECT                               ;
2764 : Rrco2.'METHINV'.'CALPREC' = calprec                               ;
2765 : Rrco2.'METHINV'.RESID  = EPSS                                     ;
2766 : 
2767 : 
2768 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2769 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                    ;
2770 : *       Rrco2.'MINPREC' = Rrco2.'METHINV'.NITMAX                   ;
2771 : * 'FINSI'                                                          ;
2772 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2773 : 'FINSI'                                                           ;
2774 : 
2775 : *----------------------------------------------------------
2776 : * EQUATIONS SUR LA DENSITE DE l'AIR  (Ničme équation)  TCO2AIR
2777 : * Formulation conservative - Decentrement SUPG
2778 : * BRECHE : condition aux limites
2779 : 
2780 : 'SI' TBT.'TAIR'                                                   ;
2781 : 
2782 :     Rrair = 'EQEX'  'NITER' 1 'OMEGA' 1. 'ITMA' 0
2783 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' TBT.'FCONS'
2784 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUEFF' 'UN'  0.0     'INCO' 'RAIR'
2785 :        'ZONE' $vtf 'OPER' 'TSCA' LCTSCA                'INCO' 'RAIR'
2786 :         'OPTI' 'EFM1' 'CENTREE'
2787 :         'ZONE' $vtf 'OPER' 'DFDT' 1.0 'RAIRM' DTX 'INCO' 'RAIR'  ;
2788 : 
2789 :     Rrair.'PASDETPS' = rv.'PASDETPS'                              ;
2790 : 
2791 : * XFIMP 4 RAIR ; Flux de masse Air imposé
2792 : 'SI' TFIMP                                               ;
2793 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2794 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2795 :   REPETER BBFIMP NBFIMP                                  ;
2796 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2797 :    $mfpi=Bfimp.'$mfpi'                                   ;
2798 :    CKqair =(Bfimp.'Kqair')                               ;
2799 :      Rrair = 'EQEX' Rrair
2800 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2801 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqair 'INCO' 'RAIR';
2802 :   FIN BBFIMP                                             ;
2803 : 'FINSI'                                                  ;
2804 : * XFIMP 4 RCO2 ; Flux de masse CO2 imposé
2805 : 
2806 : Rrair.inco = tic                                                  ;
2807 : Rrair.'METHINV'.TYPINV=TBT.'TYPINV'                               ;
2808 : Rrair.'METHINV'.TYPRENU=TBT.'RENU'                                ;
2809 : Rrair.'METHINV'.IMPINV=TBT.'nimpr'                                ;
2810 : Rrair.'METHINV'.NITMAX=NTIT                                       ;
2811 : Rrair.'METHINV'.PRECOND=3                                         ;
2812 : Rrair.'METHINV'.'FCPRECI' = FCPRECI                               ;
2813 : Rrair.'METHINV'.'FCPRECT' = FCPRECT                               ;
2814 : Rrair.'METHINV'.'CALPREC' = calprec                               ;
2815 : Rrair.'METHINV'.RESID  = EPSS                                     ;
2816 : 
2817 : 
2818 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2819 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                    ;
2820 : *       Rrair.'MINPREC' = Rrair.'METHINV'.NITMAX                   ;
2821 : * 'FINSI'                                                          ;
2822 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2823 : 'FINSI'                                                           ;
2824 : 
2825 : *----------------------------------------------------------
2826 : * EQUATIONS SUR LA DENSITE MONOXYDE DE CARBONE
2827 : * Formulation conservative - Decentrement SUPG
2828 : * BRECHE : condition aux limites
2829 : 
2830 : 'SI' TBT.'TCO'                                                    ;
2831 : 
2832 :     Rrco = 'EQEX'  'NITER' 1 'OMEGA' 1. 'ITMA' 0
2833 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' TBT.'FCONS'
2834 : *      'ZONE' $vtf 'OPER' 'TSCA' 'NUEFF' 'UN'  0.0     'INCO' 'RCO'
2835 :        'ZONE' $vtf 'OPER' 'TSCA' LCTSCA                'INCO' 'RCO'
2836 :        'OPTI' 'EFM1' 'CENTREE'
2837 :        'ZONE' $vtf 'OPER' 'DFDT' 1.0 'RCOM' DTX 'INCO' 'RCO'     ;
2838 : 
2839 :     Rrco.'PASDETPS' = rv.'PASDETPS'                               ;
2840 : 
2841 : * XFIMP 4 RCO ; Flux de masse CO imposé
2842 : 'SI' TFIMP                                               ;
2843 :    NBFIMP=dime (rxt.'XFIMP')                             ;
2844 :    ifimp=INDEX (rxt.'XFIMP')                             ;
2845 :   REPETER BBFIMP NBFIMP                                  ;
2846 :    Bfimp=rxt.'XFIMP'.(ifimp.&BBFIMP)                     ;
2847 :    $mfpi=Bfimp.'$mfpi'                                   ;
2848 :    CKqco =(Bfimp.'Kqco')                                 ;
2849 :      Rrco = 'EQEX' Rrco
2850 :      'OPTI' 'EFM1' 'CENTREE' 'IMPL'
2851 :      'ZONE'  $mfpi     'OPER' 'FIMP' CKqco 'INCO' 'RCO'  ;
2852 :   FIN BBFIMP                                             ;
2853 : 'FINSI'                                                  ;
2854 : * XFIMP 4 RCO ; Flux de masse CO imposé
2855 : 
2856 : Rrco.inco = tic                                                   ;
2857 : Rrco.'METHINV'.TYPINV=TBT.'TYPINV'                                ;
2858 : Rrco.'METHINV'.TYPRENU=TBT.'RENU'                                 ;
2859 : Rrco.'METHINV'.IMPINV=TBT.'nimpr'                                 ;
2860 : Rrco.'METHINV'.NITMAX=NTIT                                        ;
2861 : Rrco.'METHINV'.PRECOND=3                                          ;
2862 : Rrco.'METHINV'.'FCPRECI' = FCPRECI                                ;
2863 : Rrco.'METHINV'.'FCPRECT' = FCPRECT                                ;
2864 : Rrco.'METHINV'.'CALPREC' = calprec                                ;
2865 : Rrco.'METHINV'.RESID  = EPSS                                      ;
2866 : 
2867 : 
2868 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2869 : * 'SI' ( 'NON' tbt.'UTILPREC' )                                    ;
2870 : *      Rrco.'MINPREC' = Rrco.'METHINV'.NITMAX                      ;
2871 : * 'FINSI'                                                          ;
2872 : *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2873 : 'FINSI'                                                           ;
2874 : 
2875 : *----------------------------------------------------------
2876 : * EQUATION DE LA CHALEUR POUR LA THERMIQUE PAROI TP
2877 : * CONDENSATION ET CONVECTION : densite de flux imposee FIMP
2878 : *                              sur modele PAROIC1
2879 : *
2880 :  'SI' TBT.'THERMP'                                                ;
2881 : 
2882 :   'SI' TBT.'THERCO'                                               ;
2883 :     rtp = rtf                                                     ;
2884 :   'SINON'                                                         ;
2885 :     rtp= 'EQEX' 'NITER' 1 'OMEGA' 1. 'ITMA' 0                     ;
2886 :     rtp.'METHINV'.TYPINV=2                                        ;
2887 :     rtp.'METHINV'.TYPRENU=TBT.'RENU'                              ;
2888 :     rtp.'METHINV'.IMPINV=TBT.'nimpr'                              ;
2889 :     rtp.'METHINV'.NITMAX=NTIT                                     ;
2890 :     rtp.'METHINV'.PRECOND=3                                       ;
2891 :     rtp.'METHINV'.'FCPRECI' = FCPRECI                             ;
2892 :     rtp.'METHINV'.'FCPRECT' = FCPRECT                             ;
2893 :     rtp.'METHINV'.'CALPREC' = calprec                             ;            
2894 :     rtp.'METHINV'.RESID  = EPSS                                   ;
2895 :   'FINSI'                                                         ;
2896 : 
2897 :  'SI' (NON TPAROIS)                                               ;
2898 :    $vtp=GEO.'$vtp'                                                ;
2899 :    rtp= 'EQEX' rtp
2900 :    'OPTI' TBT.'FEF' TBT.'FIMPL' 'CENTREE'
2901 :           'ZONE' $vtp 'OPER' 'LAPN' 'LAMBDA'  'INCO' 'TP'
2902 :           'OPTI' 'EFM1' 'CENTREE'
2903 :           'ZONE' $vtp 'OPER' 'DFDT' 'ROCP'  'TPNM' DTX 'INCO' 'TP';
2904 :  'SINON'                                                          ;
2905 :    NPAR=dime rxt.'PAROIS'                                ;
2906 :    ipr=index (rxt.'PAROIS')                              ;
2907 :    Repeter BPRS NPAR                                     ;
2908 :    Parois=rxt.'PAROIS'.(ipr.&BPRS)                       ;
2909 :    $vtpi=GEO.(ipr.&BPRS).'$vtp'                          ;
2910 :    CLAMBDA=chai 'LAMBDA' &BPRS                           ;
2911 :    CROCP  =chai 'ROCP'   &BPRS                           ;
2912 :    rtp= 'EQEX' rtp
2913 :    'OPTI' TBT.'FEF' TBT.'FIMPL' 'CENTREE'
2914 :           'ZONE' $vtpi 'OPER' 'LAPN' CLAMBDA  'INCO' 'TP'
2915 :           'OPTI' 'EFM1' 'CENTREE'
2916 :           'ZONE' $vtpi 'OPER' 'DFDT' CROCP  'TPNM' DTX 'INCO' 'TP';
2917 :    FIN BPRS                                              ;
2918 :  'FINSI'                                                          ;
2919 :      
2920 :  'SI' TBT.'ECHEXT'                                                ;
2921 : 
2922 :    hxtc=tic.'HEXT'                                                ;
2923 :    txtc=tic.'TPEXT'                                               ;
2924 :    thx=type hxtc                                                  ;
2925 :    ttx=type txtc;                                                 ;
2926 : 
2927 :    Si(EGA thx 'CHPOINT')                                          ;
2928 :    hxtc='NOEL' (GEO.'$parext') hxtc                               ;
2929 :    Finsi                                                          ;
2930 : ;
2931 :    Si(EGA ttx 'CHPOINT')                                          ;
2932 :    txtc='NOEL' (GEO.'$parext') txtc                               ;
2933 :    Finsi                                                          ;
2934 : 
2935 :    tic.'HEXTc'=hxtc                                               ;
2936 :    tic.'TPEXTc'=txtc                                              ;
2937 : 
2938 :    rtp= 'EQEX' rtp
2939 :   'OPTI' 'EFM1' 'CENTREE'
2940 : 'ZONE' (GEO.'$parext') 'OPER' 'ECHI' 'HEXTc' 'TPEXTc' 'INCO' 'TP' ;
2941 :  'FINSI'                                                          ;
2942 : 
2943 :  'SI' (TBT.'TPAROIF' et (non TBT.'VAPEUR'))                       ;
2944 :    rtp= 'EQEX' rtp
2945 :   'OPTI' 'EFM1' 'CENTREE'
2946 :   'ZONE' (GEO.'$paroif') 'OPER' 'ECHI' 'KHW' 'TBFW'  'INCO' 'TP'  ;
2947 :  'FINSI'                                                          ;
2948 : 
2949 :  'SI' (TBT.'TPAROIF' et TBT.'VAPEUR')                             ;
2950 :        rtp= 'EQEX' rtp
2951 :           'OPTI' 'EFM1' 'CENTREE'
2952 :           'ZONE' (GEO.'$paroif') 'OPER' 'FIMP' 'FHPW' 'INCO' 'TP' ;
2953 :  'FINSI'                                                          ;
2954 : 
2955 :   rtp.'PASDETPS' = rv.'PASDETPS'                                  ;
2956 :   rtp.inco = tic                                                  ;
2957 : 
2958 :   'SI' TBT.'THERCO'; rtf = rtp ; 'FINSI'                          ;
2959 : 
2960 :  'FINSI'                                                          ;
2961 : 
2962 : *-----------------------------------------------------------------------
2963 : * TRAITEMENT DE LA CONDENSATION EN MASSE
2964 : * Modif FP 18/05/00.
2965 : 
2966 : 'SI' (TBT.'VERSION' '>EG' 1)                                      ;
2967 : *  Variables :
2968 : *  -----------
2969 : *  rrliq : table de résolution.
2970 : *  Les variables ci-dessous sont dans la bable des inconnues tic.
2971 : *  RLIQ : masse volumique de liquide en suspension ŕ l'instant N.
2972 : *  RLIQM : masse volumique de liquide drainé ŕ l'instant N - 1.
2973 : *  RBRO  : masse volumique de liquide en suspension ŕ l'instant N.
2974 : *  SLIQ : terme source lié ŕ la formation de liquide en suspension.
2975 : *  SRVL : terme source dans l'équation sur la masse volumique de
2976 : *         vapeur (SRVL = -SLIQ).
2977 : *  STL : terme source dans l'équation de la température
2978 : *  (STL = Lv*SLIQ/Rho/Cp).
2979 : 
2980 :    'SI' ('EXISTE' tic 'RLIQ');
2981 :       ma = 'EXTR' tic.'RLIQ' MAILLAGE ;
2982 :       ms = 'DOMA' $vtf 'SOMMET' ;
2983 :       'ELIMINER' (ma et ms) epsi ;
2984 :       tic.'RLIQ' = 'KCHT' $vtf 'SCAL' 'SOMMET' (tic.'RLIQ');
2985 :    'SINON';
2986 :       tic.'RLIQ' = 'KCHT' $vtf 'SCAL' 'SOMMET' 0.;
2987 :    'FINSI';
2988 :    'SI' ('EXISTE' tic 'RBRO');
2989 :       ma = 'EXTR' tic.'RBRO' MAILLAGE ;
2990 :       ms = 'DOMA' $vtf 'SOMMET' ;
2991 :       'ELIMINER' (ma et ms) epsi ;
2992 :       tic.'RBRO' = 'KCHT' $vtf 'SCAL' 'SOMMET' (tic.'RBRO');
2993 :    'SINON';
2994 :       tic.'RBRO' = 'KCHT' $vtf 'SCAL' 'SOMMET' 0.;
2995 :    'FINSI';
2996 : 'FINSI';
2997 :  
2998 : *-----------------------------------------------------------------------
2999 : * TRAITEMENT DE L'ASPERSION C. CAROLI
3000 : *
3001 : 'SI' TBT.'ASPER'                                                ;
3002 : 
3003 : ********************** EQEX VN + UN ***********************
3004 : *  nup        =  1.00e-20                                       ;
3005 :   nup        =  1.00e-10                                        ;
3006 :   rod        =  rxt.'rod'                                       ;
3007 :   gdrz       =  (-9.81 '*' (rod-Rho0)  '/' rod)                 ;
3008 : 
3009 :   rvn = 'EQEX' 'NITER' 1 'OMEGA' 1.0 'ITMA' 0
3010 :        'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG'
3011 :         'ZONE'  $vtf  'OPER' 'NS'  1. 'VN' nup 'GDR' 'INCO' 'VN'
3012 :         'OPTI' 'EFM1' 'CENTREE'
3013 : *        'ZONE'  $vtf  'OPER' 'DFDT' 'KDIS' 'UNM' 1.0 'INCO' 'VN'
3014 : *        'ZONE'  $vtf  'OPER' 'PENCECHI' 'KDIS' 'UNM' 1.0 'INCO' 'VN'
3015 :         'ZONE'  $vtf  'OPER' 'PENCECHI' 'KDIS' 'UN' 1.0 'INCO' 'VN'
3016 :         'OPTI' 'EFM1' 'CENTREE'
3017 :         'ZONE'  $vtf  'OPER' 'DFDT'  1.0 'VNM' DTX 'INCO' 'VN';
3018 : * Utilisé par PENCECHI        
3019 :   rvn . 'TBT' = tbt ;
3020 :  'SI' DIM3D ;                                                             
3021 :   rvn = 'EQEX' rvn 'CLIM'
3022 :         'VN' 'UIMP' toitf  0.0
3023 :         'VN' 'VIMP' toitf  0.0
3024 :         'VN' 'WIMP' toitf  0.0
3025 :         'VN' 'UIMP' aspinj 0.0
3026 :         'VN' 'VIMP' aspinj 0.0
3027 :         'VN' 'WIMP' aspinj vzinj                               ;
3028 :   'SINON' ;
3029 :   rvn = 'EQEX' rvn 'CLIM'
3030 :         'VN' 'UIMP' toitf  0.0
3031 :         'VN' 'VIMP' toitf  0.0
3032 :         'VN' 'UIMP' aspinj 0.0
3033 :         'VN' 'VIMP' aspinj vzinj                               ;
3034 :   'FINSI' ;
3035 : 
3036 :   rv  = 'EQEX' rv
3037 :         'OPTI' 'EFM1' 'CENTREE'
3038 :         'ZONE' $vtf 'OPER' 'PENCECHI' 'KGAS' 'VN' 1.0 'INCO' 'UN'  ;
3039 : *        'ZONE' $vtf 'OPER' 'PENCECHI' 'KGAS' 'VNM' 1.0 'INCO' 'UN'  ;
3040 : *        'ZONE' $vtf 'OPER' 'DFDT' 'KGAS' 'VNM' 1.0 'INCO' 'UN'  ;
3041 : * Utilisé par PENCECHI        
3042 :   rv . 'TBT' = tbt ;        
3043 : 
3044 :   Si(exist tic 'VN');
3045 :   ma=extr tic.'VN' MAILLAGE ;
3046 :   ms=doma $vtf 'SOMMET';
3047 :   ELIM (ma et ms) epsi ;
3048 :   tic.'VN'   =  'KCHT' $vtf   'VECT' 'SOMMET' (tic.'VN')        ;
3049 :   Sinon;
3050 :    'SI' DIM3D ;
3051 :   tic.'VN'   =  'KCHT' $vtf   'VECT' 'SOMMET' (0.0 0.0 0.0)     ;
3052 :   'SINON' ;
3053 :   tic.'VN'   =  'KCHT' $vtf   'VECT' 'SOMMET' (0.0 0.0)     ;
3054 :   'FINSI' ;
3055 :   Finsi ;
3056 : 
3057 :   Si(exist tic 'VNM');
3058 :   tic.'VNM'  =  'KCHT' $vtf   'VECT' 'SOMMET' (tic.'VNM')       ;
3059 :   Sinon;
3060 :   'SI' DIM3D ;
3061 :   tic.'VNM'   =  'KCHT' $vtf   'VECT' 'SOMMET' (0.0 0.0 0.0)     ;
3062 :   'SINON' ;
3063 :   tic.'VNM'   =  'KCHT' $vtf   'VECT' 'SOMMET' (0.0 0.0)     ;
3064 :   'FINSI' ;
3065 :   Finsi;
3066 : 
3067 :   Si(exist tic 'GDR');
3068 :   tic.'GDR'  =  'KCHT' $vtf   'VECT' 'CENTRE' (tic.'GDR')       ;
3069 :   Sinon;
3070 :   'SI' DIM3D ;
3071 :   tic.'GDR'  =  'KCHT' $vtf   'VECT' 'SOMMET' (0.0 0.0 gdrz)    ;
3072 :   'SINON' ;
3073 :   tic.'GDR'  =  'KCHT' $vtf   'VECT' 'SOMMET' (0.0 gdrz)     ;
3074 :   'FINSI' ;
3075 :   Finsi;
3076 : 
3077 :   Si(exist tic 'KDIS');
3078 :   tic.'KDIS' =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'KDIS')      ;
3079 :   Sinon;
3080 :   tic.'KDIS' =  'KCHT' $vtf   'SCAL' 'SOMMET' (1.0)             ;
3081 :   Finsi;
3082 : 
3083 :   Si(exist tic 'KGAS');
3084 :   tic.'KGAS' =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'KGAS')      ;
3085 :   Sinon;
3086 :   tic.'KGAS' =  'KCHT' $vtf   'SCAL' 'SOMMET' (1.0)             ;
3087 :   Finsi;
3088 : 
3089 :   rvn.'PASDETPS' = rv.'PASDETPS'                                ;
3090 :   rvn.inco                =  tic                                ;
3091 :   rvn.'METHINV'.TYPINV    = TBT.'TYPINV'                        ;
3092 :   rvn.'METHINV'.TYPRENU=TBT.'RENU'                              ;
3093 :   rvn.'METHINV'.IMPINV    =   TBT.'nimpr'                       ;
3094 :   rvn.'METHINV'.NITMAX    =  250                                ;
3095 :   rvn.'METHINV'.PRECOND   =    3                                ;
3096 :   rvn.'METHINV'.'FCPRECI' = FCPRECI                             ;
3097 :   rvn.'METHINV'.'FCPRECT' = FCPRECT                             ;
3098 :   rvn.'METHINV'.'CALPREC' = calprec                             ;
3099 :   rvn.'METHINV'.RESID     =    1.0e-10                          ;
3100 : 
3101 :   TBT.'RVN'               =  rvn                                ;
3102 : 
3103 : 
3104 : 
3105 : 
3106 : ********************** EQEX XD ****************************
3107 : 
3108 :   rxd = 'EQEX' 'NITER' 1 'OMEGA' 1.0 'ITMA' 0
3109 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG' 'NOCONS'
3110 :         'ZONE'  $vtf  'OPER'  'KONV' 1.0  'VN'   0.0 'INCO' 'XD'
3111 :         'OPTI' 'EFM1' 'CENTREE'
3112 :         'ZONE'  $vtf  'OPER' 'FIMP' 'SXD'            'INCO' 'XD'
3113 :         'OPTI' 'EFM1' 'CENTREE'
3114 :         'ZONE'  $vtf  'OPER' 'DFDT'  1.0 'XDM'  DTX 'INCO' 'XD'
3115 :                                                                 ;
3116 :   rxd = 'EQEX' rxd 'CLIM'
3117 :         'XD' 'TIMP' toitf  0.0
3118 :         'XD' 'TIMP' aspinj xdinj                                ;
3119 : 
3120 :   Si(exist tic 'XD');
3121 :   tic.'XD'   =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'XD')        ;
3122 :   Sinon ;
3123 :   tic.'XD'   =  'KCHT' $vtf   'SCAL' 'SOMMET' (0.0)             ;
3124 :   Finsi ;
3125 : 
3126 :   Si(exist tic 'XDM');
3127 :   tic.'XDM'  =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'XDM')       ;
3128 :   Sinon ;
3129 :   tic.'XDM'  =  'KCHT' $vtf   'SCAL' 'SOMMET' (0.0)             ;
3130 :   Finsi ;
3131 : 
3132 :   Si(exist tic 'SXD');
3133 :   tic.'SXD'  =  'KCHT' $vtf   'SCAL' 'CENTRE' (tic.'SXD')       ;
3134 :   Sinon ;
3135 :   tic.'SXD'  =  'KCHT' $vtf   'SCAL' 'CENTRE' (0.0)             ;
3136 :   Finsi ;
3137 : 
3138 :   rxd.'PASDETPS' = rv.'PASDETPS'                                ;
3139 :   rxd.inco                = tic                                 ;
3140 :   rxd.'METHINV'.TYPINV    =  TBT.'TYPINV'                       ;
3141 :   rxd.'METHINV'.TYPRENU=TBT.'RENU'                              ;
3142 :   rxd.'METHINV'.IMPINV    =   TBT.'nimpr'                       ;
3143 :   rxd.'METHINV'.NITMAX    = 250                                 ;
3144 :   rxd.'METHINV'.PRECOND   =   3                                 ;
3145 :   rxd.'METHINV'.'FCPRECI' = FCPRECI                             ;
3146 :   rxd.'METHINV'.'FCPRECT' = FCPRECT                             ;
3147 :   rxd.'METHINV'.'CALPREC' = calprec                             ;
3148 :   rxd.'METHINV'.RESID     =   1.0e-10                           ;
3149 : 
3150 :   TBT.'RXD'               = rxd                                 ;
3151 : 
3152 : ********************** EQEX DD ****************************
3153 : 
3154 :   rdd = 'EQEX' 'NITER' 1 'OMEGA' 1.0 'ITMA' 0
3155 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG'
3156 :         'ZONE' $vtf 'OPER' 'KONV' 1.0 'VN' 0.0 'INCO' 'DD'
3157 :         'OPTI' 'EFM1' 'CENTREE'
3158 :         'ZONE' $vtf 'OPER' 'FIMP' 'SDIA'       'INCO' 'DD'
3159 :         'OPTI' 'EFM1' 'CENTREE'
3160 :         'ZONE' $vtf 'OPER' 'DFDT' 1.0 'DDM' DTX 'INCO' 'DD'    ;
3161 :                                                                 ;
3162 :   rdd = 'EQEX' rdd 'CLIM'
3163 :   'DD' 'TIMP' toitf  ddinj                                      ;
3164 : 
3165 :   Si(exist tic 'DD');
3166 :   tic.'DD'   =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'DD')        ;
3167 :   Sinon;
3168 :   tic.'DD'   =  'KCHT' $vtf   'SCAL' 'SOMMET' (ddinj)           ;
3169 :   Finsi;
3170 : 
3171 :   Si(exist tic 'DDM');
3172 :   tic.'DDM'  =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'DDM')       ;
3173 :   Sinon;
3174 :   tic.'DDM'  =  'KCHT' $vtf   'SCAL' 'SOMMET' (ddinj)           ;
3175 :   Finsi;
3176 : 
3177 :   Si(exist tic 'SDIA');
3178 :   ma=extr tic.'SDIA' MAILLAGE ;
3179 :   ms=doma $vtf 'CENTRE';
3180 :   ELIM (ma et ms) epsi ;
3181 :   tic.'SDIA' =  'KCHT' $vtf   'SCAL' 'CENTRE' (tic.'SDIA')      ;
3182 :   Sinon;
3183 :   tic.'SDIA' =  'KCHT' $vtf   'SCAL' 'CENTRE' (0.0  )           ;
3184 :   Finsi;
3185 : 
3186 :   rdd.'PASDETPS' = rv.'PASDETPS'                                ;
3187 :   rdd.inco                = tic                                 ;
3188 :   rdd.'METHINV'.TYPINV    =  TBT.'TYPINV'                       ;
3189 :   rdd.'METHINV'.TYPRENU=TBT.'RENU'                              ;
3190 :   rdd.'METHINV'.IMPINV    =   TBT.'nimpr'                       ;
3191 :   rdd.'METHINV'.NITMAX    = 250                                 ;
3192 :   rdd.'METHINV'.PRECOND   =   3                                 ;
3193 :   rdd.'METHINV'.'FCPRECI' = FCPRECI                             ;
3194 :   rdd.'METHINV'.'FCPRECT' = FCPRECT                             ;
3195 :   rdd.'METHINV'.'CALPREC' = calprec                             ;
3196 :   rdd.'METHINV'.RESID     =   1.0e-10                           ;
3197 : 
3198 :   TBT.'RDD'               = rdd                                 ;
3199 : 
3200 : ********************** EQEX TD + TF ***********************
3201 : 
3202 :   rtd = 'EQEX' 'NITER' 1 'OMEGA' 1.0 'ITMA' 0
3203 :     'OPTI' TBT.'FEF' TBT.'FIMPL' 'SUPG'
3204 :    'ZONE'  $vtf  'OPER'  'TSCA' 1. 'VN' nup  0.0     'INCO' 'TD'
3205 :    'OPTI' 'EFM1' 'CENTREE'
3206 : *   'ZONE'  $vtf  'OPER' 'DFDT' 'HDIS' 'TFNM' 1.0     'INCO' 'TD'
3207 : *   'ZONE'  $vtf  'OPER' 'PENCECHI' 'HDIS' 'TFNM' 1.0     'INCO' 'TD'
3208 :    'ZONE'  $vtf  'OPER' 'PENCECHI' 'HDIS' 'TF' 1.0     'INCO' 'TD'
3209 :    'OPTI' 'EFM1' 'CENTREE'
3210 :    'ZONE'  $vtf  'OPER' 'FIMP' 'STD'                 'INCO' 'TD'
3211 :    'OPTI' 'EFM1' 'CENTREE'
3212 :    'ZONE'  $vtf  'OPER' 'DFDT'  1.0   'TDM'  DTX    'INCO' 'TD' ;
3213 :   rtd = 'EQEX' rtd CLIM
3214 :   TD TIMP aspinj tdinj                                          ;
3215 : * Utilisation de tbt par PENCECHI  
3216 :   rtd . 'TBT' = tbt ;
3217 :   
3218 :   rtf = 'EQEX' rtf
3219 :   'OPTI' 'EFM1' 'CENTREE'
3220 :   'ZONE'  $vtf  'OPER' 'PENCECHI' 'HGAS' 'TD' 1.0 'INCO' 'TF'      ;
3221 : *  'ZONE'  $vtf  'OPER' 'PENCECHI' 'HGAS' 'TDM' 1.0 'INCO' 'TF'      ;
3222 : *  'ZONE'  $vtf  'OPER' 'DFDT' 'HGAS' 'TDM' 1.0 'INCO' 'TF'      ;
3223 : * Utilisé par PENCECHI        
3224 :    rtf . 'TBT' = tbt ;
3225 : 
3226 :   Si(exist tic 'TD');
3227 :   tic.'TD'   =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'TD')        ;
3228 :   Sinon;
3229 :   tic.'TD'   =  'KCHT' $vtf   'SCAL' 'SOMMET' (tdinj)           ;
3230 :   Finsi;
3231 : 
3232 :   Si(exist tic 'TDM');
3233 :   tic.'TDM'  =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'TDM')       ;
3234 :   Sinon;
3235 :   tic.'TDM'  =  'KCHT' $vtf   'SCAL' 'SOMMET' (tdinj)           ;
3236 :   Finsi;
3237 : 
3238 :   Si(exist tic 'HDIS');
3239 :   tic.'HDIS' =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'HDIS')      ;
3240 :   Sinon;
3241 :   tic.'HDIS' =  'KCHT' $vtf   'SCAL' 'SOMMET' (0.0)             ;
3242 :   Finsi;
3243 : 
3244 :   Si(exist tic 'HGAS');
3245 :   tic.'HGAS' =  'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'HGAS')      ;
3246 :   Sinon;
3247 :   tic.'HGAS' =  'KCHT' $vtf   'SCAL' 'SOMMET' (0.0)             ;
3248 :   Finsi;
3249 : 
3250 :   Si(exist tic 'STD');
3251 :   tic.'STD'  =  'KCHT' $vtf   'SCAL' 'CENTRE' (tic.'STD')       ;
3252 :   Sinon;
3253 :   tic.'STD'  =  'KCHT' $vtf   'SCAL' 'CENTRE' (0.0)             ;
3254 :   Finsi;
3255 : 
3256 : 
3257 :   rtd.'PASDETPS' = rv.'PASDETPS'                                ;
3258 :   rtd.inco                = tic                                 ;
3259 :   rtd.'METHINV'.TYPINV    =  TBT.'TYPINV'                       ;
3260 :   rtd.'METHINV'.TYPRENU=TBT.'RENU'                              ;
3261 :   rtd.'METHINV'.IMPINV    =   TBT.'nimpr'                       ;
3262 :   rtd.'METHINV'.NITMAX    = 250                                 ;
3263 :   rtd.'METHINV'.PRECOND   =   3                                 ;
3264 :   rtd.'METHINV'.'FCPRECI' = FCPRECI                             ;
3265 :   rtd.'METHINV'.'FCPRECT' = FCPRECT                             ;
3266 :   rtd.'METHINV'.'CALPREC' = calprec                             ;
3267 :   rtd.'METHINV'.RESID     =   1.0e-10                           ;
3268 : 
3269 :   TBT.'RTD'               = rtd                                 ;
3270 : 
3271 : ********************** EQEX RVP + RHO *********************
3272 : 
3273 :   Rrvap = 'EQEX' Rrvap
3274 :           'OPTI' 'EFM1' 'CENTREE'
3275 :           'ZONE'  $vtf  'OPER' 'FIMP' 'SRVP' 'INCO' 'RVP'       ;
3276 : 
3277 : 
3278 :   Si(exist tic 'SRVP');
3279 :   tic.'SRVP' =  'KCHT' $vtf   'SCAL' 'CENTRE' (tic.'SRVP')      ;
3280 :   Sinon;
3281 :   tic.'SRVP' =  'KCHT' $vtf   'SCAL' 'CENTRE' (0.0)             ;
3282 :   Finsi;
3283 : 
3284 : 'FINSI'                                                         ;
3285 : 
3286 : *-------------------------------------------------------------
3287 : * FIN DE LA DISCRETISATION DES EQUATIONS EQEX
3288 : *-------------------------------------------------------------
3289 : 
3290 : mess ' ==> VERIFICATION COMPATIBILITE INITIALISATION  <==     ' ;
3291 : *************************************
3292 : **** initialisations temporaires ****
3293 : *************************************
3294 : 
3295 :  Si(non(exist tic 'NUPADT'));
3296 :  tic.'NUPADT'=0 ;
3297 :  Finsi;
3298 : 
3299 : * A/ Suivi temporel
3300 : *------------------
3301 : * LTPS  : liste des temps calcules (s)
3302 : * LMAXU : module maximum de la vitesse (m/s)
3303 : * Rhom : densite du mélange (kg/m3)
3304 : * Rhomv : densite de vapeur dans le mélange (kg/m3)    (Si VAPEUR VRAI)
3305 : * Rhomvg: densite de vapeur + brouillard dans le mélange (kg/m3)
3306 : *
3307 : * Rhomhe: densite de helium dans le mélange (kg/m3)    (Si THE    VRAI)
3308 : * Rhomh2: densite de h2     dans le mélange (kg/m3)    (Si TH2    VRAI)
3309 : * Rhomo2: densite de o2     dans le mélange (kg/m3)    (Si TO2    VRAI)
3310 : * Rhomn2: densite de n2     dans le mélange (kg/m3)    (Si Tn2    VRAI)
3311 : * Rhomco: densite de CO     dans le mélange (kg/m3)    (Si Tco    VRAI)
3312 : * Rhomco2 : densite de CO2 dans le mélange (kg/m3)     (Si Tco2   VRAI)
3313 : * Rhomco2 : densite de l'air dans le mélange (kg/m3)
3314 : * Tfm : temperature moyenne du fluide (Celsius)
3315 : * Tpm : Température moyenne paroi (Celsius)            (Si THERMP VRAI)
3316 : * Tpcm: Température ???           (Celsius)            (Si TTIMP  VRAI)
3317 : * Qc : debit de condensation total (kg/s)   (masse et paroi)
3318 : * Econd : energie extraite par condensation (J/m3)
3319 : * Hcond : enthalpie extraite par condensation (J/m3)
3320 : * Econv : energie de convection (J/m3)
3321 : * Easpe : energie extraite par l'aspersion (J/m3)      (Si ASPER  VRAI)
3322 : * Haspe : enthalpie extraite par l'aspersion (J/m3)    (Si ASPER  VRAI)
3323 : * Qaspe : debit aspersion  (kg/s)                      (Si ASPER  VRAI)
3324 : * Remn : énergie interne spécifique du mélange (J/m3)
3325 : * Rgpm : constante de gaz parfaits du mélange (J/kg/K)
3326 : * Cvm Cpm Gamm : capacite calorifique du mélange (J/kg/K) et rapport
3327 : * Roj : densite a l'injection (kg/m3)
3328 : * Ltbpi : température imposée (TTIMP) stoké dans rxt.'TIMP'.'TIMPI'
3329 : * Ltbp1 : température imposée (TTIMP1)
3330 : * Ltbp2 : température imposée (TTIMP2)
3331 : * Ltbp3 : température imposée (TTIMP3)
3332 : * Ltbp0 : température moyenne définie par l'utilisateur (TECHANP)
3333 : 
3334 :  ndli=(dime tic.'LTPS')                                         ;
3335 : 
3336 : 
3337 : * Calcul de la masse initiale
3338 :  REm0        = Rho0 '*' Cvm '*' (Tf0 '+' 273.15)               ;
3339 :  Mrest       = Rvap0 * Vtotal                                  ;
3340 : 
3341 : * Calcul de Econv initial
3342 : Econvw = 0.0                                             ;
3343 : Econv1 = 0.0                                             ;
3344 : Econv2 = 0.0                                             ;
3345 : Econv3 = 0.0                                             ;
3346 : Econv0 = 0.0                                             ;
3347 : 
3348 : Ltbp1 = 0.0 ; Ltbp2 = 0.0 ; Ltbp3 = 0.0 ; Ltbp0 = 0.0 ;
3349 : 
3350 : 'SI'((TBT.'THERMP') et (TBT.'TPAROIF'));
3351 : * Energie extraite du gaz par convection
3352 :    Tfpw        = rxt.'TF0'           ;
3353 :    Tbpw        = rxt.'Tp0'           ;
3354 :    Hconvw      = rxt.'ECHAN'         ;
3355 :    Surfw       = GEO.'Sparoif'       ;
3356 :    Econvw      = Hconvw '*' (Tfpw '-' Tbpw) '*' Surfw  ;
3357 : *Mess '!!!!!!!!' ;
3358 : *Mess ' Bizarre Bizarre Econvw n est valable qu ŕ l initialisation';
3359 : *Mess '!!!!!!!!' ;
3360 : 'FINSI'                                                ;
3361 : 
3362 :    Econvi=0.                                             ;
3363 : 'SI' TTIMP                                               ;
3364 :    NBTIMP=dime (rxt.'TIMP')                              ;
3365 :    itimp=INDEX (rxt.'TIMP')                              ;
3366 :   REPETER BBTIMP NBTIMP                                  ;
3367 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
3368 : * Energie extraite du gaz par convection
3369 :    Tfpi        = rxt.'TF0'                  ;
3370 :    Ltbpi       = EXTR Btimp.'TIMP' 1        ;
3371 :    Btimp.'Ltbpi'=Btimp.'Ltbpi' et (Prog Ltbpi);
3372 :    Hconvi      = Btimp.'ECHAN'              ;
3373 :    Surfi       = Btimp.'Smtpi'              ;
3374 :    Econvi      = Econvi +
3375 :   (Hconvi '*' (Tfpi '-' Ltbpi) '*' Surfi)   ;
3376 :   FIN BBTIMP                                             ;
3377 : 'FINSI'                                                  ;
3378 : 
3379 : 'SI' TBT.'TTIMP1'                           ;
3380 : * Energie extraite du gaz par convection
3381 :    Tfp1        = rxt.'TF0'                  ;
3382 :    Ltbp1       = EXTR rxt.'TIMP1'.'TIMP' 1  ;
3383 :    Hconv1      = rxt.'TIMP1'.'ECHAN'        ;
3384 :    Surf1       = GEO.'Smtp1'                ;
3385 :    Econv1      = Hconv1 '*' (Tfp1 '-' Ltbp1) '*' Surf1   ;
3386 : 'FINSI'                                                  ;
3387 : 
3388 : 'SI' TBT.'TTIMP2'                           ;
3389 : * Energie extraite du gaz par convection
3390 :    Tfp2        = rxt.'TF0'                  ;
3391 :    Ltbp2       = EXTR rxt.'TIMP2'.'TIMP' 1  ;
3392 :    Hconv2      = rxt.'TIMP2'.'ECHAN'        ;
3393 :    Surf2       = GEO.'Smtp2'                ;
3394 :    Econv2      = Hconv2 '*' (Tfp2 '-' Ltbp2) '*' Surf2   ;
3395 : 'FINSI'                                                  ;
3396 : 
3397 : 'SI' TBT.'TTIMP3'                           ;
3398 : * Energie extraite du gaz par convection
3399 :    Tfp3        = rxt.'TF0'                  ;
3400 :    Ltbp3       = EXTR rxt.'TIMP3'.'TIMP' 1  ;
3401 :    Hconv3      = rxt.'TIMP3'.'ECHAN'        ;
3402 :    Surf3       = GEO.'Smtp3'                ;
3403 :    Econv3      = Hconv3 '*' (Tfp3 '-' Ltbp3) '*' Surf3   ;
3404 : 'FINSI'                                                  ;
3405 : 
3406 : 'SI' TBT.'TECHANP'                          ;
3407 : * Energie extraite du gaz par convection
3408 :    Tfp0        = rxt.'TF0'                  ;
3409 :    Ltbp0       = rxt.'ECHANP'.'TMUR'        ;
3410 :    Hconv0      = rxt.'ECHANP'.'ECHAN'       ;
3411 :    Surf0       = GEO.'Smtp0'                ;
3412 :    Econv0      = Hconv0 '*' (Tfp0 '-' Ltbp0) '*' Surf0   ;
3413 : 'FINSI'                                                  ;
3414 : 
3415 :    Econv = Econvw '+' Econvi '+'
3416 :            Econv1 '+' Econv2 '+' Econv3 '+' Econv0 ;
3417 : *MESS 'Econv = ' Econv ;
3418 : 
3419 : * Identification des LISTREELs
3420 : tic.'Lg0D'= tic.'Lg0D'
3421 : et   ('MOTS'  'LMAX' 'U   ' 'Rhom' '    ' 'Rhom' 'v   ' 'Rhom' 'he  '
3422 : 'Rhom' 'h2  ' 'Rhom' 'o2  ' 'Rhom' 'n2  ' 'Rhom' 'co  ' 'Rhom' 'co2 '
3423 : 'Rhom' 'air ' 'Rhom' 'vg  '
3424 : 'Tfm ' '    ' 'Tpm ' '    ' 'Qc  ' '    ' 'Econ' 'd   ' 'Hcon' 'd   '
3425 : 'Econ' 'v   ' 'Easp' 'e   ' 'Hasp' 'e   ' 'Qasp' 'e   ' 'Remn' '    '
3426 : 'Rgpm' '    ' 'Cvm ' '    ' 'Gamm' '    ' 'Cpm ' '    ' 'PT  ' '    '
3427 : );
3428 : tic.'Lg0D'=tic.'Lg0D' et ('MOTS'
3429 : 'dPdt' '    ' 'guj ' '    ' 'guj2' '    ' 'Qj  ' '    ' 'Qj2 ' '    '
3430 : 'Ksi ' '    ' 'Ksi2' '    ' 'Ksi3' '    '
3431 : 'Minj' '    ' 'Mcon' 'd   ' 'Mres' 't   ' 'Hj  ' '    ' 'Ej  ' '    '
3432 : 'Hj2 ' '    ' 'Ej2 ' '    ' 'guj3' '    ' 'Qj3 ' '    ' 'Hj3 ' '    '
3433 : 'Ej3 ' '    ' 'Ltbp' '1   ' 'Ltbp' '2   ' 'Ltbp' '3   ' 'Rliq' 'm   '
3434 : 'Rbro' 'm   ' 'Qlj ' '    ' 'Qlj2' '    ' 'Qlj3' '    ' 'Hlj ' '    '
3435 : 'Hlj2' '    ' 'Hlj3' '    ' 'Mliq' 'puis' 'Hliq' 'puis' '    ' '    ');
3436 : tic.'Lg0D'=tic.'Lg0D' et ('MOTS'
3437 : 'Qlj ' '    ' 'Qlj2' '    ' 'Qlj3' '    ' 'Hlj ' '    ' 'Hlj2' '    '
3438 : 'Hlj3' '    ' 'Tinj' '    ' 'Tinj' '2   ' 'Tinj' '3   ' '    ' '    '
3439 : );
3440 : 
3441 : * Valeur d'initialisation par défaut
3442 : tic.'Li0D'= tic.'Li0D'
3443 : et   ('PROG'   0.            Rho0          Rvap0         Rhe0
3444 :  Rh20          Ro20          Rn20          Rco0          Rco20
3445 :  Rair0         Rvap0
3446 :  Tf0           Tpm0          0.            0.            0.
3447 :  Econv         0.            0.            0.            REm0
3448 :  Rgpm          Cvm           Gamm          Cpm           PT0
3449 : );
3450 : tic.'Li0D'=tic.'Li0D' et ('PROG'
3451 :  0.            0.            0.            0.            0.
3452 :  1.            1.            1.
3453 :  0.            0.            Mrest         0.            0.
3454 :  0.            0.            0.            0.            0.
3455 :  0.            Ltbp1         Ltbp2         Ltbp3         0.
3456 :  0.            0.            0.            0.            0.
3457 :  0.            0.            0.            0.            0. );
3458 : tic.'Li0D'=tic.'Li0D' et ('PROG'
3459 :  0.            0.            0.            0.            0.
3460 :  0.            0.            0.            0.            0. );
3461 : 
3462 : * L'ajustement se fait ŕ la fin du paragraphe B/ apres
3463 : * avoir complété le tableau Lg0D (voir Ajustement)
3464 : 
3465 : * Modif. FP 19/05/00
3466 :  'SI' (TBT.'CONDMAS');
3467 : * Rliqm : Densité moyenne (rapportée au volume) du liquide
3468 :     'SI' ('NON' ('EXISTE' tic 'Rliqm'));
3469 :        tic.'Rliqm' = 'PROG' ndli * 0.;
3470 :     'FINSI';
3471 :     'SI' ('NON' ('EXISTE' tic 'Rbrom'));
3472 :        tic.'Rbrom' = 'PROG' ndli * 0.;
3473 :     'FINSI';
3474 :  'FINSI';
3475 : 
3476 :  Roj         = Rho0                                            ;
3477 : 
3478 : * PT : pression totale (Pa)
3479 : * dPdt : variation temporelle de la pression (J/m3/s)
3480 : * guj : vitesse injection (m/s) 1čre brčche
3481 : * guj2: vitesse injection (m/s) 2čme brčche
3482 : * Minj : masse totale injectee (kg)
3483 : * Mcond : masse totale condensee (kg)
3484 : * Mrest : masse de vapeur restante dans l'enceinte (kg)
3485 : * Hj : enthalpie injection (J/Kg)
3486 : * Ej : energie interne injection (J/Kg)
3487 : * Emur : energie stockee dans le mur (J/Kg)
3488 : 
3489 : 
3490 :  'SI' TBT.'THERMP'                                            ;
3491 :       Emur0 = rxt.'ROCP' * (rxt.'Tp0' + 273.15)           ;
3492 :       Si(non(exist tic 'Emur'));
3493 :       tic.'Emur' = 'PROG' ndli * Emur0                        ;
3494 :       Finsi;
3495 :  'FINSI'                                                      ;
3496 : *
3497 : *
3498 : *------------------------------------------------------------
3499 : * Sauvegarde des corrections pour bilan 0D : on garde la cor-
3500 : * rection si 0D ou le max et le min si multiD
3501 : * Sur les especes : c'est MultiD
3502 : * Sur Rho : c'est 0D
3503 : * Sur Tf : c'est MultiD
3504 :  tic.'drho' = 'PROG' ndli * 0.0                               ;
3505 :  tic.'MdTf' = 'PROG' ndli * 0.0                               ;
3506 :  tic.'mdTf' = 'PROG' ndli * 0.0                               ;
3507 :  'SI' TBT.'VAPEUR'                                            ;
3508 :  tic.'Mdrvap' = 'PROG' ndli * 0.0                             ;
3509 :  'FINSI'                                                      ;
3510 :  'SI' TBT.'THE'                                               ;
3511 :  tic.'Mdrhe' = 'PROG' ndli * 0.0                              ;
3512 :  'FINSI'                                                      ;
3513 :  'SI' TBT.'TH2'                                               ;
3514 :  tic.'Mdrh2' = 'PROG' ndli * 0.0                              ;
3515 :  'FINSI'                                                      ;
3516 :  'SI' TBT.'TO2'                                               ;
3517 :  tic.'Mdro2' = 'PROG' ndli * 0.0                              ;
3518 :  'FINSI'                                                      ;
3519 :  'SI' TBT.'TN2'                                               ;
3520 :  tic.'Mdrn2' = 'PROG' ndli * 0.0                              ;
3521 :  'FINSI'                                                      ;
3522 :  'SI' TBT.'TCO'                                               ;
3523 :  tic.'Mdrco' = 'PROG' ndli * 0.0                              ;
3524 :  'FINSI'                                                      ;
3525 :  'SI' TBT.'TCO2'                                              ;
3526 :  tic.'Mdrco2' = 'PROG' ndli * 0.0                             ;
3527 :  'FINSI'                                                      ;
3528 : *Il y a toujours de l'air
3529 :  tic.'Mdrair' = 'PROG' ndli * 0.0                             ;
3530 : *------------------------------------------------------------
3531 : * B/ CHPOINT
3532 : *-----------
3533 : 
3534 :  'SI' TBT.'THERMP'                                           ;
3535 :       Si(exist tic 'TP')                                     ;
3536 :       ma=extr tic.'TP' MAILLAGE                              ;
3537 :       ms=doma GEO.'$vtp' 'SOMMET'                            ;
3538 :       ELIM (ma et ms) epsi                                   ;
3539 :       tic.'TP' = 'KCHT' GEO.'$vtp' 'SCAL' 'SOMMET' (tic.'TP');
3540 :       Sinon                                                  ;
3541 :       tic.'TP' = 'KCHT' GEO.'$vtp' 'SCAL' 'SOMMET' tp0       ;
3542 :       Finsi                                                  ;
3543 : 
3544 :       Si(exist tic 'TPNM');
3545 :       tic.'TPNM' = 'KCHT' GEO.'$vtp' 'SCAL' 'SOMMET' (tic.'TPNM');
3546 :       Sinon ;
3547 :       tic.'TPNM' = 'KCHT' GEO.'$vtp' 'SCAL' 'SOMMET' tp0         ;
3548 :       Finsi ;
3549 : 
3550 :  'FINSI'                                                     ;
3551 : 
3552 :  Si(exist tic 'TF');
3553 :  tic.'TF'    = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'TF')      ;
3554 :  Sinon ;
3555 :  tic.'TF'    = 'KCHT' $vtf   'SCAL' 'SOMMET' tf0             ;
3556 :  Finsi ;
3557 : 
3558 :  Si(exist tic 'TFNM');
3559 :  tic.'TFNM'  = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'TFNM')    ;
3560 :  Sinon ;
3561 :  tic.'TFNM'  = 'KCHT' $vtf   'SCAL' 'SOMMET' tf0             ;                  
3562 :  Finsi ;
3563 : 
3564 :  Si(exist tic 'RHO');
3565 :  tic.'RHO'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RHO')     ;
3566 :  Sinon ;
3567 :  tic.'RHO'   = 'KCHT' $vtf   'SCAL' 'SOMMET' rho0            ;
3568 :  Finsi ;
3569 : 
3570 :  Si(exist tic 'RHONM');
3571 :  tic.'RHONM' = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RHONM')   ;
3572 :  Sinon ;
3573 :  tic.'RHONM' = 'KCHT' $vtf   'SCAL' 'SOMMET' rho0            ;
3574 :  Finsi ;
3575 : 
3576 : * Cas avec Fonctions de PAROI
3577 :  'SI' TBT.'FPAROI'                                           ;
3578 :  Si(exist tic 'UET');
3579 :  tic.'UET' = 'KCHT' (GEO.'$menvfU') 'SCAL'
3580 :                                     (TBT.'SPGNU') (tic.'UET');
3581 :  Sinon ;
3582 :  tic.'UET' = 'KCHT' (GEO.'$menvfU') 'SCAL' (TBT.'SPGNU') 1.e-5;
3583 :  Finsi ;
3584 :  'FINSI'                                                     ;
3585 : 
3586 : * Cas avec Vapeur donc eventuellement condensation
3587 :  'SI' TBT.'VAPEUR'                                           ;
3588 :    Si(exist tic 'RVP')                                       ;
3589 :    tic.'RVP'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RVP')   ;
3590 :    Sinon                                                     ;
3591 :    tic.'RVP'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Rvap0         ;
3592 :    Finsi                                                     ;
3593 : 
3594 :    Si(exist tic 'ROVP')                                      ;
3595 :    tic.'ROVP'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'ROVP') ;
3596 :    Sinon                                                     ;
3597 :    tic.'ROVP'   = tic.'RVP'                                  ;
3598 :    Finsi                                                     ;
3599 : 
3600 :    Si(exist tic 'RVPNM')                                     ;
3601 :    tic.'RVPNM' = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RVPNM') ;
3602 :    Sinon                                                     ;
3603 :    tic.'RVPNM' = 'KCHT' $vtf   'SCAL' 'SOMMET' Rvap0         ;
3604 :    Finsi                                                     ;
3605 : 
3606 :    Si(exist tic 'YVAP')                                      ;
3607 :    tic.'YVAP'  = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'YVAP')  ;
3608 :    Sinon                                                     ;
3609 :    tic.'YVAP'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Yvap0         ;
3610 :    Finsi                                                     ;
3611 :  'FINSI'                                                     ;
3612 : 
3613 :  'SI' TBT.'TPAROIF'                                          ;
3614 :   Si (exist tic 'KKCW')                                      ;
3615 :    ma=extr tic.'KKCW' MAILLAGE                               ;
3616 :    ms=doma GEO.'$paroif' 'CENTRE'                            ;
3617 :    ELIM (ma et ms) GEO.'epsi'                                ;
3618 :    tic.'KKCW' = 'KCHT' GEO.'$paroif' 'SCAL' 'CENTRE' (tic.'KKCW') ;
3619 :   Sinon ;
3620 :    tic.'KKCW' = 'KCHT' GEO.'$paroif' 'SCAL' 'CENTRE' 0.      ;
3621 :   Finsi                                                      ;
3622 : 
3623 :    'SI' TBT.'VAPEUR'                                         ;
3624 :      Si (exist tic 'ROVIW')                                  ;
3625 :       ma=extr tic.'ROVIW'  MAILLAGE                          ;
3626 :       ms=doma GEO.'$paroif' 'SOMMET'                         ;
3627 :       ELIM (ma et ms) GEO.'epsi'                             ;
3628 :    tic.'ROVIW' = 'KCHT' GEO.'$paroif' 'SCAL' 'SOMMET' (tic.'ROVIW') ;
3629 :      Sinon                                                   ;
3630 :    tic.'ROVIW' = 'KCHT' GEO.'$paroif' 'SCAL' 'SOMMET'
3631 :                               ('REDU' tic.'RVP' GEO.'paroif');
3632 :      Finsi                                                   ;
3633 :    'FINSI'                                                   ;
3634 : 
3635 :   Si (exist tic 'FHPW')                                      ;
3636 :    tic.'FHPW' = 'KCHT' GEO.'$paroif' 'SCAL' 'CENTRE' (tic.'FHPW') ;
3637 :   Sinon ;
3638 :    tic.'FHPW' = 'KCHT' GEO.'$paroif' 'SCAL' 'CENTRE' 0.      ;
3639 :   Finsi                                                      ;
3640 : 
3641 :   tic.'Lg0D'=tic.'Lg0D' et ('MOTS' 'Mcon' 'dw  ' 'Qcw ' '    ');
3642 :   tic.'Li0D'=tic.'Li0D' et ('PROG'  0.            0.          );
3643 : 
3644 :  'FINSI'                                                     ;
3645 : 
3646 :   tic.'Lg0D'=tic.'Lg0D' et ('MOTS' 'Mcon' 'dm  ' 'Qcm ' '    ');
3647 :   tic.'Li0D'=tic.'Li0D' et ('PROG'  0.            0.          );
3648 : 
3649 : 
3650 :  'SI' TTIMP                                                  ;
3651 :    NBTIMP=dime (rxt.'TIMP')                              ;
3652 :    itimp=INDEX (rxt.'TIMP')                              ;
3653 :   REPETER BBTIMP NBTIMP                                  ;
3654 :    Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                      ;
3655 : 
3656 :    CKKC1=Btimp.'KKC1'                                    ;
3657 :   Si (exist tic CKKC1)                                   ;
3658 :    ma=extr (tic.CKKC1) MAILLAGE                          ;
3659 :    ms=doma Btimp.'$mtpi' 'CENTRE'                        ;
3660 :    ELIM (ma et ms) GEO.'epsi'                            ;
3661 :    tic.CKKC1 = 'KCHT' Btimp.'$mtpi' 'SCAL' 'CENTRE' (tic.CKKC1);
3662 :   Sinon ;
3663 :    tic.CKKC1='KCHT' Btimp.'$mtpi' 'SCAL' 'CENTRE' 0.     ;
3664 :   Finsi                                                  ;
3665 : 
3666 :    CKH1=Btimp.'KH1'                                          ;
3667 :   Si (exist tic CKH1)                                        ;
3668 :    ma=extr (tic.CKH1) MAILLAGE                               ;
3669 :    ms=doma Btimp.'$mtpi' 'CENTRE'                            ;
3670 :    ELIM (ma et ms) GEO.'epsi'                                ;
3671 :    tic.CKH1 = 'KCHT' Btimp.'$mtpi' 'SCAL' 'CENTRE' (tic.CKH1);
3672 :   Sinon ;
3673 :    tic.CKH1 = 'KCHT' Btimp.'$mtpi'   'SCAL' 'CENTRE' 0.      ;
3674 :   Finsi                                                      ;
3675 : 
3676 :    'SI' TBT.'VAPEUR'                                         ;
3677 :    CROVI1=Btimp.'ROVI1'                                  ;
3678 :   Si (exist tic CROVI1)                                      ;
3679 :    ma=extr (tic.CROVI1)  MAILLAGE                            ;
3680 :    ms=doma Btimp.'$mtpi'   'SOMMET'                          ;
3681 :    ELIM (ma et ms) GEO.'epsi'                                ;
3682 :    tic.CROVI1='KCHT' Btimp.'$mtpi' 'SCAL' 'SOMMET' (tic.CROVI1);
3683 :   Sinon ;
3684 :    tic.CROVI1= 'KCHT' Btimp.'$mtpi'   'SCAL' 'SOMMET'
3685 :                               ('REDU' tic.'RVP' Btimp.'mtpi');
3686 :   Finsi                                                      ;
3687 :    'FINSI'                                                   ;
3688 :   CQc1=chai 'Qc1' &BBTIMP                                    ;
3689 :   CMcond1=chai 'Mcond1' &BBTIMP                              ;
3690 :   tic.CQc1=Prog 0.                                           ;
3691 :   tic.CMcond1=Prog 0.                                        ;
3692 : 
3693 :   CFHP1=Btimp.'FHP1'                                         ;
3694 :   Si (exist tic CFHP1)                                       ;
3695 :    tic.CFHP1 = 'KCHT' Btimp.'$mtpi' 'SCAL' 'CENTRE' (tic.CFHP1);
3696 :   Sinon ;
3697 :    tic.CFHP1 = 'KCHT' Btimp.'$mtpi'   'SCAL' 'CENTRE' 0.     ;
3698 :   Finsi                                                      ;
3699 : 
3700 : 
3701 : *?tic.'Lg0D'=tic.'Lg0D' et ('MOTS' 'Mcon' 'd1  ' 'Qc1 ' '    ');
3702 : *?tic.'Li0D'=tic.'Li0D' et ('PROG'  0.            0.          );
3703 : 
3704 :    FIN BBTIMP                                                ;
3705 :  'FINSI'                                                     ;
3706 : 
3707 :  'SI' TBT.'TTIMP1'                                           ;
3708 :    CKKC1 ='KKC1'                                             ;
3709 :   Si (exist tic CKKC1)                                       ;
3710 :    ma=extr (tic.CKKC1) MAILLAGE                              ;
3711 :    ms=doma GEO.'$mtp1' 'CENTRE'                              ;
3712 :    ELIM (ma et ms) GEO.'epsi'                                ;
3713 :    tic.CKKC1 = 'KCHT' GEO.'$mtp1'   'SCAL' 'CENTRE' (tic.CKKC1) ;
3714 :   Sinon ;
3715 :    tic.CKKC1 = 'KCHT' GEO.'$mtp1'   'SCAL' 'CENTRE' 0.      ;
3716 :   Finsi                                                      ;
3717 : 
3718 :   Si (exist tic 'KH1')                                       ;
3719 :    ma=extr tic.'KH1' MAILLAGE                                ;
3720 :    ms=doma GEO.'$mtp1' 'CENTRE'                              ;
3721 :    ELIM (ma et ms) GEO.'epsi'                                ;
3722 :    tic.'KH1' = 'KCHT' GEO.'$mtp1' 'SCAL' 'CENTRE' (tic.'KH1');
3723 :   Sinon ;
3724 :    tic.'KH1' = 'KCHT' GEO.'$mtp1'   'SCAL' 'CENTRE' 0.       ;
3725 :   Finsi                                                      ;
3726 : 
3727 :    'SI' TBT.'VAPEUR'                                         ;
3728 :    CROVI1='ROVI1'                                            ;
3729 :   Si (exist tic CROVI1)                                      ;
3730 :    ma=extr tic.CROVI1  MAILLAGE                              ;
3731 :    ms=doma GEO.'$mtp1'   'SOMMET'                            ;
3732 :    ELIM (ma et ms) GEO.'epsi'                                ;
3733 :    tic.CROVI1 = 'KCHT' GEO.'$mtp1'   'SCAL' 'SOMMET' (tic.CROVI1) ;
3734 :   Sinon ;
3735 :    tic.CROVI1 = 'KCHT' GEO.'$mtp1'   'SCAL' 'SOMMET'
3736 :                               ('REDU' tic.'RVP' GEO.'mtp1'  );
3737 :   Finsi                                                      ;
3738 :    'FINSI'                                                   ;
3739 : 
3740 :   Si (exist tic 'FHP1')                                      ;
3741 :    tic.'FHP1' = 'KCHT' GEO.'$mtp1'   'SCAL' 'CENTRE' (tic.'FHP1') ;
3742 :   Sinon ;
3743 :    tic.'FHP1' = 'KCHT' GEO.'$mtp1'   'SCAL' 'CENTRE' 0.      ;
3744 :   Finsi                                                      ;
3745 : 
3746 :   tic.'Lg0D'=tic.'Lg0D' et ('MOTS' 'Mcon' 'd1  ' 'Qc1 ' '    ');
3747 :   tic.'Li0D'=tic.'Li0D' et ('PROG'  0.            0.          );
3748 : 
3749 :  'FINSI'                                                     ;
3750 : 
3751 :  'SI' TBT.'TTIMP2'                                           ;
3752 :   Si (exist tic 'KKC2')                                      ;
3753 :    ma=extr tic.'KKC2' MAILLAGE                               ;
3754 :    ms=doma GEO.'$mtp2' 'CENTRE'                              ;
3755 :    ELIM (ma et ms) GEO.'epsi'                                ;
3756 :    tic.'KKC2' = 'KCHT' GEO.'$mtp2'   'SCAL' 'CENTRE' (tic.'KKC2') ;
3757 :   Sinon ;
3758 :    tic.'KKC2' = 'KCHT' GEO.'$mtp2'   'SCAL' 'CENTRE' 0.      ;
3759 :   Finsi                                                      ;
3760 : 
3761 :   Si (exist tic 'KH2')                                       ;
3762 :    ma=extr tic.'KH2' MAILLAGE                                ;
3763 :    ms=doma GEO.'$mtp2' 'CENTRE'                              ;
3764 :    ELIM (ma et ms) GEO.'epsi'                                ;
3765 :    tic.'KH2' = 'KCHT' GEO.'$mtp2' 'SCAL' 'CENTRE' (tic.'KH2');
3766 :   Sinon ;
3767 :    tic.'KH2' = 'KCHT' GEO.'$mtp2'   'SCAL' 'CENTRE' 0.       ;
3768 :   Finsi                                                      ;
3769 : 
3770 :    'SI' TBT.'VAPEUR'                                         ;
3771 :   Si (exist tic 'ROVI2')                                     ;
3772 :    ma=extr tic.'ROVI2'  MAILLAGE                             ;
3773 :    ms=doma GEO.'$mtp2'   'SOMMET'                            ;
3774 :    ELIM (ma et ms) GEO.'epsi'                                ;
3775 :    tic.'ROVI2' = 'KCHT' GEO.'$mtp2'   'SCAL' 'SOMMET' (tic.'ROVI2') ;
3776 :   Sinon ;
3777 :    tic.'ROVI2' = 'KCHT' GEO.'$mtp2'   'SCAL' 'SOMMET'
3778 :                               ('REDU' tic.'RVP' GEO.'mtp2'  );
3779 :   Finsi                                                      ;
3780 :    'FINSI'                                                   ;
3781 : 
3782 :   Si (exist tic 'FHP2')                                      ;
3783 :    tic.'FHP2' = 'KCHT' GEO.'$mtp2'   'SCAL' 'CENTRE' (tic.'FHP2') ;
3784 :   Sinon ;
3785 :    tic.'FHP2' = 'KCHT' GEO.'$mtp2'   'SCAL' 'CENTRE' 0.      ;
3786 :   Finsi                                                      ;
3787 : 
3788 :   tic.'Lg0D'=tic.'Lg0D' et ('MOTS' 'Mcon' 'd2  ' 'Qc2 ' '    ');
3789 :   tic.'Li0D'=tic.'Li0D' et ('PROG'  0.            0.          );
3790 : 
3791 :  'FINSI'                                                     ;
3792 : 
3793 :  'SI' TBT.'TTIMP3'                                           ;
3794 :   Si (exist tic 'KKC3')                                      ;
3795 :    ma=extr tic.'KKC3' MAILLAGE                               ;
3796 :    ms=doma GEO.'$mtp3' 'CENTRE'                              ;
3797 :    ELIM (ma et ms) GEO.'epsi'                                ;
3798 :    tic.'KKC3' = 'KCHT' GEO.'$mtp3' 'SCAL' 'CENTRE' (tic.'KKC3');
3799 :   Sinon ;
3800 :    tic.'KKC3' = 'KCHT' GEO.'$mtp3'   'SCAL' 'CENTRE' 0.      ;
3801 :   Finsi                                                      ;
3802 : 
3803 :   Si (exist tic 'KH3')                                       ;
3804 :    ma=extr tic.'KH3' MAILLAGE                                ;
3805 :    ms=doma GEO.'$mtp3' 'CENTRE'                              ;
3806 :    ELIM (ma et ms) GEO.'epsi'                                ;
3807 :    tic.'KH3' = 'KCHT' GEO.'$mtp3' 'SCAL' 'CENTRE' (tic.'KH3');
3808 :   Sinon ;
3809 :    tic.'KH3' = 'KCHT' GEO.'$mtp3'   'SCAL' 'CENTRE' 0.       ;
3810 :   Finsi                                                      ;
3811 : 
3812 :    'SI' TBT.'VAPEUR'                                         ;
3813 :   Si (exist tic 'ROVI3')                                     ;
3814 :    ma=extr tic.'ROVI3'  MAILLAGE                             ;
3815 :    ms=doma GEO.'$mtp3'   'SOMMET'                            ;
3816 :    ELIM (ma et ms) GEO.'epsi'                                ;
3817 :    tic.'ROVI3' = 'KCHT' GEO.'$mtp3'   'SCAL' 'SOMMET' (tic.'ROVI3') ;
3818 :   Sinon ;
3819 :    tic.'ROVI3' = 'KCHT' GEO.'$mtp3'   'SCAL' 'SOMMET'
3820 :                               ('REDU' tic.'RVP' GEO.'mtp3'  );
3821 :   Finsi                                                      ;
3822 :    'FINSI'                                                   ;
3823 : 
3824 :   Si (exist tic 'FHP3')                                      ;
3825 :    tic.'FHP3' = 'KCHT' GEO.'$mtp3'   'SCAL' 'CENTRE' (tic.'FHP3') ;
3826 :   Sinon ;
3827 :    tic.'FHP3' = 'KCHT' GEO.'$mtp3'   'SCAL' 'CENTRE' 0.      ;
3828 :   Finsi                                                      ;
3829 : 
3830 :   tic.'Lg0D'=tic.'Lg0D' et ('MOTS' 'Mcon' 'd3  ' 'Qc3 ' '    ');
3831 :   tic.'Li0D'=tic.'Li0D' et ('PROG'  0.            0.          );
3832 : 
3833 :  'FINSI'                                                     ;
3834 : * Fin Cas avec Vapeur donc eventuellement condensation
3835 : 
3836 :  'SI' TBT.'TECHANP'                                          ;
3837 :   Si (exist tic 'KKC0')                                      ;
3838 :    ma=extr tic.'KKC0' MAILLAGE                               ;
3839 :    ms=doma GEO.'$mtp0' 'CENTRE'                              ;
3840 :    ELIM (ma et ms) GEO.'epsi'                                ;
3841 :    tic.'KKC0' = 'KCHT' GEO.'$mtp0' 'SCAL' 'CENTRE' (tic.'KKC0');
3842 :   Sinon ;
3843 :    tic.'KKC0' = 'KCHT' GEO.'$mtp0'   'SCAL' 'CENTRE' 0.      ;
3844 :   Finsi                                                      ;
3845 : 
3846 :   Si (exist tic 'KH0')                                       ;
3847 :    ma=extr tic.'KH0' MAILLAGE                                ;
3848 :    ms=doma GEO.'$mtp0' 'CENTRE'                              ;
3849 :    ELIM (ma et ms) GEO.'epsi'                                ;
3850 :    tic.'KH0' = 'KCHT' GEO.'$mtp0' 'SCAL' 'CENTRE' (tic.'KH0');
3851 :   Sinon ;
3852 :    tic.'KH0' = 'KCHT' GEO.'$mtp0'   'SCAL' 'CENTRE' 
3853 :                                      (rxt.'ECHANP'.'ECHAN')  ;
3854 :   Finsi                                                      ;
3855 : 
3856 :    'SI' TBT.'VAPEUR'                                         ;
3857 :   Si (exist tic 'ROVI0')                                     ;
3858 :    ma=extr tic.'ROVI0'  MAILLAGE                             ;
3859 :    ms=doma GEO.'$mtp0'   'SOMMET'                            ;
3860 :    ELIM (ma et ms) GEO.'epsi'                                ;
3861 :    tic.'ROVI0' = 'KCHT' GEO.'$mtp0'   'SCAL' 'SOMMET' (tic.'ROVI0') ;
3862 :   Sinon ;
3863 :    tic.'ROVI0' = 'KCHT' GEO.'$mtp0'   'SCAL' 'SOMMET'
3864 :                               ('REDU' tic.'RVP' GEO.'mtp0'  );
3865 :   Finsi                                                      ;
3866 :    'FINSI'                                                   ;
3867 : 
3868 :   Si (exist tic 'FHP0')                                      ;
3869 :    tic.'FHP0' = 'KCHT' GEO.'$mtp0'   'SCAL' 'CENTRE' (tic.'FHP0') ;
3870 :   Sinon ;
3871 :    tic.'FHP0' = 'KCHT' GEO.'$mtp0'   'SCAL' 'CENTRE' 0.      ;
3872 :   Finsi                                                      ;
3873 : 
3874 :   tic.'Lg0D'=tic.'Lg0D' et ('MOTS' 'Mcon' 'd0  ' 'Qc0 ' '    ');
3875 :   tic.'Li0D'=tic.'Li0D' et ('PROG'  0.            0.          );
3876 : 
3877 :  'FINSI'                                                     ;
3878 : * Fin Cas avec Vapeur donc eventuellement condensation
3879 : 
3880 :  'SI' TBT.'THE'                                              ;
3881 :  Si(exist tic 'RHE');
3882 :  tic.'RHE'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RHE')     ;
3883 :  Sinon ;
3884 :  tic.'RHE'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Rhe0            ;
3885 :  Finsi ;
3886 : 
3887 :  Si(exist tic 'RHEM');
3888 :  tic.'RHEM'  = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RHEM')    ;
3889 :  Sinon ;
3890 :  tic.'RHEM'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Rhe0            ;
3891 :  Finsi ;
3892 : 
3893 :  Si(exist tic 'YHE');
3894 :  tic.'YHE'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'YHE')     ;
3895 :  Sinon ;
3896 :  tic.'YHE'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Yhe0            ;
3897 :  Finsi ;
3898 : 
3899 :  'SINON'                                                     ;
3900 :  tic.'YHE'   = 0.                                            ;
3901 :  'FINSI'                                                     ;
3902 : 
3903 :  'SI' TBT.'TH2'                                              ;
3904 :  Si(exist tic 'RH2');
3905 :  tic.'RH2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RH2')     ;
3906 :  Sinon ;
3907 :  tic.'RH2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Rh20            ;
3908 :  Finsi ;
3909 : 
3910 :  Si(exist tic 'RH2M');
3911 :  tic.'RH2M'  = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RH2M')    ;
3912 :  Sinon ;
3913 :  tic.'RH2M'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Rh20            ;
3914 :  Finsi ;
3915 : 
3916 :  Si(exist tic 'YH2');
3917 :  tic.'YH2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'YH2')     ;
3918 :  Sinon ;
3919 :  tic.'YH2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Yh20            ;
3920 :  Finsi ;
3921 : 
3922 :  'SINON'                                                     ;
3923 :  tic.'YH2'   = 0.                                            ;
3924 :  'FINSI'                                                     ;
3925 : 
3926 :  'SI' TBT.'TO2'                                              ;
3927 :  Si(exist tic 'RO2');
3928 :  tic.'RO2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RO2')     ;
3929 :  Sinon ;
3930 :  tic.'RO2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Ro20            ;
3931 :  Finsi ;
3932 : 
3933 :  tic.'RO2M'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Ro20            ;
3934 :  Si(exist tic 'YO2');
3935 :  tic.'YO2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'YO2')     ;
3936 :  Sinon ;
3937 :  tic.'YO2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Yo20            ;
3938 :  Finsi ;
3939 : 
3940 :  'SINON'                                                     ;
3941 :  tic.'YO2'   = 0.                                            ;
3942 :  'FINSI'                                                     ;
3943 : 
3944 :  'SI' TBT.'TN2'                                              ;
3945 :  Si(exist tic 'RN2');
3946 :  tic.'RN2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RN2')     ;
3947 :  Sinon ;
3948 :  tic.'RN2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Rn20            ;
3949 :  Finsi ;
3950 : 
3951 :  Si(exist tic 'RN2M');
3952 :  tic.'RN2M'  = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RN2M')    ;
3953 :  Sinon ;
3954 :  tic.'RN2M'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Rn20            ;
3955 :  Finsi ;
3956 : 
3957 :  Si(exist tic 'YN2');
3958 :  tic.'YN2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'YN2')     ;
3959 :  Sinon ;
3960 :  tic.'YN2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Yn20            ;
3961 :  Finsi ;
3962 : 
3963 :  'SINON'                                                     ;
3964 :  tic.'YN2'   = 0.                                            ;
3965 :  'FINSI'                                                     ;
3966 : 
3967 :  'SI' TBT.'TCO2'                                             ;
3968 : 
3969 :  Si(exist tic 'RCO2');
3970 :  tic.'RCO2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RCO2')   ;
3971 :  Sinon ;
3972 :  tic.'RCO2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Rco20          ;
3973 :  Finsi ;
3974 : 
3975 :  Si(exist tic 'RCO2M');
3976 :  tic.'RCO2M'  = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RCO2M')  ;
3977 :  Sinon ;
3978 :  tic.'RCO2M'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Rco20          ;
3979 :  Finsi ;
3980 : 
3981 :  Si(exist tic 'YCO2');
3982 :  tic.'YCO2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'YCO2')   ;
3983 :  Sinon ;
3984 :  tic.'YCO2'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Yco20          ;
3985 :  Finsi ;
3986 : 
3987 :  'SINON'                                                     ;
3988 :  tic.'YCO2'   = 0.                                           ;
3989 :  'FINSI'                                                     ;
3990 : 
3991 :  'SI' TBT.'TAIR'                                             ;
3992 : 
3993 :  Si(exist tic 'RAIR');
3994 :  tic.'RAIR'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RAIR')   ;
3995 :  Sinon ;
3996 :  tic.'RAIR'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Rair0          ;
3997 :  Finsi ;
3998 : 
3999 :  Si(exist tic 'RAIRM');
4000 :  tic.'RAIRM'  = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RAIRM')  ;
4001 :  Sinon ;
4002 :  tic.'RAIRM'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Rair0          ;
4003 :  Finsi ;
4004 : 
4005 :  Si(exist tic 'YAIR');
4006 :  tic.'YAIR'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'YAIR')   ;
4007 :  Sinon ;
4008 :  tic.'YAIR'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Yair0          ;
4009 :  Finsi ;
4010 : 
4011 :  'SINON'                                                     ;
4012 :  tic.'YAIR'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Yair0          ;
4013 :  'FINSI'                                                     ;
4014 : 
4015 :  'SI' TBT.'TCO'                                              ;
4016 : 
4017 :  Si(exist tic 'RCO');
4018 :  tic.'RCO'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RCO')     ;
4019 :  Sinon ;
4020 :  tic.'RCO'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Rco0            ;
4021 :  Finsi ;
4022 : 
4023 :  Si(exist tic 'RCOM');
4024 :  tic.'RCOM'  = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'RCOM')    ;
4025 :  Sinon ;
4026 :  tic.'RCOM'  = 'KCHT' $vtf   'SCAL' 'SOMMET' Rco0            ;
4027 :  Finsi ;
4028 : 
4029 :  Si(exist tic 'YCO');
4030 :  tic.'YCO'   = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'YCO')     ;
4031 :  Sinon ;
4032 :  tic.'YCO'   = 'KCHT' $vtf   'SCAL' 'SOMMET' Yco0            ;
4033 :  Finsi ;
4034 : 
4035 :  'SINON'                                                     ;
4036 :  tic.'YCO'    = 0.                                           ;
4037 :  'FINSI'                                                     ;
4038 : 
4039 : *****************************************************************
4040 : * Ajustement des LISTREELs                                      *
4041 : * On fait l'ajustement de listreel                              *
4042 : * aprčs avoir complété le tableau Lg0D                          *
4043 :  Lg0D=tic.'Lg0D'                                                ;
4044 :  Li0D=tic.'Li0D'                                                ;
4045 :  nlg0D = (dime Lg0D) / 2                                        ;
4046 :  Repeter Bcli nlg0D                                             ;
4047 :  nm=chai (extr Lg0D (2 * &bcli - 1)) (extr Lg0D (2 * &bcli))    ;
4048 :  vm=extr Li0D &bcli                                             ;
4049 :  Si(non(exist tic nm))                                          ;
4050 :  tic.nm = 'PROG'  ndli * vm                                     ;
4051 :  Sinon                                                          ;
4052 :  ndlj=dime tic.nm                                               ;
4053 :   Si(< ndlj ndli)                                               ;
4054 :   mess 'NDLI=' ndli  'NDLj=' ndlj ;
4055 :   mess ' On ajuste tic.' nm ;
4056 :   tic.nm=('PROG' (ndli - ndlj)*0. ) et tic.nm                   ;
4057 :   Finsi                                                         ;
4058 :   Si(> ndlj ndli)                                               ;
4059 :   mess ' dimension de tic.' nm ' trop grande '                  ;
4060 :   mess ndlj ' alors que ce devrait ętre ' ndli                  ;
4061 :   mess ' On ne sait pas quoi faire           '                  ;
4062 :   erreur 5                                                      ;
4063 :   Finsi                                                         ;
4064 :  Finsi                                                          ;
4065 :  Fin Bcli                                                       ;
4066 : 
4067 : * Au tour des parois ŕ T imposées
4068 :     'SI' TTIMP                                                  ;
4069 :        NBTIMP=dime (rxt.'TIMP')                                 ;
4070 :        itimp=INDEX (rxt.'TIMP')                                 ;
4071 :       REPETER BBTIMP NBTIMP                                     ;
4072 :        Btimp=rxt.'TIMP'.(itimp.&BBTIMP)                         ;
4073 :       CMcond1=Btimp.'Mcond1'                                    ;
4074 :  'SI' (EXIST tic.CMcond1)                                       ;
4075 :   ndlj=dime tic.CMcond1                                         ;
4076 :   Si(< ndlj ndli)                                               ;
4077 :   mess ' On ajuste tic.' CMcond1 ;
4078 :   tic.CMCOND1=('PROG' (ndli - ndlj)*0. ) et tic.CMCOND1         ;
4079 :   Finsi                                                         ;
4080 : 
4081 :   Si(> ndlj ndli)                                               ;
4082 :   mess ' dimension de tic.' cmcond1 ' trop grande '             ;
4083 :   mess ndlj ' alors que ce devrait ętre ' ndli                  ;
4084 :   mess ' On ne sait pas quoi faire           '                  ;
4085 :   erreur 5                                                      ;
4086 :   Finsi                                                         ;
4087 : 
4088 :   'FINSI'                                                       ;
4089 :   FIN BBTIMP                                                    ;
4090 :  'FINSI'                                                        ;
4091 : * Fin des parois ŕ T imposées
4092 : 
4093 : *****************************************************************
4094 : 
4095 : 
4096 : *-------------------------------------------------------
4097 : * C/ FLOTTANT ou LOGIQUE
4098 : 
4099 : Si(non(exist tic 'Tps'));
4100 : tic.'Tps'  = 0.0                                             ;
4101 : Finsi ;
4102 : 
4103 : Si(exist tic 'Rgp') ;
4104 :   ma=extr tic.'Rgp' MAILLAGE ;
4105 :   ms=doma $vtf 'SOMMET';
4106 :   ELIM (ma et ms) epsi ;
4107 :  tic.'Rgp'    = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'Rgp')    ;
4108 : sinon ;
4109 :  tic.'Rgp'   = Rgp                                           ;
4110 : finsi ;
4111 : 
4112 : Si(exist tic 'Rgpi') ;
4113 :   ma=extr tic.'Rgpi' MAILLAGE ;
4114 :   ms=doma $vtf 'SOMMET';
4115 :   ELIM (ma et ms) epsi ;
4116 :  tic.'Rgpi'    = 'KCHT' $vtf   'SCAL' 'SOMMET' (tic.'Rgpi')  ;
4117 : sinon ;
4118 :  syi=tic.'YHE' + tic.'YH2' + tic.'YO2' + tic.'YN2' + tic.'YCO2' +
4119 :      tic.'YCO' + tic.'YAIR'                                  ;
4120 :  Rit =inve syi                                               ;
4121 :  Yihe = tic.'YHE' * Rit  ; Yih2 = tic.'YH2' * Rit ;
4122 :  Yio2 = tic.'YO2' * Rit  ; Yin2 = tic.'YN2' * Rit ;
4123 :  Yico2= tic.'YCO2' * Rit ; Yico = tic.'YCO' * Rit ;
4124 :  Yiair= tic.'YAIR' * Rit ;
4125 :  Rgpi =                         (Rgair '*' Yiair)
4126 :         '+' (Rghe '*' Yihe ) '+' (Rgh2  '*' Yih2 )
4127 :         '+' (Rgo2 '*' Yio2 ) '+' (Rgn2  '*' Yin2 )
4128 :         '+' (Rgco '*' Yico ) '+' (Rgco2 '*' Yico2 )      ;
4129 :  tic.'Rgpi'   = Rgpi                                         ;
4130 : finsi ;
4131 : 
4132 : Si(exist tic 'Mu');
4133 : tic.'Mu'= kcht $vtf scal sommet (tic.'Mu') ;
4134 : sinon ;
4135 : tic.'Mu' = Mu                                                ;
4136 : finsi ;
4137 : 
4138 : TBT.'RV'=rv                                                  ;
4139 : TBT.'RRHO'=rrho                                              ;
4140 : 
4141 :  'SI' TBT.'VAPEUR'                                           ;
4142 :      TBT.'Rrvap'=Rrvap                                       ;
4143 : 'FINSI'                                                      ;
4144 : 'SI' TBT.'THE'                                               ;
4145 :      TBT.'Rrhe'=Rrhe                                         ;
4146 : 'FINSI'                                                      ;
4147 : 'SI' TBT.'TH2'                                               ;
4148 :      TBT.'Rrh2'=Rrh2                                         ;
4149 : 'FINSI'                                                      ;
4150 : 'SI' TBT.'TO2'                                               ;
4151 :       TBT.'Rro2'=Rro2                                        ;
4152 : 'FINSI'                                                      ;
4153 : 'SI' TBT.'TN2'                                               ;
4154 :       TBT.'Rrn2'=Rrn2                                        ;
4155 : 'FINSI'                                                      ;
4156 : 'SI' TBT.'TCO2'                                              ;
4157 :      TBT.'Rrco2'=Rrco2                                       ;
4158 : 'FINSI'                                                      ;
4159 : 'SI' TBT.'TAIR'                                              ;
4160 :      TBT.'Rrair'=Rrair                                       ;
4161 : 'FINSI'                                                      ;
4162 : 'SI' TBT.'TCO'                                               ;
4163 :      TBT.'Rrco'=Rrco                                         ;
4164 : 'FINSI'                                                      ;
4165 : 
4166 : TBT.'RTF'=rtf                                                ;
4167 : 'SI' TBT.'THERMP'                                            ;
4168 :      TBT.'RTP'=rtp                                           ;
4169 : 'FINSI'                                                      ;
4170 : 
4171 : Si (Exist TBT 'MODTURB')                                 ;
4172 : Si ( Ega TBT.'MODTURB' 'KEPSILON')                       ;
4173 :    TBT.'Rrk'= Rrk                                        ;
4174 :    TBT.'Rre'= Rre                                        ;
4175 : Finsi                                                    ;
4176 : Finsi                                                    ;
4177 : *--------------------------------------------------------
4178 : *--------------------------------------------------------
4179 : * D/ APERSION
4180 : 'SI' TBT.'ASPER'                                         ;
4181 : GEO.'$aspinj'= $aspinj                                   ;
4182 : GEO.'$toitf'  = $toitf                                   ;
4183 : 'FINSI'                                                  ;
4184 : 
4185 : * RECOMBINEUR
4186 : 'SI' TBT.'TRECOMB' ;
4187 :   'SI' ('NON' ('EXIS' TIC 'RECOMB')) ;
4188 :     TIC . 'RECOMB' = 'TABLE' ;
4189 :     NBREC = 'DIME' rxt . 'RECOMB' ;
4190 :     'REPETER' BCLREC NBREC ;
4191 : 
4192 :       TIC . 'RECOMB' . &BCLREC = 'TABLE' ;
4193 : 
4194 :       TIC . 'RECOMB' . &BCLREC . 'DEB'  = 'PROG' 0.0 ;
4195 :       TIC . 'RECOMB' . &BCLREC . 'Uin'  = 'PROG' 0.0 ;
4196 :       TIC . 'RECOMB' . &BCLREC . 'Uout' = 'PROG' 0.0 ;
4197 :       TIC . 'RECOMB' . &BCLREC . 'Tin'  = 'PROG' tf0 ;
4198 :       TIC . 'RECOMB' . &BCLREC . 'Tout' = 'PROG' tf0 ;
4199 :       TIC . 'RECOMB' . &BCLREC . 'Tpla' = 'PROG' (tf0 + 273.15) ;
4200 :       TIC . 'RECOMB' . &BCLREC . 'EFF'  = 'PROG' 0.0 ;
4201 : 
4202 :       TIC . 'RECOMB' . &BCLREC . 'YH2E'  = 'PROG' 0.0 ;
4203 :       TIC . 'RECOMB' . &BCLREC . 'YH2OE' = 'PROG' 0.0 ;
4204 :       TIC . 'RECOMB' . &BCLREC . 'YO2E'  = 'PROG' 0.0 ;
4205 :       TIC . 'RECOMB' . &BCLREC . 'YN2E'  = 'PROG' 0.0 ;
4206 :       TIC . 'RECOMB' . &BCLREC . 'YHEE'  = 'PROG' 0.0 ;
4207 :       TIC . 'RECOMB' . &BCLREC . 'YCO2E' = 'PROG' 0.0 ;
4208 :       TIC . 'RECOMB' . &BCLREC . 'YCOE'  = 'PROG' 0.0 ;
4209 :       
4210 :       TIC . 'RECOMB' . &BCLREC . 'RH2E'  = 'PROG' 0.0 ;
4211 :       TIC . 'RECOMB' . &BCLREC . 'RH2OE' = 'PROG' 0.0 ;
4212 :       TIC . 'RECOMB' . &BCLREC . 'RO2E'  = 'PROG' 0.0 ;
4213 :       TIC . 'RECOMB' . &BCLREC . 'RN2E'  = 'PROG' 0.0 ;
4214 :       TIC . 'RECOMB' . &BCLREC . 'RHEE'  = 'PROG' 0.0 ;
4215 :       TIC . 'RECOMB' . &BCLREC . 'RCO2E' = 'PROG' 0.0 ;
4216 :       TIC . 'RECOMB' . &BCLREC . 'RCOE'  = 'PROG' 0.0 ;
4217 : 
4218 :       TIC . 'RECOMB' . &BCLREC . 'YH2S'  = 'PROG' 0.0 ;
4219 :       TIC . 'RECOMB' . &BCLREC . 'YH2OS' = 'PROG' 0.0 ;
4220 :       TIC . 'RECOMB' . &BCLREC . 'YO2S'  = 'PROG' 0.0 ;
4221 :       TIC . 'RECOMB' . &BCLREC . 'YN2S'  = 'PROG' 0.0 ;
4222 :       TIC . 'RECOMB' . &BCLREC . 'YHES'  = 'PROG' 0.0 ;
4223 :       TIC . 'RECOMB' . &BCLREC . 'YCO2S' = 'PROG' 0.0 ;
4224 :       TIC . 'RECOMB' . &BCLREC . 'YCOS'  = 'PROG' 0.0 ;
4225 :       
4226 :       TIC . 'RECOMB' . &BCLREC . 'RH2S'  = 'PROG' 0.0 ;
4227 :       TIC . 'RECOMB' . &BCLREC . 'RH2OS' = 'PROG' 0.0 ;
4228 :       TIC . 'RECOMB' . &BCLREC . 'RO2S'  = 'PROG' 0.0 ;
4229 :       TIC . 'RECOMB' . &BCLREC . 'RN2S'  = 'PROG' 0.0 ;
4230 :       TIC . 'RECOMB' . &BCLREC . 'RHES'  = 'PROG' 0.0 ;
4231 :       TIC . 'RECOMB' . &BCLREC . 'RCO2S' = 'PROG' 0.0 ;
4232 :       TIC . 'RECOMB' . &BCLREC . 'RCOS'  = 'PROG' 0.0 ;
4233 : 
4234 :       TIC . 'RECOMB' . &BCLREC . 'Hin' = 'PROG' 0.0 ;
4235 :       TIC . 'RECOMB' . &BCLREC . 'Hout'= 'PROG' 0.0 ;
4236 :     'FIN' BCLREC ;
4237 :     
4238 :     TIC . 'QIN_H2'   = 'PROG' 0.0 ;
4239 :     TIC . 'QIN_H2O'  = 'PROG' 0.0 ;
4240 :     TIC . 'QIN_O2'   = 'PROG' 0.0 ;
4241 :     TIC . 'QIN_N2'   = 'PROG' 0.0 ;
4242 :     TIC . 'QIN_HE'   = 'PROG' 0.0 ;
4243 :     TIC . 'QIN_CO2'  = 'PROG' 0.0 ;
4244 :     TIC . 'QIN_CO'   = 'PROG' 0.0 ;
4245 : 
4246 :     TIC . 'QOUT_H2'  = 'PROG' 0.0 ;
4247 :     TIC . 'QOUT_H2O' = 'PROG' 0.0 ;
4248 :     TIC . 'QOUT_O2'  = 'PROG' 0.0 ;
4249 :     TIC . 'QOUT_N2'  = 'PROG' 0.0 ;
4250 :     TIC . 'QOUT_HE'  = 'PROG' 0.0 ;
4251 :     TIC . 'QOUT_CO2' = 'PROG' 0.0 ;
4252 :     TIC . 'QOUT_CO'  = 'PROG' 0.0 ;
4253 :     
4254 :   'FINSI' ;
4255 : 'FINSI' ;
4256 : 
4257 : mess 'FIN PREPARATION - VERIFICATION - DEBUT ALGORITHME' ;
4258 : *** FIN PREPARATION - DEBUT ALGORITHME ******************
4259 : FINPROC;
4260 :  
4261 :  
4262 :  
4263 :  
4264 :  
4265 :  
4266 :  
4267 :  
4268 :  
4269 :  

© Cast3M 2003 - All rights reserved.
Disclaimer