* 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