* RETSAT PROCEDUR MAGN 18/06/08 21:15:13 9840 ndl*'ENTIER' Rhomn*'FLOTTANT' ITER*'ENTIER' ; *----------------------------------------------------------------------- * LOIETAT objet de type 'MOT' indique le type de la loi d'état pour * la vapeur * LOIETAT='GP' gaz parfait -> ZVAP=1. * LOIETAT='GR' gaz reel -> ZVAP<1. * tic. objet de type TABLE * *Paramètres * TBT.'YBRO' : fraction massique de brouillard autorisée (Déf 1.E-4) * TBT.'V1alfa' : Coefficient de relaxation sur la pression (Déf 0.8)(wz) * TBT.'TAUXcm' : part de la vapeur sursaturée que l'on condense * Tols : Tolérance à la saturation en Pa = 0. Pascal * *Objets de type CHPOINT SCAL SOMMET * Ptc = kcht $mod scal sommet Pt * PSTF Pression de saturation PSTF = Psat(Tf °K) * RSTF Densité de vapeur à saturation RSTF = Psat/(Rvap Tf(°C)Zv) * tic.'TF' température mélange pas de temps n * tic.'RHO' densité du mélange pas de temps n * tic.'RVP' densité de vapeur + brouillard n * tic.'RAIR' densité air pas de temps n * . . pas de temps n * RVP = tic.'RVP' vapeur pure + RBRO pas de temps n * ROVP = tic.'RVP' - tic.'RBRO' vapeur pure pas de temps n * Rbro = tic.'RBRO' densité brouillard au pas de temps n-1 * Rhot = densité du mélange gazeux -> Pt * *Objets de type LISTREEL * Ptn1 = extr tic.'PT' ndl (ndl correspond à n-1) * Rhomnm * tic.'Rhomn' densité du mélange gazeux (vapeur+incondensables) -> Pt * tic.'Rhomv' * tic.'Rhomvg' * *----------------------------------------------------------------------- Tols = 0. ; mess ; mess '...............................................................'; * On initialise à gaz parfait LOIETAT = TBT.'LOI-ETAT' ; LDT = 'Gaz Parfait' ; Zv = 1. ; Si('EGA' LOIETAT 'GR') ; LDT = 'Gaz Reel' ; Finsi ; Mess ' Loi d état pour la vapeur: ' LDT ; *----------------------------------------------------------------------- * Tf = tic.'TF' ; mess; mess; * La température est limitée à 300°C pour rester dans les tables !! a = 300.; al=0.99; ala=al*a ; * b=ala*al*((1.-al)**(-1.)); * b2=ala*(1.+ (ala*al) - ala)*((1.-al)**(-1.)); b3 = ala*(1.+ (ala*ala*al) - (ala*ala))*((1.-al)**(-1.)); *Tf=(ik*Tf)+((1.-ik)*a*(Tf+b)*(inve(a+Tf+b))); *Tf=(ik*Tf)+((1.-ik)*a*((Tf*Tf+b2)*(inve(a+(Tf*Tf+b2))))); Finsi; Tkfm = Tfm + 273.15 ; *...................................... *----------------------------------------------------------------------- *----------------------------------------------------------------------- mess 'ZZZ On fait un bilan de la distribution des masses en entrée' ' RETSAT: Densités au pas de temps n' ; * Constante des gaz parfaits au pas de temps n-1 Rgp = tic.'Rgp' ; *----------------------------------------------------------------------- *----------------------------------------------------------------------- * On calcule les invariants de la part d'incondensable : Pinc et Roinc * CALCP Calcul des Cp des incondensables Cpvap = TBT.'Cpvap' ; Pairo = Mair * TBT.'Rgair' / vtotal ; Pinco = Pairo ; Roinc = tic.'RAIR' ; Rocpinc= tic.'RAIR'*Cpair ; Mo2 = 0. ; Si TBT.'TO2' ; Po2o = Mo2 * TBT.'Rgo2' / vtotal ; Pinco = Pinco + Po2o ; Roinc = Roinc + tic.'RO2' ; Rocpinc= Rocpinc + (tic.'RO2'*Cpo2) ; Finsi ; Mn2 = 0. ; Si TBT.'TN2' ; Pn2o = Mn2 * TBT.'Rgn2' / vtotal ; Pinco = Pinco + Pn2o ; Roinc = Roinc + tic.'RN2' ; Rocpinc= Rocpinc + (tic.'RN2'*Cpn2) ; Finsi ; Mh2 = 0. ; Si TBT.'TH2' ; Ph2o = Mh2 * TBT.'Rgh2' / vtotal ; Pinco = Pinco + Ph2o ; Roinc = Roinc + tic.'RH2' ; Rocpinc= Rocpinc + (tic.'RH2'*Cph2) ; Finsi ; Mhe = 0. ; Si TBT.'THE' ; Pheo = Mhe * TBT.'Rghe' / vtotal ; Pinco = Pinco + Pheo ; Roinc = Roinc + tic.'RHE' ; Rocpinc= Rocpinc + (tic.'RHE'*Cphe) ; Finsi ; Mco = 0. ; Si TBT.'TCO' ; Pcoo = Mco * TBT.'Rgco' / vtotal ; Pinco = Pinco + Pcoo ; Roinc = Roinc + tic.'RCO' ; Rocpinc= Rocpinc + (tic.'RCO'*Cpco) ; Finsi ; Mco2 = 0. ; Si TBT.'TCO2' ; Pco2o = Mco2 * TBT.'Rgco2' / vtotal ; Pinco = Pinco + Pco2o ; Roinc = Roinc + tic.'RCO2' ; Rocpinc= Rocpinc + (tic.'RCO2'*Cpco2) ; Finsi ; Pinc = Pinco * Tkfm ; *-------------------------------------------------------------- *A ce stade on a: * Mvap=Mrvp=Mvapb * Mtotg(n) = Mtotp(n) = Mtot(n+1) * Mtotp est déduite de Rhot déduit de la pression * Mtotg = Mvap + Minc * Mtot = est l'intégrale de Rho (dans laquelle on a remis le brouillard) * Pt=Pto # Ptn1 !!! *-------------------------------------------------------------- *-------------------------------------------------------------- * On remet le brouillard en vapeur pour éventuellement * l'évaporer si les conditions sont réunies Rbro = tic.'RBRO' ; Rho = tic.'RHO' + Rbro ; Rvp = tic.'RVP' ; Rovp = Rvp ; **?? Mgini = somt (Diag*Rho) ; Rbro = 0. ; Rbrom = 0. ; Mliq = 0. ; * Masses globales au pas de temps n Minc = Mair + Mo2 + Mn2 + Mh2 + Mhe + Mco + Mco2 ; Mvap = Mrvp ; Mbro = 0. ; Mtotg= Mvap + Minc ; ' Minc=' Minc ; mess '%$$ On remet le brouillard en suspension Mrhot='mtot ' dmt='dmt; *----------------------------------------------------------------------- *----------------------------------------------------------------------- * Calcul de la pression 0D avec le champ Tf actualise Pvap = Pt - Pinc ; mess 'ZZZ0 Mtotp est déduite de Rhot déduit de la pression' ; BILR=tic.'RHO' - tic.'RAIR' - tic.'RVP' ; BILT=rhot - tic.'RAIR' - tic.'RVP' ; *----------------------------------------------------------------------- *----------------------------------------------------------------------- *-------------------------------------------------------------- * On Teste la saturation * Si non on sort Si(indsat < 0.) ; Qcm = 0. ; Mliq = 0. ; Rebro= 0. ; Mlq = 0. ; tic.'YVAP' = yvap ; Cpvap = TBT.'Cpvap' ; RESPROC Pt Rhot Qcm Rebro Mliq Mlq ; Finsi ; *-------------------------------------------------------------- *----------------------------------------------------------------------- *----------------------------------------------------------------------- *2/ RETOUR A LA SATURATION Tg = Tf ; Tkgm = Tgm + 273.15 ; nbzv=10O ; wz = TBT.'V1alfa' ; wz=1.; wb=TBT.'TAUXcm' ; *wb=0.01 ; *wb=1. ; REPETER BLOC nbzv ; Mtotg=Mvap + Mair + Mo2 + Mn2 + Mh2 + Mhe + Mco + Mco2 ; Pinc = Pinco * Tkgm ; Pvap = Pt - Pinc ; *-------------------------------------------------------------- * CALCUL DE Rhosat On borne Rho par la saturation * On calcule d'abord Rhosat que l'on déduit de Psat * Si Gaz parfait Rhosat = Psat/(Rgvap (Tg + 273.15)) * Sinon Rhosat = Psat/(Zv* Rgvap*(Tg + 273.15)) * où Zv = f (Rhosat , Tgk) Il faut donc itérer Si('EGA' LOIETAT 'GR') ; Sinon ; Zv = 1. ; Finsi ; * RSTF : Ro vapeur à saturation * ROVP : Ro vapeur borné par la saturation *-------------------------------------------------------------- *-------------------------------------------------------------- *-------------------------------------------------------------- *-------------------------------------------------------------- * CALCUL de RBRO * On sépare vapeur + brouillard (tic.'RVP') et liquide * (tic.'RLIQ') RDIF = (tic.'RVP' - ROVP) + 1.e-10 ; RDIF = wb*RDIF ; ROVP = (tic.'RVP' - RDIF) + 1.e-10 ; RVP = ROVP + RDIF ; RBRO = YBRO '*' Rhot ; RLIQ = (RDIF - (YBRO*rhot)) ; * Masses globales au pas de temps n iteration &bloc Minc = Mair + Mo2 + Mn2 + Mh2 + Mhe + Mco + Mco2 ; Mbro = 0. ; Mtotg= Mvap + Minc ; Mtotl= Mvap + Minc + Mliq + Mbro ; * On remet la chaleur latente de condensation dans le mélange * gazeux. On considère que le brouillard ou l'eau liquide se * mettent rapidement en équilibre thermique avec le gaz. dtg = (RLIQ*Cpliq)*(Tg+273.15)/((ROVP*Cpvap) + Rocpinc) ; **?? Tg = Tg - Dtg ; mess; mess; * La température est limitée à 300°C pour rester dans les tables !! a = 300.; al=0.99; ala=al*a ; * b=ala*al*((1.-al)**(-1.)); * b2=ala*(1.+ (ala*al) - ala)*((1.-al)**(-1.)); b3 = ala*(1.+ (ala*ala*al) - (ala*ala))*((1.-al)**(-1.)); Finsi; Tkgm = Tgm + 273.15 ; * On recalcule la pression Si('EGA' LOIETAT 'GR') ; Sinon ; Zv = 1. ; Finsi ; sr = (Zv*ROVP*TBT.'Rgvap'*(Tg+273.15)) + Pinc ; a = sr *(1./Vtotal) ; da = (Pt - a)/a 'ABS' ; Pt = (wz*a) + ((1.-wz)*Pt) ; 'itérations ZZZ ' ITER ; quitter BLOC; finsi ; FIN BLOC ; Si(da > 1.e-3) ; Mess 'On n a pas convergé sur la pression en' &bloc 'itérations, da=' da ' ZZZ ' ITER ; finsi ; mess 'ZZZ2 Mtotp est déduite de Rhot déduit de la pression' ; mess 'ZZZ2' ; ' Mtot=' Mtot ' Mtotl=' Mtotl (Mtotg+Mliq+Mbro) ; tic.'TF' = Tg ; tic.'RVP' = Rvp ; tic.'RBRO' = Rbro ; tic.'RLIQ' = Rliq ; *-------------------------------------------------------------- *-------------------------------------------------------------- * On s'occupe des pressions partielles Pinc = Pinco * Tkfm ; 'DT=' tic.'DT' ; Rliqm = Mliq / Vtotal ; * On est obligé de reprendre la densité moyenne Rhom, la densité moyenne * de vapeur Rhomvn et la densité moyenne vapeur + gouttes et lui enlever * le drainage du liquide sans oublier bien sur l'énergie **?? Rhomn = ( somt (Diag * Rhot)) / Vtotal ; **?? Rhomvn = ( somt (Diag * Rovp)) / Vtotal ; **?? Rhomvg = ( somt (Diag * (Rovp+Rbro))) / Vtotal ; *------------------------ **??reliq = Cpmnm '*' ( 'SOMT' (Diag '*' RLIQ '*' (Tf '+' 273.15))) ; **??reliq = reliq + ('SOMT' (Lvv*Diag*tic.'RLIQ')) ; **?? reliq = somt (Diag*reliq) ; rebro = 0. ; *------------------------ **?? Remncm = 'SOMT' (Cpliq '*' Diag '*' Rliq '*' (Tf '+' 273.15)) ; **?? tic.'Remn' = ('ENLEV' (tic.'Remn') (dime tic.'Remn')) **?? 'ET' ('PROG' Remncm) ; **?? Mvp = somt (Diag * ROVP) ; Rbrom = Mbro / Vtotal ; Cpvap = TBT.'Cpvap' ; Cvvap = Cpvap '-' TBT.'Rgvap' ; Qcm = Mliq / (tic.'DT') ; *Econdm = Cvvap * (SOMT (Diag*RLIQ*(tic.'TF' + 273.15)))/tic.'DT' ; *Hcondm = Cpvap * (SOMT (Diag*RLIQ*(tic.'TF' + 273.15)))/tic.'DT' ; * Détermination de la masse volumique moyenne de liquide en suspension : **?? mair = somt (Diag * Rair); 'Mair=' mair 'Mvap =' mvap ; *----------------------------------------------------------------------- tic.'RHO' = Rhot ; tic.'RBRO' = Rbro ; tic.'RVP' = Rovp + Rbro ; tic.'YVAP' = yvap ; Si TBT.'TO2' ; Finsi ; Si TBT.'TN2' ; Finsi ; Si TBT.'TH2' ; Finsi ; Si TBT.'THE' ; Finsi ; Si TBT.'TCO' ; Finsi ; Si TBT.'TCO2' ; Finsi ; * mess '%$$ Somme des Y ' (mini sy)(maxi sy) ; mess '...............................................................'; mess ; RESPROC Pt Rhot Qcm Rebro Mliq Mlq ; *----------------------------------------------------------------------- * Fin du traitement condensation en masse *----------------------------------------------------------------------- FINPROC;
© Cast3M 2003 - Tous droits réservés.
Mentions légales