Download bruche.procedur

Back to the list

   1 : * BRUCHE    PROCEDUR  CHAT      12/08/07    21:15:01     7481           
   2 : 'DEBPROC' bruche KAS*'MOT' nab*'ENTIER' rxt*'TABLE';
   3 : 
   4 :  GEO = rxt.'GEO'                                        ;
   5 : Si(nab <EG 3)                                           ;
   6 :  nub = nab                                              ;
   7 :  rxtsce  =rxt.'scenario'                                ;
   8 :  Briches =rxt.'TIC'                                     ;
   9 :  CTinj   =chai 'Tinj'                                   ;
  10 :  CKsi    =chai 'Ksi'                                    ;
  11 :  CQlj    =chai 'Qlj'                                    ;
  12 :  CHlj    =chai 'Hlj'                                    ;
  13 :                                                         ;
  14 :  Si (nub > 1)                                           ;
  15 :  rxtsce=rxt.(chai 'scenario' nub)                       ;
  16 :  CTinj    = chai CTinj nub                              ;
  17 :  CKsi     = chai CKsi nub                               ;
  18 :  CQlj     = chai CQlj nub                               ;
  19 :  CHlj     = chai CHlj nub                               ;
  20 :  Finsi                                                  ;
  21 : Sinon                                                   ;
  22 :  nub = nab - 3                                          ;
  23 :  ibr=index (rxt.'Breches')                              ;
  24 :  Briches =rxt.'Breches'.(ibr.nub)                       ;
  25 :  rxtsce  =Briches.'scenario'                            ;
  26 :  GEO     =Briches                                       ;
  27 :  CTinj   =chai 'Tinj'                                   ;
  28 :  CKsi    =chai 'Ksi'                                    ;
  29 :  CQlj    =chai 'Qlj'                                    ;
  30 :  CHlj    =chai 'Hlj'                                    ;
  31 : Finsi                                                   ;
  32 : 
  33 : * Modifications ANTS du 06/01/2009
  34 : * Evite d'avoir un debit d'injection nul 
  35 : 
  36 : 'SI' ('NON' ('EXIS' rxtsce Qmodif))                     ;
  37 : 'MESS' '=============================================================' ;
  38 : 'MESS' '=                       WARNING !!                          =' ;
  39 : 'MESS' '=    LES DEBITS D INJECTION NULS ONT ETE IMPOSES A 1E-10    =' ;
  40 : 'MESS' '=============================================================' ;
  41 :   lstqxxx = 'MOTS' 'qeau' 'qliq' 'qair' 'qhe' 
  42 :                    'qh2'  'qo2'  'qn2'  'qco' 'qco2'    ;
  43 :   lmots1 = 'MOTS'                                       ;
  44 :   'REPE' bqxxx ('DIME' lstqxxx)                         ;
  45 :     lmots = 'EXTR' lstqxxx &bqxxx                       ;
  46 :     'SI' ('EXIS' rxtsce lmots)                          ;
  47 :       lmots1 = lmots1 'ET' ('MOTS' lmots)               ;
  48 :     'FINSI'                                             ;
  49 :   'FIN' bqxxx                                           ;
  50 :   mots1 = 'EXTR' lmots1 1                               ;
  51 :   'REPE' bvxxx ('DIME' rxtsce.mots1)                    ;
  52 :     indic = FAUX                                        ;
  53 :     'REPETER' bq1xxx ('DIME' lmots1)                    ;
  54 :       motsxx = 'EXTR' lmots1 &bq1xxx                    ;
  55 :       valxxx = 'EXTR' rxtsce.motsxx &bvxxx              ;
  56 :       'SI' ('>' valxxx 1.E-10)                          ;
  57 :         indic = VRAI                                    ;
  58 :         'QUIT' bq1xxx                                   ;
  59 :       'FINSI'                                           ;
  60 :     'FIN' bq1xxx                                        ;
  61 :     'SI' ('NON' indic)                                  ;
  62 :       'REMP' rxtsce.mots1 &bvxxx 1E-10                  ;
  63 :     'FINSI'                                             ;
  64 :   'FIN' bvxxx                                           ;
  65 :   rxtsce.Qmodif = VRAI                                  ;
  66 : 'FINSI' ;
  67 : * Fin modifications ANTS du 06/01/2009
  68 : 
  69 : 
  70 : ************************************************************************ 
  71 : ********* DEBUT KAS1 ***************************************************
  72 : ************************************************************************ 
  73 : 
  74 : Si (EGA KAS 'KAS1');
  75 : 
  76 : * Initialisation des debits
  77 : *? Mliqbr=0. ;
  78 :  Ksi   =1. ;
  79 :  qliq  =0. ; hliq  =0. ; Mliqj = 0.0 ;
  80 :  qeau  =0. ; hvap  =0. ; Yvapj = 0.0 ;
  81 :  qair  =0. ; hair  =0. ; Yairj = 0.0 ;
  82 :  qhe   =0. ; hhe   =0. ; Yhej  = 0.0 ;
  83 :  qh2   =0. ; hh2   =0. ; Yh2j  = 0.0 ;
  84 :  qo2   =0. ; ho2   =0. ; Yo2j  = 0.0 ;
  85 :  qn2   =0. ; hn2   =0. ; Yn2j  = 0.0 ;
  86 :  qco   =0. ; hco   =0. ; Ycoj  = 0.0 ;
  87 :  qco2  =0. ; hco2  =0. ; Yco2j = 0.0 ;
  88 : 
  89 : * Les donnees physiques
  90 :  Cpvap  = TBT.'Cpvap' ;
  91 :  Lv     = TBT.'Lv'    ;
  92 :  Rabs   = TBT.'Rabs'  ;
  93 :  Rgh2   = TBT.'Rgh2'  ; Mkh2   = TBT.'Mkh2'              ;
  94 :  Rghe   = TBT.'Rghe'  ; Mkhe   = TBT.'Mkhe'              ;
  95 :  Rgo2   = TBT.'Rgo2'  ; Mko2   = TBT.'Mko2'              ;
  96 :  Rgn2   = TBT.'Rgn2'  ; Mkn2   = TBT.'Mkn2'              ;
  97 :  Rgco2  = TBT.'Rgco2' ; Mkco2  = TBT.'Mkco2'             ;
  98 :  Rgco   = TBT.'Rgco'  ; Mkco   = TBT.'Mkco'              ;
  99 :  Rgvap  = TBT.'Rgvap' ; Mkvap  = TBT.'Mkvap'             ;
 100 :  Rgair  = TBT.'Rgair' ; Mkair  = TBT.'Mkair'             ;
 101 : 
 102 : 
 103 :   t        = rxtsce .'t'                                 ;
 104 : 
 105 :   TTINJ=FAUX                                             ;
 106 :   THINJ=FAUX                                             ;
 107 :   TTINJ=exist (rxtsce ) 'tinj'                           ;
 108 :   THINJ=exist (rxtsce ) 'hair'                           ;
 109 : 
 110 :   Si ((TTINJ et THINJ) ou ((NON TTINJ) et (NON THINJ)))  ;
 111 :  Mess '*********************************************************' ;
 112 :  Mess ' ERREUR   ERREUR   ERREUR   ERREUR   ERREUR   ERREUR     ' ;
 113 :  Mess '                                                         ' ;
 114 :  Mess 'On ne peut imposer enthalpie et température              ' ;
 115 :  Mess 'et il faut imposer au moins l une des deux !!            ' ;
 116 :  Mess '*********************************************************' ;
 117 :  ERREUR 21                                                    ;
 118 :   Finsi                                                       ;
 119 : 
 120 : *-- Formulation en Température imposée ---------------------------------
 121 : *------------------ TTINJ ----------------------------------------------
 122 :   Si TTINJ                                                    ;
 123 : *mess ' Formulation en Température imposée -';
 124 :   tinj      = 'IPOL' tps t (rxtsce .'tinj')                   ;
 125 :   qair      = 'IPOL' tps t (rxtsce .'qair')                   ;
 126 :    'SI' TBT.'THE' ;
 127 :      qhe= 'IPOL' tps t (rxtsce .'qhe')   ; Finsi ;
 128 :    'SI' TBT.'TH2' ;
 129 :      qh2= 'IPOL' tps t (rxtsce .'qh2')   ; Finsi ;
 130 :    'SI' TBT.'TO2' ;
 131 :      qo2= 'IPOL' tps t (rxtsce .'qo2')   ; Finsi ;
 132 :    'SI' TBT.'TN2' ;
 133 :      qn2= 'IPOL' tps t (rxtsce .'qn2')   ; Finsi ;
 134 :    'SI' TBT.'TCO';
 135 :      qco= 'IPOL' tps t (rxtsce .'qco')   ; Finsi ;
 136 :    'SI' TBT.'TCO2' ;
 137 :      qco2='IPOL' tps t (rxtsce .'qco2')  ; Finsi ;
 138 : 
 139 :      Qj= qair + qhe + qh2 + qo2 + qn2 + qco + qco2      ;
 140 : 
 141 :    'SI' TBT.'VAPEUR'                                    ;
 142 :      qeau = 'IPOL' tps t (rxtsce .'qeau')        ;
 143 :      Qj = Qj + qeau                                     ;
 144 :      Pt =extr tic.'PT'  ndl                             ;
 145 :      Tfm=extr tic.'Tfm' ndl                             ;
 146 : 
 147 :    'SI'('NON'('EGA' Qj 0.)) ; iQj=1./Qj ; 'SINON' ; iQj=0. ; 'FINSI' ;
 148 :     Yvapj = qeau '*' iQj ; Yairj = qair '*' iQj ; Yhej  = qhe  '*' iQj ;
 149 :     Yh2j  = qh2  '*' iQj ; Yo2j  = qo2  '*' iQj ; Yn2j  = qn2  '*' iQj ;
 150 :     Yco2j = qco2 '*' iQj ; Ycoj  = qco  '*' iQj ;
 151 : 
 152 : 
 153 :   Mj=((Yvapj/Mkvap)+(Yairj/Mkair)+(Yhej/Mkhe)+(Yh2j/Mkh2)+(Yo2j/Mko2)+
 154 :      (Yn2j*Mkn2)+(Yco2j/Mkco2)+(Ycoj/Mkco))**(-1.)      ;
 155 :        Xvj=Yvapj*Mj/Mkvap                               ;
 156 :        Pvj  = Pt * Xvj                                  ;
 157 : 
 158 :       'SI' (TBT.'CONDMAS')                              ;
 159 :        Pt =extr tic.'PT'  ndl                           ;
 160 :        Tfm=extr tic.'Tfm' ndl                           ;
 161 :      Qj=qeau + qair + qhe + qh2 + qo2 + qn2 + qco + qco2;
 162 : *a peu près Xvj = Yvj on fera mieux après
 163 :        Xvj  = qeau/Qt                                   ;
 164 :        Pvj  = Pt * Xvj                                  ;
 165 :        Hinj = VARI HVS Pvj (Tinj + 273.15)              ;
 166 :        Tsat = VARI TSATP  Pt                            ;
 167 :        Hliq = VARI HLS Pvj Tsat                         ;
 168 :        Hvap = VARI HVS Pvj Tsat                         ;
 169 :        mess ' Hinj=' Hinj ' Hliq=' Hliq ' Hvap=' Hvap   ;
 170 :        mess 'Pvj=' pvj ' Tsat = ' Tsat ' Tinj=' (Tinj + 273.15);
 171 :        Ksi=(Hinj - Hliq)/(Hvap - Hliq)                  ;
 172 :        Ksi=MINI (PROG 1. Ksi)                           ;
 173 :        mess ' Ksi  ' Ksi ' qeau= ' qeau ' qvap=' (qeau*Ksi);
 174 : **?       Mliqbr= Mliqbr + (qeau*(1. - Ksi))               ;
 175 :        qeau = qeau * Ksi                                ;
 176 :       'FINSI'                                           ;
 177 : 
 178 :    'SINON'                                              ;
 179 : 
 180 :    'SI'('NON'('EGA' Qj 0.)) ; iQj=1./Qj ; 'SINON' ; iQj=0. ; 'FINSI' ;
 181 :     Yvapj = qeau '*' iQj ; Yairj = qair '*' iQj ; Yhej  = qhe  '*' iQj ;
 182 :     Yh2j  = qh2  '*' iQj ; Yo2j  = qo2  '*' iQj ; Yn2j  = qn2  '*' iQj ;
 183 :     Yco2j = qco2 '*' iQj ; Ycoj  = qco  '*' iQj ;
 184 : 
 185 : 
 186 :    'FINSI'                                              ;                     
 187 : 
 188 :    Si(EGA Qj 0.)                                        ;
 189 :       Roj   = 0.                                        ;
 190 :    Sinon                                                ;
 191 :   Pt    = 'EXTR' (tic.'PT')    ndl                      ;
 192 :   Rgj   = (TBT.'Rgvap' * Yvapj) + (TBT.'Rgair' * Yairj) +
 193 :           (TBT.'Rghe'  * Yhej)  + (TBT.'Rgh2'  * Yh2j)  +
 194 :           (TBT.'Rgo2'  * Yo2j)  + (TBT.'Rgn2'  * Yn2j)  +
 195 :           (TBT.'Rgco'  * Ycoj)  + (TBT.'Rgco2' * Yco2j) ;
 196 : 
 197 :       Roj   = Pt '/' (Tinj '+' 273.15) '/' Rgj          ;
 198 :    Finsi                                                ;
 199 : 
 200 :   Finsi                                                 ;
 201 : *-------------- FIN TTINJ ----------------------------------------------
 202 : 
 203 : *-- Formulation en Enthalpie imposée -----------------------------------
 204 : *------------------ THINJ ----------------------------------------------
 205 :   Si THINJ                                                    ;
 206 : *  mess ' Enthalpie Imposee';
 207 :   qair      = 'IPOL' tps t (rxtsce .'qair')            ;
 208 :   hair      = 'IPOL' tps t (rxtsce .'hair')            ;
 209 :    'SI' TBT.'THE' ;
 210 :      qhe= 'IPOL' tps t (rxtsce .'qhe')   ;
 211 :      hhe= 'IPOL' tps t (rxtsce .'hhe')   ; Finsi ;
 212 :    'SI' TBT.'TH2' ;
 213 :      qh2= 'IPOL' tps t (rxtsce .'qh2')   ;
 214 :      hh2= 'IPOL' tps t (rxtsce .'hh2')   ; Finsi ;
 215 :    'SI' TBT.'TO2' ;
 216 :      qo2= 'IPOL' tps t (rxtsce .'qo2')   ;
 217 :      ho2= 'IPOL' tps t (rxtsce .'ho2')   ; Finsi ;
 218 :    'SI' TBT.'TN2' ;
 219 :      qn2= 'IPOL' tps t (rxtsce .'qn2')   ;
 220 :      hn2= 'IPOL' tps t (rxtsce .'hn2')   ; Finsi ;
 221 :    'SI' TBT.'TCO';
 222 :      qco= 'IPOL' tps t (rxtsce .'qco')   ;
 223 :      hco= 'IPOL' tps t (rxtsce .'hco')   ; Finsi ;
 224 :    'SI' TBT.'TCO2' ;
 225 :      qco2='IPOL' tps t (rxtsce .'qco2')  ;
 226 :      hco2='IPOL' tps t (rxtsce .'hco2')  ; Finsi ;
 227 : 
 228 :      Qji = qair + qhe + qh2 + qo2 + qn2 + qco + qco2    ;
 229 :      Qj  =  Qji                                         ;
 230 : 
 231 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 232 : * Calcul Cpj, Cp du melange : CALCP  -- CAS SANS VAPEUR
 233 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 234 :    'SI' (NON (TBT.'VAPEUR'))                                 ;
 235 : 
 236 : * Calcul des fractions massiques des incondensables a l'injection
 237 : 
 238 :    'SI'('NON'('EGA' Qji 0.)) ; iQj=1./Qji ; 'SINON' ; iQj=0. ; 'FINSI' ;
 239 :                            Yairj = qair '*' iQj ; Yhej  = qhe  '*' iQj ;
 240 :     Yh2j  = qh2  '*' iQj ; Yo2j  = qo2  '*' iQj ; Yn2j  = qn2  '*' iQj ;
 241 :     Yco2j = qco2 '*' iQj ; Ycoj  = qco  '*' iQj ;
 242 : 
 243 : * On traite ici les incondensables. On se donne l'enthalpie.
 244 : * Pour remonter a la temperature on considere le Cp constant
 245 : * pour chaque incondensable et on le choisit a 50degreC
 246 : * Cette hypothese est justifiee dans l'intervalle de temperature
 247 : * 0. a 250 degresC
 248 : 
 249 : Cph2j Cphej Cpo2j Cpn2j Cpco2j Cpcoj Cpairj = CALCP tinj;
 250 : 
 251 : * On calcule le Cp du melange a l'injection
 252 :   Cpj   = (Cpairj * Yairj)+(Cphej * Yhej)+
 253 :           (Cph2j  * Yh2j )+(Cpo2j * Yo2j)+
 254 :           (Cpn2j  * Yn2j )+(Cpcoj * Ycoj)+
 255 :           (Cpco2j * Yco2j)                   ;
 256 : 
 257 : * On etablit l'enthalpie a l'injection pour les incondensables
 258 :   Hj = hair + hhe + hh2 + ho2 + hn2 + hco + hco2             ;
 259 : 
 260 : * On en deduit la temperature a l'injection dans le cas ou il n'y
 261 : * a que des incondensables
 262 :   tinj=(Hj/Cpj) - 273.15                                     ;
 263 :    'FINSI'                                                   ;
 264 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 265 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 266 : 
 267 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 268 : * Calcul Cpj, Cp du melange : CALCP  -- CAS AVEC VAPEUR
 269 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 270 :    'SI' TBT.'VAPEUR'                                    ;
 271 : 
 272 :     qeau = 'IPOL' tps t (rxtsce .'qeau')         ;
 273 :     hvap = 'IPOL' tps t (rxtsce .'hvap')         ;
 274 : 
 275 : * On etablit l'enthalpie a l'injection
 276 :   Hj = hair + hhe + hh2 + ho2 + hn2 + hco + hco2 + hvap ;
 277 : 
 278 : * Initialisations
 279 : * On prend comme temperature d'injection la temperature au
 280 : * pas de temps precedent.
 281 : 
 282 :     Pt = extr tic.'PT'  ndl                             ;
 283 :     Si(EXIST rxt.'scenario' 'Tj')                       ;
 284 :     tinj = rxt.'scenario'.'Tj'                          ;
 285 :     Sinon                                               ;
 286 :     tinj = extr tic.'Tfm' ndl                           ;
 287 :     Finsi                                               ;
 288 :     tinja= tinj                                         ;
 289 :     qvapj = qeau                                        ;
 290 : 
 291 : * Repeter CCP 10                                         ;
 292 :  Repeter CCP 1                                           ;
 293 : * Calcul des fractions massiques a l'injection
 294 :     Qj = qvapj + Qji                                    ;
 295 :    'SI'('NON'('EGA' Qj 0.)) ; iQj=1./Qj ; 'SINON' ; iQj=0. ; 'FINSI' ;
 296 :     Yvapj = qvapj '*' iQj ; Yairj = qair '*' iQj ; Yhej  = qhe  '*' iQj;
 297 :     Yh2j  = qh2   '*' iQj ; Yo2j  = qo2  '*' iQj ; Yn2j  = qn2  '*' iQj;
 298 :     Yco2j = qco2  '*' iQj ; Ycoj  = qco  '*' iQj ;
 299 : 
 300 : * On calcule d'abord les Cp des incondensables a la temperature d injection
 301 : * on considere le Cp constant pour chaque incondensable et on le choisit a 50deg
 302 : * Cette hypothese est justifiee dans l'intervalle de temperature
 303 : * 0. a 250 degresC
 304 : 
 305 : Cph2j Cphej Cpo2j Cpn2j Cpco2j Cpcoj Cpairj = CALCP tinj  ;
 306 : 
 307 : * On va chercher le Cp de la vapeur iterativement      
 308 :     Cpvapj='VARI' 'DHVDT' Pt (tinj + 273.15)              ;
 309 :     Cpvakj='VARI' 'DHVDT' Pt (tinj + 273.15)              ;
 310 : *    Cpvapj=2200.;
 311 : 
 312 : * On calcule le Cp du melange a l'injection
 313 :   Cpj   = (Cpvapj * Yvapj)+(Cpairj * Yairj)+
 314 :           (Cphej  * Yhej )+(Cph2j  * Yh2j )+
 315 :           (Cpo2j  * Yo2j )+(Cpn2j  * Yn2j )+
 316 :           (Cpcoj  * Ycoj )+(Cpco2j * Yco2j)                  ;
 317 : mess  ' Iteration ' &ccp ' Cpj=' Cpj  'Tinj=' Tinj ' Cpvakj=' Cpvakj;
 318 : 
 319 : * Mais Toute la vapeur ne peut pas rentrer sous forme de vapeur
 320 : 
 321 :    Mj=((Yvapj/Mkvap)+(Yairj/Mkair)+(Yhej/Mkhe)+(Yh2j/Mkh2)+(Yo2j/Mko2)+
 322 :       (Yn2j*Mkn2)+(Yco2j/Mkco2)+(Ycoj/Mkco))**(-1.)      ;
 323 :         Xvj=Yvapj*Mj/Mkvap                               ;
 324 :         Pvj  = Pt * Xvj                                  ;
 325 : * La il s'agit de la pression partielle de vapeur a l'injection
 326 : * Si on injeccte de la vapeur pure c'est la pression de l'enceinte Pt
 327 :         Tsat = 'VARI' 'TSATP'  Pvj                           ;
 328 :         Hliqs= 'VARI' 'HLS' Pvj Tsat                         ;
 329 :         Hvaps= 'VARI' 'HVS' Pvj Tsat                         ;
 330 : 
 331 : * On en deduit le taux de vide a l'injection
 332 :   Si(Hj > Hvaps);
 333 :         Ksi = 1. ;
 334 :   Sinon ;
 335 :     Si(Hj < Hliqs);
 336 :         Ksi = 0. ;
 337 :     Sinon;
 338 :         Ksi=(Hj - Hliqs)/(Hvaps - Hliqs)                 ;
 339 :         Ksi=MINI (PROG 1. Ksi)                           ;
 340 :     Finsi;
 341 :   Finsi ;
 342 : 
 343 : 
 344 : Si ('EXIST' TBT 'Modinj') ; Modinj = TBT.'Modinj' ;Finsi;
 345 : Si ('EXIST' TBT 'Modinj2'); Modinj = TBT.'Modinj2';Finsi;
 346 : Si ('EXIST' TBT 'Modinj3'); Modinj = TBT.'Modinj3';Finsi;
 347 : Si ('EXIST' Briches 'Modinj'); Modinj = Briches.'Modinj';Finsi;
 348 : 
 349 : 
 350 : 
 351 : * On en deduit la temperature a l'injection
 352 : Si (EGA TBT.'Modinj' 'A')                               ;
 353 : * Temperature d'ebullition
 354 : mess ' Injection - modèle A : Température d ébullition' ;
 355 :  tinj=(VARI 'TSATP' Pt) - 273.15                        ;
 356 : Finsi                                                   ;
 357 : Si (EGA TBT.'Modinj' 'B')                               ;
 358 : * Temperature moyenne enceinte 
 359 : mess ' Injection - modèle B : Température moyenne'      ;
 360 :  tinj=extr tic.'Tfm' ndl                                ;
 361 : Finsi                                                   ;
 362 : Si (EGA TBT.'Modinj' 'C')                               ;
 363 : * Temperature Saturation a Pvj
 364 : mess ' Injection - modèle C : Température de saturation';
 365 :  tinj =('VARI' 'TSATP'  Pvj) - 273.15                   ;
 366 : Finsi                                                   ;
 367 : 
 368 :   Si(Hj > Hvaps);
 369 : * Temperature H/Cp
 370 : mess ' Injection surchauffée : Température inj. =' tinj ;
 371 :  tinj =(Hj - Hvaps)/(Cpj + 1.e-5) + Tsat - 273.15       ;
 372 : Finsi                                                   ;
 373 : 
 374 :  dtinjr=(tinj - tinja)/(tinj + tinja)*2.                     ;
 375 :  dtinjr=abs dtinjr                                           ;
 376 :  tinja=tinj                                                  ;
 377 : 
 378 :  mess ' Xvj=' Xvj ' Yvapj=' Yvapj ' Tsat=' (Tsat - 273.15)  ;
 379 :  mess ' Hj =' Hj  ' hvap=' hvap ' Hliq=' Hliq ' Hvaps=' Hvaps ;
 380 :  mess ' Pvj=' pvj ' Pt  =' Pt                          ;
 381 :  mess ' Ksi  ' Ksi ' qeau= ' qeau ' qvapj=' (qeau*Ksi)  ;
 382 : *      Mliqbr= Mliqbr + (qeau*(1. - Ksi))               ;
 383 : 
 384 :        qvapj = qeau * Ksi                               ;
 385 :  Si (dtinjr < 1.e-3); quitter CCP ; Finsi               ;
 386 : Fin CCP;
 387 : 
 388 : 
 389 :       Si(EGA Xvj 0.)                                    ;
 390 :       Rovap = 0.                                        ;
 391 :       Sinon                                             ;
 392 :       tknj=tinj + 273.15                                ;
 393 :       tk2j=tknj * tknj                                  ;
 394 :       a=(TBT.'B0'*tk2j)+(TBT.'B1'*tknj)+TBT.'B2'        ;
 395 :       a=(abs a)/TBT.'Rgvap'/tk2j/tknj                         ;
 396 :       dlt=((4.*a*Pvj/TBT.'Rgvap'/tknj) + 1.)**0.5       ;
 397 :       Rovap=(dlt - 1.)/2./a.                            ;
 398 :       Finsi                                             ;
 399 : 
 400 :   Rginc = (TBT.'Rgair' * Yairj)+(TBT.'Rghe' * Yhej)+
 401 :           (TBT.'Rgh2'  * Yh2j) +(TBT.'Rgo2' * Yo2j)+
 402 :           (TBT.'Rgn2'  * Yn2j) +(TBT.'Rgco' * Ycoj)+
 403 :           (TBT.'Rgco2' * Yco2j)                         ;
 404 :       Si(EGA Rginc 0.)                                  ;
 405 :       Roinc = 0.                                        ;
 406 :       Sinon                                             ;
 407 :       Roinc=(1. - Xvj)*Pt/Rginc/tknj                    ;
 408 :       Finsi                                             ;
 409 :       Roj = Rovap + Roinc                               ;
 410 : 
 411 :       qliq = 'IPOL' tps t (rxtsce .'qliq')       ;
 412 :       qliq = qliq + (qeau*(1. - Ksi))                   ;
 413 :       hliq = 'IPOL' tps t (rxtsce .'hliq')       ;
 414 : 
 415 :       qeau = qvapj                                      ;
 416 :       Qlj  = qliq                                       ;
 417 : 
 418 : *      Mliqbr= Mliqbr + (qeau*(1. - Ksi))               ;
 419 : *      Mliq  = Mliq   + (qeau*(1. - Ksi)) + qliq        ;
 420 : 
 421 :    'FINSI'                                                   ;
 422 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 423 : *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 424 : 
 425 :  Finsi ;
 426 : *-------------- FIN THINJ --------------------
 427 : 
 428 :      rxtsce .'Yvapj'= Yvapj                      ;
 429 :      rxtsce .'Yairj'= Yairj                      ;
 430 :      rxtsce .'Yhej' = Yhej                       ;
 431 :      rxtsce .'Yh2j' = Yh2j                       ;
 432 :      rxtsce .'Yo2j' = Yo2j                       ;
 433 :      rxtsce .'Yn2j' = Yn2j                       ;
 434 :      rxtsce .'Yco2j'= Yco2j                      ;
 435 :      rxtsce .'Ycoj' = Ycoj                       ;
 436 : 
 437 :      Qj=qeau + qair + qhe + qh2 + qo2 + qn2 + qco + qco2;
 438 :      rxtsce .'Qj'   = Qj                         ;
 439 :      rxtsce .'Qlj'  = Qlj                        ;
 440 :      rxtsce .'Tj'   = tinj                       ;
 441 :      rxtsce .'Roj'  = Roj                        ;
 442 : 
 443 :   Briches.CTinj= Briches.CTinj 'ET' ('PROG' Tinj)        ;
 444 :   Briches.CKsi = Briches.CKsi  'ET' ('PROG' Ksi)         ;
 445 :   Briches.CQlj = Briches.CQlj  'ET' ('PROG' qliq)        ;
 446 :   Briches.CHlj = Briches.CHlj  'ET' ('PROG' hliq)        ;
 447 : *-------------------------------------------------------------
 448 : *Caractéristiques de l'injection au pas de temps N
 449 : * c'est a dire Dtn = tn - t(n-1) a l'instant n-1
 450 : 
 451 :  'SI' ( TBT.'IMPR' >EG 2)                                    ;
 452 :  'MESS' '==> Détail des débits injectés (kg/s) Brèche ' nub  ;
 453 :  'MESS' 'Qeau=' qeau 'Qliq=' qliq 'Qair=' qair 'Qhe =' qhe 'Qh2 =' qh2 ;
 454 :  'MESS' 'Qo2 =' qo2  'Qn2 =' qn2  'Qco =' qco  'Qco2=' qco2  ;
 455 :  'FINSI'                                                     ;
 456 : 
 457 :   resproc qeau qliq qair qhe qh2 qo2 qn2 qco qco2         ;
 458 : 
 459 :    QUITTER BRUCHE                                         ;
 460 : Finsi                                                     ;
 461 : ************************************************************************ 
 462 : ********* FIN KAS1 *****************************************************
 463 : ************************************************************************ 
 464 : 
 465 : ************************************************************************ 
 466 : ********* DEBUT KAS2 ***************************************************
 467 : ************************************************************************ 
 468 : 
 469 : Si (EGA KAS 'KAS2');
 470 : 
 471 :   CSbreche =chai 'Sbreche'  ;
 472 :   C$breche =chai '$breche'  ;
 473 :   C$brechc =chai '$brechec' ;
 474 :   Cfacgeo  =chai 'facgeo'   ;
 475 :   Cbrechei =chai 'brechei'  ;
 476 :   Cbrechec =chai 'brechec'  ;
 477 :   Cbreche  =chai 'breche'   ;
 478 : 
 479 :  Si ((nub > 1) et (nab < 4))        ;
 480 :   CSbreche  = chai 'Sbreche'  nub   ;
 481 :   C$breche  = chai '$breche'  nub   ;
 482 :   C$brechc  = chai '$brech' nub 'c' ;
 483 :   Cfacgeo   = chai 'facgeo'   nub   ;
 484 :   Cbrechei  = chai 'brech'  nub 'i' ;
 485 :   Cbrechec  = chai 'brech'  nub 'c' ;
 486 :   Cbreche   = chai 'breche'   nub   ;
 487 : 
 488 :  Finsi                            ;
 489 : 
 490 :  Si ((nub > 0) et (nab < 4))         ;
 491 :   diru    =TBT.(chai 'diru' nub)     ;
 492 :  Sinon                               ;
 493 :   diru    =Briches.'diru'            ;
 494 :  Finsi                               ;
 495 : 
 496 :  diru    = diru/(norm diru)          ;
 497 :  Sbreche = GEO.CSbreche              ;
 498 :  $breche = GEO.C$breche              ;
 499 :  facgeo  = GEO.Cfacgeo               ;
 500 :  brechei = GEO.Cbrechei              ;
 501 :  brechec = GEO.Cbrechec              ;
 502 :  breche  = GEO.Cbreche               ;
 503 : 
 504 :  $menvf  = rxt.'GEO'.'$menvf'        ;
 505 :  $vtf    = rxt.'GEO'.'$vtf'          ;
 506 : 
 507 :      Qj  = rxtsce .'Qj'                         ;
 508 :      Qlj = rxtsce .'Qlj'                        ;
 509 :      tinj= rxtsce .'Tj'                         ;
 510 : **************************************************************
 511 : **** Evolution de la source en fct du temps ******************                  
 512 : 
 513 :   t         = rxtsce .'t'                             ;
 514 : 
 515 : * Initialisation des fractions massiques
 516 :   Yvapj= rxtsce .'Yvapj'                              ;
 517 :   Yairj= rxtsce .'Yairj'                              ;
 518 :   Yhej = rxtsce .'Yhej'                               ;
 519 :   Yh2j = rxtsce .'Yh2j'                               ;
 520 :   Yo2j = rxtsce .'Yo2j'                               ;
 521 :   Yn2j = rxtsce .'Yn2j'                               ;
 522 :   Yco2j= rxtsce .'Yco2j'                              ;
 523 :   Ycoj = rxtsce .'Ycoj'                               ;
 524 : 
 525 : 
 526 : * Les donnees physiques
 527 :  Cpvap  = TBT.'Cpvap' ;
 528 :  Lv     = TBT.'Lv'    ;
 529 :  Rabs   = TBT.'Rabs'  ;
 530 :  Rgh2   = TBT.'Rgh2'  ; Mkh2   = TBT.'Mkh2'              ;
 531 :  Rghe   = TBT.'Rghe'  ; Mkhe   = TBT.'Mkhe'              ;
 532 :  Rgo2   = TBT.'Rgo2'  ; Mko2   = TBT.'Mko2'              ;
 533 :  Rgn2   = TBT.'Rgn2'  ; Mkn2   = TBT.'Mkn2'              ;
 534 :  Rgco2  = TBT.'Rgco2' ; Mkco2  = TBT.'Mkco2'             ;
 535 :  Rgco   = TBT.'Rgco'  ; Mkco   = TBT.'Mkco'              ;
 536 :  Rgvap  = TBT.'Rgvap' ; Mkvap  = TBT.'Mkvap'             ;
 537 :  Rgair  = TBT.'Rgair' ; Mkair  = TBT.'Mkair'             ;
 538 : 
 539 : * Calcul Cp (Tj)   CALCP
 540 :   Tj    = tinj                                               ;
 541 : 
 542 : Cph2j Cphej Cpo2j Cpn2j Cpco2j Cpcoj Cpairj = CALCP Tj       ;
 543 : 
 544 : * Calcul des Cvs pour l'injection
 545 :   Cpvapj      = TBT.'Cpvap'                                  ;
 546 :   Cvvapj      = Cpvapj '-'  Rgvap                            ;
 547 :   Cvhej       = Cphej  '-'  Rghe                             ;
 548 :   Cvh2j       = Cph2j  '-'  Rgh2                             ;
 549 :   Cvo2j       = Cpo2j  '-'  Rgo2                             ;
 550 :   Cvn2j       = Cpn2j  '-'  Rgn2                             ;
 551 :   Cvco2j      = Cpco2j '-'  Rgco2                            ;
 552 :   Cvcoj       = Cpcoj  '-'  Rgco                             ;
 553 :   Cvairj      = Cpairj '-'  Rgair                            ;
 554 : 
 555 :   Cvj   = (Cvvapj * Yvapj)+(Cvairj * Yairj)+(Cvhej * Yhej)+
 556 :           (Cvh2j  * Yh2j)+(Cvo2j * Yo2j)+(Cvn2j * Yn2j)+
 557 :           (Cvcoj  * Ycoj)+(Cvco2j * Yco2j)                   ;
 558 :   Cpj   = (Cpvapj * Yvapj)+(Cpairj * Yairj)+(Cphej * Yhej)+
 559 :           (Cph2j  * Yh2j)+(Cpo2j * Yo2j)+(Cpn2j * Yn2j)+
 560 :           (Cpcoj  * Ycoj)+(Cpco2j * Yco2j)                   ;
 561 :   Rgj   = (Rgvap * Yvapj)+(Rgair * Yairj)+(Rghe * Yhej)+
 562 :           (Rgh2  * Yh2j)+(Rgo2 * Yo2j)+(Rgn2 * Yn2j)+
 563 :           (Rgco  * Ycoj)+(Rgco2 * Yco2j)                     ;
 564 : 
 565 :  Qjf   = Qj '*' facgeo                                       ;
 566 : 
 567 :  'SI' ('EGA' Qj 0.0)                                         ;
 568 :       Roj   = 0.0                                            ;
 569 :       guj   = 0.0                                            ;
 570 :  'SINON'                                                     ;
 571 : *µµµµµ Roj µµµµµµµµµµµµµµµµµµµµ
 572 :    Si TBT.'Tsortie' ;
 573 :       Roj   = Rhom  ;
 574 :       guj   = (Qjf '/' Sbreche '/' Roj )                     ;
 575 :    Sinon ;
 576 :       Roj   = rxtsce .'Roj'                           ;
 577 :       guj   = (Qjf '/' Sbreche '/' Roj )                     ;
 578 :    Finsi ;
 579 : *  mess 'Roj=' Roj ' Qjf=' Qjf 'Sbreche=' Sbreche 'Tps=' Tps ;
 580 : *µµµµµ Roj µµµµµµµµµµµµµµµµµµµµ
 581 :  'FINSI'                                                     ;
 582 : 
 583 : 
 584 :   Qjf   = Qj '*' facgeo                                      ;
 585 :   Hj    = Cpj   '*' (Tj '+' 273.15)                          ;
 586 :   Ej    = Cvj   '*' (Tj '+' 273.15)                          ;
 587 : 
 588 :   Lbreche=Sbreche**(1./IDIM)                                 ;
 589 :   Knj=0.05 * guj                                             ;
 590 :   Enj=(Knj**1.5)/Lbreche                                     ;
 591 : 
 592 :   Rvapj = Roj   '*' Yvapj                                    ;
 593 :   Rairj = Roj   '*' Yairj                                    ;
 594 :   Rhej  = Roj   '*' Yhej                                     ;
 595 :   Rh2j  = Roj   '*' Yh2j                                     ;
 596 :   Ro2j  = Roj   '*' Yo2j                                     ;
 597 :   Rn2j  = Roj   '*' Yn2j                                     ;
 598 :   Rco2j = Roj   '*' Yco2j                                    ;
 599 :   Rcoj  = Roj   '*' Ycoj                                     ;
 600 : 
 601 :  'SI' ( TBT.'IMPR' >EG 2)                                    ;
 602 :  'MESS' '==> Caracteristiques de l injection ' nub           ;
 603 :  'MESS' ' Débit total Injecté Qj=' Qj 'kg/s'                 ;
 604 :  'MESS' ' Vitesse Injection  guj=' guj 'm/s'                 ;
 605 :  'MESS' ' Densité Injection  Roj=' Roj 'kg/m3'               ;
 606 :  'MESS' ' R/M     Injection  Rgj=' Rgj 'J/kg/K'              ;
 607 :  'FINSI'                                                     ;
 608 : 
 609 : *=============================================================
 610 :   src=0.;
 611 : 
 612 : 'SI' TBT.'FPAROI'   ;
 613 :   brchp=breche      ;
 614 : 'SINON'             ;
 615 :   brchp=brechei     ;
 616 : 'FINSI'             ;
 617 : 
 618 : 'SI' DIM3D                                                   ;
 619 :  $brechec= GEO.C$brechc                                      ;
 620 :   gj    = 'KCHT' $breche 'VECT' 'SOMMET' 'COMP'
 621 :            ('MOTS' 1UN 2UN 3UN) (diru * guj)                 ;
 622 :   gj    = 'REDU' gj brchp                                    ;
 623 :   gjc   = 'KCHT' $brechec 'VECT' 'SOMMET' (0.0 0.0 0.0)      ;
 624 :   gjx   = 'KCHT' $breche 'VECT' 'SOMMET' (diru *  guj)   gjc ;
 625 : 'SINON'                                                      ;
 626 :   gj    = 'KCHT' $breche 'VECT' 'SOMMET' 'COMP'
 627 :           ('MOTS' 1UN 2UN) (diru * guj)                      ;
 628 :   gj    = 'REDU' gj brchp                                    ;
 629 :  gjc   = 'MANU' 'CHPO' brechec 2 'UX' 0.0 'UY' 0.0
 630 :                                  'NATURE' 'DISCRET'          ;
 631 :   gjx   = 'KCHT' $breche 'VECT' 'SOMMET' (diru * guj) gjc    ;
 632 : 'FINSI'                                                      ;
 633 : 
 634 :   unvf0 = 'KCHT' $menvf  'VECT' 'SOMMET'  gjx                ;
 635 :   src   = 'DBIT' unvf0 $menvf                                ;
 636 : 
 637 : *=============================================================
 638 : 
 639 :  Si(nab > 3)                                                 ;
 640 :   Briches.'Rvapj'=Rvapj                                      ;
 641 :   Briches.'Rairj'=Rairj                                      ;
 642 :   Briches.'Rhej' =Rhej                                       ;
 643 :   Briches.'Rh2j' =Rh2j                                       ;
 644 :   Briches.'Ro2j' =Ro2j                                       ;
 645 :   Briches.'Rn2j' =Rn2j                                       ;
 646 :   Briches.'Rco2j'=Rco2j                                      ;
 647 :   Briches.'Rcoj' =Rcoj                                       ;
 648 :   Briches.'Rgj'  =Rgj                                        ;
 649 : *  Briches.'Hj'   =Hj                                         ;
 650 : *  Briches.'Ej'   =Ej                                         ;
 651 :   Briches.'Tj'   =Tj                                         ;
 652 : *  Briches.'Qj'   =Qj                                         ;
 653 :   Briches.'Roj'  =Roj                                        ;
 654 :   Briches.'gj'   =gj                                         ;
 655 : *  Briches.'guj'  =guj                                        ;
 656 :   Briches.'unvf0'=unvf0                                      ;
 657 :   Briches.'src'  =src                                        ;
 658 :  Finsi                                                       ;
 659 :  resproc 
 660 :  Rvapj Rairj Rhej Rh2j Ro2j Rn2j Rco2j Rcoj Rgj Hj Ej
 661 :  Tj Qj Roj gj guj unvf0 src                                  ;
 662 : 
 663 :    QUITTER BRUCHE                                            ;
 664 : 
 665 : ************************************************************************ 
 666 : ********* FIN KAS2 *****************************************************
 667 : ************************************************************************ 
 668 : 'FINSI';
 669 : 
 670 : FINPROC ;
 671 :  
 672 :  
 673 :  

İ Cast3M 2003 - All rights reserved.
Disclaimer