* BROCHE PROCEDUR SERRE 21/06/28 21:15:01 11045 *mess '=================== DEBUT BROCHE ==================='; GEO = rxt.'GEO' ; nub = nab ; ibr=index (rxt.'Sorties') ; Briches =rxt.'Sorties'.(ibr.nub) ; rxtsce =Briches.'scenario' ; GEO =Briches ; TTOUT=FAUX ; TTINJ=FAUX ; THINJ=FAUX ; TTINJ=exist (rxtsce ) 'tinj' ; TTPEX=exist (rxtsce ) 'Pext' ; TTQEX=exist (rxtsce ) 'Qext' ; TTOUT=TTPEX ou TTQEX ; Briches.'TTOUT'=TTOUT ; *mess ' TTOUT TTPEX TTQEX ******************************'; *list ttout; list ttpex ; list ttqex; *mess ' KAS=================' KAS; *mess ' TTOUT TTPEX TTQEX ******************************'; Si ((NON TTOUT) et (NON TTINJ)) ; Mess ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ; Mess ' ' ; ERREUR 21 ; Finsi ; Si (TTPEX et TTQEX) ; Mess ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ; Mess ' ' ; ERREUR 21 ; Finsi ; * Modifications ANTS du 06/01/2009 * Evite d'avoir un debit d'injection nul lstqxxx = 'MOTS' 'qeau' 'qliq' 'qair' 'qhe' 'qh2' 'qo2' 'qn2' 'qco' 'qco2' ; 'FINSI' ; 'FIN' bqxxx ; indic = FAUX ; 'SI' ('>' valxxx 1.E-10) ; indic = VRAI ; 'QUIT' bq1xxx ; 'FINSI' ; 'FIN' bq1xxx ; 'SI' ('NON' indic) ; 'FINSI' ; 'FIN' bvxxx ; rxtsce.Qmodif = VRAI ; 'FINSI' ; * Fin modifications ANTS du 06/01/2009 ************************************************************************ ********* DEBUT KAS1 *************************************************** ************************************************************************ 'SI KAS1' (EGA KAS 'KAS1'); * Initialisation des debits aex =1. ; Ksi =1. ; qliq =0. ; hliq =0. ; Mliqj = 0.0 ; qeau =0. ; hvap =0. ; Yvapj = 0.0 ; qair =0. ; hair =0. ; Yairj = 0.0 ; qhe =0. ; hhe =0. ; Yhej = 0.0 ; qh2 =0. ; hh2 =0. ; Yh2j = 0.0 ; qo2 =0. ; ho2 =0. ; Yo2j = 0.0 ; qn2 =0. ; hn2 =0. ; Yn2j = 0.0 ; qco =0. ; hco =0. ; Ycoj = 0.0 ; qco2 =0. ; hco2 =0. ; Yco2j = 0.0 ; * Les donnees physiques Cpvap = TBT.'Cpvap' ; Lv = TBT.'Lv' ; Rabs = TBT.'Rabs' ; Rgh2 = TBT.'Rgh2' ; Mkh2 = TBT.'Mkh2' ; Rghe = TBT.'Rghe' ; Mkhe = TBT.'Mkhe' ; Rgo2 = TBT.'Rgo2' ; Mko2 = TBT.'Mko2' ; Rgn2 = TBT.'Rgn2' ; Mkn2 = TBT.'Mkn2' ; Rgco2 = TBT.'Rgco2' ; Mkco2 = TBT.'Mkco2' ; Rgco = TBT.'Rgco' ; Mkco = TBT.'Mkco' ; Rgvap = TBT.'Rgvap' ; Mkvap = TBT.'Mkvap' ; Rgair = TBT.'Rgair' ; Mkair = TBT.'Mkair' ; t = rxtsce .'t' ; *------------------ TTOUT ---------------------------------------------- *-- Formulation en Extraction ou clapet de décharge -------------------- *------------------ TTOUT ---------------------------------------------- 'SI TTOUT KAS1' TTOUT ; $breche = Briches.'$sreche'; brechei = Briches.'srechei'; brechec = Briches.'srechec'; breche = Briches.'sreche' ; diru = Briches.'diru' ; 'NATURE' 'DISCRET' ; Sinon ; 'NATURE' 'DISCRET' ; Finsi; *============================================================== * C'est la qu'on definit l'extraction * ******* OUT INI deb ****************************************** Si (NON (exist rxt.'TIC' 'OUT')); mess ' on definit l extraction OUT '; rxt.'TIC'.'OUT'=table; Finsi; ******* OUT INI fin ****************************************** Sout = rxtsce.'Section' ; Rsbr = Sout/Sbreche ; Si TTQEX ; mess ; mess ' +++++++++++++++++++++++++++++++++++++++++++++++++++++' '+++++++++++++++++++++++++++++++' ; '+++++++++++++++++++++++++++++++' ; Rdp = 1. ; Pext = 0. ; Kext = 0. ; Bext = 0. ; Si (Sout < 1.e-10) ; Qout = 0. ; Qvrai = 0. ; Qout = 0. ; Uout = 0. ; mess ' +++++++++++++++++++++++++++++++++++++++++++++++++++++' '+++++++++++++++++++++++++++++++' ; Sinon ; Uout = Qout/Rhomn/Sout*Rsbr ; alfa=qvrai/qout ; uoutn=uout/alfa ; Briches.'gj' = uus ; * Tinj = Tout ; * rxtsce .'Tj' = tinj ; mess ' +++++++++++++++++++++++++++++++++++++++++++++++++++++' '+++++++++++++++++++++++++++++++' ; Finsi ; Finsi ; mess 'µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ' ; mess 'µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ' ; *µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ *µµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµµ Si TTPEX ; mess ; mess ' +++++++++++++++++++++++++++++++++++++++++++++++++++++' '+++++++++++++++++++++++++++++++' ; '+++++++++++++++++++++++++++++++' ; Uout = ((Pt - Pext)/Kext)**(1./Bext) ; Qout = Rhomn * Uout * Sout ; Rdp = Pt/Pext ; ******* OUT ************************************************** ******* OUT ************************************************** Si (Sout < 1.e-10) ; Qout = 0. ; Qvrai = 0. ; Uout = 0. ; Uoutn = 0. ; mess ; mess ; Sinon ; gamma=1.29; Pcr = Pt * ( ( (2./(gamma + 1.) )**(gamma/(gamma - 1.)))); Co = (gamma * Pcr / rhom)**0.5 ; Qcr = Rhomn * Sout * Co ; Si ((Pext < Pcr) et (Sout > 1.e-10)) ; Uout = Co * Rsbr ; Qout = Qcr ; alfa=qvrai/qout ; uoutn=uout/alfa ; Briches.'gj' = uus ; Sinon ; Si (Uout > Co) ; Uout = Co * Rsbr ; Qout = Qcr ; alfa=qvrai/qout ; uoutn=uout/alfa ; Briches.'gj' = uus ; mess ' Il y a qd même un col sonique : Débit critique = ' Qcr ' Uout=' Uout ; Sinon ; Qout = Uout * Rsbr ; alfa=qvrai/qout ; uoutn=uout/alfa ; Briches.'gj' = uus ; mess ' Il n y a pas de col sonique : Débit de sortie ' Qout ' Uout=' Uout ; Finsi ; Finsi ; ********rxt.'TIC'.'OUT'.'Uoutn'=rxt.'TIC'.'OUT'.'Uoutn' et (prog Uoutn) ; mess ' Pext Penceinte Rapport de pression ' 'Pression critique '; mess Pext Pt ' ' Rdp ' ' Pcr; mess ' +++++++++++++++++++++++++++++++++++++++++++++++++++++' '+++++++++++++++++++++++++++++++' ; mess ; * *============================================================== Finsi ; FINSI ; Si(Qout > 0.) ; Roj = Rout ; Tinj= Tout ; Qj = Qout ; Sinon ; Rout=1.; Tout=0.; Roj = 1. ; Tinj= 0. ; Qj = 0. ; Finsi ; Si (src < 0.); mess; mess; Finsi; * $menvf = rxt.'GEO'.'$menvf' ; * ung=vect uus 0.5 ux uy uz jaune; * trace ung (doma $menvf maillage); Y = YAIR ; nqj=1 ; 'SI' TBT.'THE' ; nqj=nqj + 1 ; 'SI' TBT.'TH2' ; nqj=nqj + 1 ; 'SI' TBT.'TO2' ; nqj=nqj + 1 ; 'SI' TBT.'TN2' ; nqj=nqj + 1 ; 'SI' TBT.'TCO'; nqj=nqj + 1 ; 'SI' TBT.'TCO2' ; nqj=nqj + 1 ; 'SI' TBT.'VAPEUR' ; nqj=nqj + 1 ; Y = Y + YVP ; 'FINSI' ; Qj= qair + qhe + qh2 + qo2 + qn2 + qco + qco2 + qeau ; Si (Sout < 1.e-10) ; deltaq = 0. ; Sinon ; W1=0. ; * deltaq=(w1*(Qj-Qout)/nqj) + ((1.-w1)*((Qout/Qj) - 1.) ); deltaq=Qout/Qj ; Finsi ; qair = qair*deltaq ; 'SI' TBT.'THE' ; qhe = qhe*deltaq ;Finsi ; 'SI' TBT.'TH2' ; qh2 = qh2*deltaq ;Finsi ; 'SI' TBT.'TO2' ; qo2 = qo2*deltaq ;Finsi ; 'SI' TBT.'TN2' ; qn2 = qn2*deltaq ;Finsi ; 'SI' TBT.'TCO' ; qco = qco*deltaq ;Finsi ; 'SI' TBT.'TCO2'; qco2= qco2*deltaq ;Finsi ; 'SI' TBT.'VAPEUR'; qeau = qeau*deltaq ;Finsi ; Qj= qair + qhe + qh2 + qo2 + qn2 + qco + qco2 + qeau ; 'SI'('NON'('EGA' Qj 0.)) ; iQj=1./Qj ; 'SINON' ; iQj=0. ; 'FINSI' ; Yvapj = qeau '*' iQj ; Yairj = qair '*' iQj ; Yhej = qhe '*' iQj ; Yh2j = qh2 '*' iQj ; Yo2j = qo2 '*' iQj ; Yn2j = qn2 '*' iQj ; Yco2j = qco2 '*' iQj ; Ycoj = qco '*' iQj ; * On ne change pas le signe de Qj mais celui de qeau et autres aex=-1.; qeau = aex * qeau ; qliq = aex * qliq ; qair = aex * qair ; qhe = aex * qhe ; qh2 = aex * qh2 ; qo2 = aex * qo2 ; qn2 = aex * qn2 ; qco = aex * qco ; qco2 = aex * qco2 ; * mess ' MINI MAXI YSortie=' (mini Y) (maxi Y); TTINJ=FAUX; Tinj=Tout; 'FINSI TTOUT KAS1' ; *-------------- FIN TTOUT ---------------------------------------------- *-- Formulation en Extraction ou Clapet de décharge -------------------- *------------------ TTINJ ---------------------------------------------- 'SI TTINJ KAS1' TTINJ ; $breche = Briches.'$sreche'; brechei = Briches.'srechei'; brechec = Briches.'srechec'; breche = Briches.'sreche' ; diru =Briches.'diru' ; 'NATURE' 'DISCRET' ; Sinon ; 'NATURE' 'DISCRET' ; Finsi; $menvf = rxt.'GEO'.'$menvf' ; 'SI' TBT.'THE' ; 'SI' TBT.'TH2' ; 'SI' TBT.'TO2' ; 'SI' TBT.'TN2' ; 'SI' TBT.'TCO'; 'SI' TBT.'TCO2' ; Qj= qair + qhe + qh2 + qo2 + qn2 + qco + qco2 ; 'SI' TBT.'VAPEUR' ; Qj = Qj + qeau ; 'SI'('NON'('EGA' Qj 0.)) ; iQj=1./Qj ; 'SINON' ; iQj=0. ; 'FINSI' ; Yvapj = qeau '*' iQj ; Yairj = qair '*' iQj ; Yhej = qhe '*' iQj ; Yh2j = qh2 '*' iQj ; Yo2j = qo2 '*' iQj ; Yn2j = qn2 '*' iQj ; Yco2j = qco2 '*' iQj ; Ycoj = qco '*' iQj ; Mj=((Yvapj/Mkvap)+(Yairj/Mkair)+(Yhej/Mkhe)+(Yh2j/Mkh2)+(Yo2j/Mko2)+ (Yn2j*Mkn2)+(Yco2j/Mkco2)+(Ycoj/Mkco))**(-1.) ; Xvj=Yvapj*Mj/Mkvap ; Pvj = Pt * Xvj ; * 'SI' (TBT.'CONDMAS') ; * Pt =extr tic.'PT' ndl ; * Tfm=extr tic.'Tfm' ndl ; * Qj=qeau + qair + qhe + qh2 + qo2 + qn2 + qco + qco2; *a peu près Xvj = Yvj on fera mieux après * Xvj = qeau/Qt ; * Pvj = Pt * Xvj ; * Hinj = VARI HVS Pvj (Tinj + 273.15) ; * Tsat = VARI TSATP Pt ; * Hliq = VARI HLS Pvj Tsat ; * Hvap = VARI HVS Pvj Tsat ; * mess ' Hinj=' Hinj ' Hliq=' Hliq ' Hvap=' Hvap ; * mess 'Pvj=' pvj ' Tsat = ' Tsat ' Tinj=' (Tinj + 273.15); * Ksi=(Hinj - Hliq)/(Hvap - Hliq) ; * Ksi=MINI (PROG 1. Ksi) ; * mess ' Ksi ' Ksi ' qeau= ' qeau ' qvap=' (qeau*Ksi); **? Mliqbr= Mliqbr + (qeau*(1. - Ksi)) ; * qeau = qeau * Ksi ; * 'FINSI' ; 'SINON' ; 'SI'('NON'('EGA' Qj 0.)) ; iQj=1./Qj ; 'SINON' ; iQj=0. ; 'FINSI' ; Yvapj = qeau '*' iQj ; Yairj = qair '*' iQj ; Yhej = qhe '*' iQj ; Yh2j = qh2 '*' iQj ; Yo2j = qo2 '*' iQj ; Yn2j = qn2 '*' iQj ; Yco2j = qco2 '*' iQj ; Ycoj = qco '*' iQj ; 'FINSI' ; Si(EGA Qj 0.) ; Roj = 0. ; Sinon ; Rgj = (TBT.'Rgvap' * Yvapj) + (TBT.'Rgair' * Yairj) + (TBT.'Rghe' * Yhej) + (TBT.'Rgh2' * Yh2j) + (TBT.'Rgo2' * Yo2j) + (TBT.'Rgn2' * Yn2j) + (TBT.'Rgco' * Ycoj) + (TBT.'Rgco2' * Yco2j) ; Roj = Pt '/' (Tinj '+' 273.15) '/' Rgj ; Finsi ; 'FINSI TTINJ KAS1' ; *-------------- FIN TTINJ ---------------------------------------------- rxtsce .'Yvapj'= Yvapj ; rxtsce .'Yairj'= Yairj ; rxtsce .'Yhej' = Yhej ; rxtsce .'Yh2j' = Yh2j ; rxtsce .'Yo2j' = Yo2j ; rxtsce .'Yn2j' = Yn2j ; rxtsce .'Yco2j'= Yco2j ; rxtsce .'Ycoj' = Ycoj ; rxtsce .'aex' = aex ; rxtsce .'Qj' = Qj ; rxtsce .'Qlj' = Qlj ; rxtsce .'Tj' = tinj ; rxtsce .'Roj' = Roj ; *------------------------------------------------------------- *Caractéristiques de l'injection au pas de temps N * c'est a dire Dtn = tn - t(n-1) a l'instant n-1 'SI' ( TBT.'IMPR' >EG 2) ; 'FINSI' ; *mess '=================== FIN KAS1 ======================='; resproc qeau qliq qair qhe qh2 qo2 qn2 qco qco2 ; 'FINSI KAS1' ; ************************************************************************ ********* FIN KAS1 ***************************************************** ************************************************************************ ************************************************************************ ********* DEBUT KAS2 *************************************************** ************************************************************************ 'SI KAS2' (EGA KAS 'KAS2') ; diru =Briches.'diru' ; Sbreche = GEO.CSbreche ; $breche = GEO.C$breche ; facgeo = GEO.Cfacgeo ; brechei = GEO.Cbrechei ; brechec = GEO.Cbrechec ; breche = GEO.Cbreche ; $menvf = rxt.'GEO'.'$menvf' ; $vtf = rxt.'GEO'.'$vtf' ; Roj = rxtsce .'Roj' ; Qj = rxtsce .'Qj' ; Qlj = rxtsce .'Qlj' ; tinj= rxtsce .'Tj' ; ************************************************************** **** Evolution de la source en fct du temps ****************** t = rxtsce .'t' ; * Récupération des fractions massiques Yvapj= rxtsce .'Yvapj' ; Yairj= rxtsce .'Yairj' ; Yhej = rxtsce .'Yhej' ; Yh2j = rxtsce .'Yh2j' ; Yo2j = rxtsce .'Yo2j' ; Yn2j = rxtsce .'Yn2j' ; Yco2j= rxtsce .'Yco2j' ; Ycoj = rxtsce .'Ycoj' ; Qjf = Qj '*' facgeo ; 'SI' ('EGA' Qj 0.0) ; Roj = 0.0 ; guj = 0.0 ; 'SINON' ; Roj = rxtsce .'Roj' ; guj = (Qjf '/' Sbreche '/' Roj ) ; 'FINSI' ; Rvapj = Roj '*' Yvapj ; Rairj = Roj '*' Yairj ; Rhej = Roj '*' Yhej ; Rh2j = Roj '*' Yh2j ; Ro2j = Roj '*' Yo2j ; Rn2j = Roj '*' Yn2j ; Rco2j = Roj '*' Yco2j ; Rcoj = Roj '*' Ycoj ; * Les donnees physiques Cpvap = TBT.'Cpvap' ; Lv = TBT.'Lv' ; Rabs = TBT.'Rabs' ; Rgh2 = TBT.'Rgh2' ; Mkh2 = TBT.'Mkh2' ; Rghe = TBT.'Rghe' ; Mkhe = TBT.'Mkhe' ; Rgo2 = TBT.'Rgo2' ; Mko2 = TBT.'Mko2' ; Rgn2 = TBT.'Rgn2' ; Mkn2 = TBT.'Mkn2' ; Rgco2 = TBT.'Rgco2' ; Mkco2 = TBT.'Mkco2' ; Rgco = TBT.'Rgco' ; Mkco = TBT.'Mkco' ; Rgvap = TBT.'Rgvap' ; Mkvap = TBT.'Mkvap' ; Rgair = TBT.'Rgair' ; Mkair = TBT.'Mkair' ; * Calcul Cp (Tj) CALCP Tj = tinj ; * Calcul des Cvs pour l'injection Cpvapj = TBT.'Cpvap' ; Cvvapj = Cpvapj '-' Rgvap ; Cvhej = Cphej '-' Rghe ; Cvh2j = Cph2j '-' Rgh2 ; Cvo2j = Cpo2j '-' Rgo2 ; Cvn2j = Cpn2j '-' Rgn2 ; Cvco2j = Cpco2j '-' Rgco2 ; Cvcoj = Cpcoj '-' Rgco ; Cvairj = Cpairj '-' Rgair ; Cvj = (Cvvapj * Yvapj)+(Cvairj * Yairj)+(Cvhej * Yhej)+ (Cvh2j * Yh2j)+(Cvo2j * Yo2j)+(Cvn2j * Yn2j)+ (Cvcoj * Ycoj)+(Cvco2j * Yco2j) ; Cpj = (Cpvapj * Yvapj)+(Cpairj * Yairj)+(Cphej * Yhej)+ (Cph2j * Yh2j)+(Cpo2j * Yo2j)+(Cpn2j * Yn2j)+ (Cpcoj * Ycoj)+(Cpco2j * Yco2j) ; Rgj = (Rgvap * Yvapj)+(Rgair * Yairj)+(Rghe * Yhej)+ (Rgh2 * Yh2j)+(Rgo2 * Yo2j)+(Rgn2 * Yn2j)+ (Rgco * Ycoj)+(Rgco2 * Yco2j) ; Hj = Cpj '*' (Tj '+' 273.15) ; Ej = Cvj '*' (Tj '+' 273.15) ; Lbreche=Sbreche**(1./IDIM) ; Knj=0.05 * guj ; Enj=(Knj**1.5)/Lbreche ; 'SI' ( TBT.'IMPR' >EG 2) ; 'FINSI' ; src=0.; 'SI' TBT.'FPAROI' ; brchp=breche ; 'SINON' ; brchp=brechei ; 'FINSI' ; 'SI' DIM3D ; $brechec= GEO.C$brechc ; 'SINON' ; 'NATURE' 'DISCRET' ; 'FINSI' ; *============================================================= Briches.'Rvapj'=Rvapj ; Briches.'Rairj'=Rairj ; Briches.'Rhej' =Rhej ; Briches.'Rh2j' =Rh2j ; Briches.'Ro2j' =Ro2j ; Briches.'Rn2j' =Rn2j ; Briches.'Rco2j'=Rco2j ; Briches.'Rcoj' =Rcoj ; Briches.'Rgj' =Rgj ; * Briches.'Hj' =Hj ; * Briches.'Ej' =Ej ; Briches.'Tj' =Tj ; * Briches.'Qj' =Qj ; Briches.'Roj' =Roj ; Briches.'gj' =gj ; * Briches.'guj' =guj ; Briches.'unvf0'=unvf0 ; Briches.'src' =src ; aex = rxtsce .'aex' ; *mess '=================== FIN KAS2 ======================='; resproc Rvapj Rairj Rhej Rh2j Ro2j Rn2j Rco2j Rcoj Rgj Hj Ej Tj aex Qj Roj gj guj unvf0 src ; 'FINSI KAS2' ; ************************************************************************ ********* FIN KAS2 ***************************************************** ************************************************************************ FINPROC ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales