* fichier : wsgg.dgibi ************************************************************************ ************************************************************************ ****************** CONVECTION-RAYONNEMENT + VAPEUR D'EAU ********** * * * * Couplage convection naturelle laminaire/rayonnement milieu absorbant* * * * Convection naturelle horizontale dans une cavite carree contenant * * de la vapeur d'eau a la pression de 1 atm. * * La temperature des parois varie entre 1000K et 2000K. * * * * Par rapport au test de base cvry-2D-1.dgibi le milieu est un gas * * reel modelise par le modele WSGG (Weighted Sum of Gray Gases) * * dans lequel le gas est decompose en la somme de 3 gaz gris affectés * * chacun d'un facteur de ponderation dependant polynomialement de * * la temperature et d'un coefficient d'absorption constant. * * * * Données: test de Tan avec Ra = 1.e4 et Nr = 1. * * Validation numerique par comparaison avec Trio-EF * * * * Formulation EF * * Algorithme: implicite en régime permanent avec 6 inconnues * * convection traitée par pénalisation * * rayonnement traité par la methode des harmoniques * * sphériques (P1) + modele WSGG a 3 gaz * * non linearite des proprietes radiatives * * * * opérateurs utilisés : DUDW, KONV, LAPN, MDIA * * * * References: * * - pour le couplage convection rayonnement et l'approximation P1 * * test cvry-2D-1.dgibi * * Z.Tan J.R.Howell, I.J.H.M.T Vol.34 1991 * * rapport DMT/96.030 et DMT/94.505 * * - pour les proprietes radiatives de la vapeur d'eau: * * T.H.Smith J.H.T ASME Vol.104 1982 * * rapport DMT/94.505 * * * *********************************************************************** complet = faux ; post = vrai ; graph = faux ; *---------------------------------- * Parametres physiques *---------------------------------- Ra = 1.e4 ; Nr = 1.0 ; om = 0. ; Tref = 1000. ; L = 1. ; phi0 = 1. ; th = 2. ; tc = 1. ; Pr = 0.71 ; Pe = 1. ; Re = Pe/Pr ; a = 1. ; emis = 1. ; * valeurs de reference pour les Nusselt - version du 8 jan. 98 * test de Tan Nu_Tref = 2.15 ; Nu_Iref = 13.1 ; *---------------------------------- * Parametres numeriques *---------------------------------- OMEGA = 0.6 ; EPSS = 1.E-10; maxiter = 60 ; si complet; EPS = 1.E-4 ; sinon ; EPS = 1.E-2 ; finsi; * --------------------------------- * Re : nombre de Reynolds * Ra : nombre de Rayleigh * Pr : nombre de Prandtl * Pe : nombre de Peclet = Pr * Re * Nr : nombre caracteristique du rayonnement * Tref : temperature de reference en degre K * L : longueur caracteristique * (pour le calcul des proprietes radiatives) * t0 : temperature de reference pour le pb adimensionne * th : hot temperature * tc : cold temperature * emis : emissivite des parois * a : rapport d'allongement (largeur/hauteur) * ki : coefficient d'absorption du gas i * taui : epaisseur optique (ki * L) * om : albedo ( coeff.diffus /(coeff.diffus + coeff.absorb) ) * phi0 : paramètre de forme * * --------------------------------- * OMEGA : facteur de relaxation * EPS : precision sur les itérations internes * EPSS : facteur de penalisation * maxiter : nombre maximum d'iterations *---------------------------------- * Proprietes radiatives *---------------------------------- * H2O Ptot=1atm * decomposition de la vapeur d'eau en 3 gas gris * definition des coefficient d'absorption ki et des coefficients * pour le calcul des facteurs de ponderation wi * taui designe l'epaisseur optique correspondante k1 = 0.4496 ; k2 = 7.113 ; k3 = 119.7 ; k4 = 1.e-5 ; tau1 = k1*L ; tau2 = k2*L ; tau3 = k3*L ; tau4 = k4*L ; a0= 6.324e-1 ; a1=-8.358E-4 ; a2= 6.135e-7 ; a3= -13.03e-11 ; b0=-2.016e-2 ; b1= 7.145E-4 ; b2=-5.212e-7 ; b3= 9.868e-11 ; c0= 3.500e-1 ; c1=-5.040E-4 ; c2= 2.425e-7 ; c3= -3.888e-11 ; * utilisation de la procedure CWSGG pour le calcul des wi * w1 = a0+a1*T+a2*T*T+a3*T*T*T ; * w2 = b0+b1*T+b2*T*T+b3*T*T*T ; * w3 = c0+c1*T+c2*T*T+c3*T*T*T ; * w4= 1.0 -w1-w2-w3 ; *--------------------------------------------------------------- 'DEBPROC' CWSGG T*'CHPOINT' a0*'FLOTTANT' a1*'FLOTTANT' a2*'FLOTTANT' a3*'FLOTTANT' ; * calcul de la loi polynomiale donnant les facteurs de ponderation * en fonction de la temperature en degre K * w = a0+a1*T+a2*T*T+a3*T*T*T ; 'FINPROC' w ; *--------------------------------------------------------------- *---------------------------------- * Maillage *---------------------------------- p1= 0. 0. ; p2= 0.5 0. ; p3= 0.5 0.5 ; p4= 0. 0.5 ; p5= 1. 0. ; p6= 0. 1. ; * maill. fin *di = 0.005 ; df = 0.055 ; *vi = 0.011 ; vf = df ; si complet ; * maill. moyen di = 0.005 ; df = 0.1 ; vi = 0.02 ; vf = df ; sinon ; * maill. grossier di = 0.01 ; df = 0.2 ; vi = 0.1 ; vf = df ; finsi; * ligne horiz. c1a= droit p1 p2 dini di dfin df ; c1b = droit p2 p5 dini df dfin di ; * ligne vert. c4a= droit p6 p4 dini vi dfin vf ; c4b = droit p4 p1 dini vf dfin vi ; l1 = c1a et c1b ; l4 = c4a et c4b ; l13 = l1 et l3 ; mt = l1 l2 l3 l4 dalle plan ; tass mt ; orient mt ; *---------------------------------- * Tables domaine *---------------------------------- *---------------------------------- * Definition de coefficients divers *---------------------------------- t0 = (th+tc)/2. ; Gr = Ra/Pr ; gg = Gr/(Re*Re) ; ALFV = 1./Re ; ALFM = 1 ; E = emis/(4.-2.*emis) ; 3Nr = 3. * Nr ; 3Ntau1 = (-1.0)/(3Nr*tau1) ; 3Ntau2 = (-1.0)/(3Nr*tau2) ; 3Ntau3 = (-1.0)/(3Nr*tau3) ; 3Ntau4 = (-1.0)/(3Nr*tau4) ; ATE1 = (3.*E)*(a*tau1) ; ATT1 = (3.*((a*tau1)**2))*(1.-om) ; ATE2 = (3.*E)*(a*tau2) ; ATT2 = (3.*((a*tau2)**2))*(1.-om) ; ATE3 = (3.*E)*(a*tau3) ; ATT3 = (3.*((a*tau3)**2))*(1.-om) ; ATE4 = (3.*E)*(a*tau4) ; ATT4 = (3.*((a*tau4)**2))*(1.-om) ; *---------------------------------- * Initialisation du champ de temperature *---------------------------------- ; RT = EQEX RT CLIM 'TT' TIMP l4 th 'TT' TIMP l2 tc ; rt.INCO = TABLE 'INCO' ; rt.'NITER' = 1 ; rt.'OMEGA' = 1. ; exec rt ; *---------------------------------- * Definition du systeme lineaire *---------------------------------- * bilan masse et qdm (vitesse UN) * bilan energie (temperature) * bilan sur les 4 intensites radiatives de la decomposition * (I1, I2, I3, I4) ZONE $MT 'OPER' DUDW EPSS INCO 'UN' ZONE $MT 'OPER' KONV 1. 'UN' ALFV INCO 'UN' ZONE $MT 'OPER' LAPN ALFV INCO 'UN' ZONE $MT 'OPER' MDIA 'GB' INCO 'TN' 'UN' ; * inconnue T ZONE $MT 'OPER ' KONV Pe 'UN' ALFM INCO 'TN' ZONE $MT 'OPER' LAPN ALFM INCO 'TN' ; ZONE $MT 'OPER' MDIA 'CT1' INCO 'TN' ZONE $MT 'OPER' MDIA 'CI1T' INCO 'I1' 'TN' ZONE $l13 'OPER' MDIA 'CdT1' INCO 'TN' ZONE $l13 'OPER' MDIA 'CdI1T' INCO 'I1' 'TN' ; ZONE $MT 'OPER' MDIA 'CT2' INCO 'TN' ZONE $MT 'OPER' MDIA 'CI2T' INCO 'I2' 'TN' ZONE $l13 'OPER' MDIA 'CdT2' INCO 'TN' ZONE $l13 'OPER' MDIA 'CdI2T' INCO 'I2' 'TN' ; ZONE $MT 'OPER' MDIA 'CT3' INCO 'TN' ZONE $MT 'OPER' MDIA 'CI3T' INCO 'I3' 'TN' ZONE $l13 'OPER' MDIA 'CdT3' INCO 'TN' ZONE $l13 'OPER' MDIA 'CdI3T' INCO 'I3' 'TN' ; ZONE $MT 'OPER' MDIA 'CT4' INCO 'TN' ZONE $MT 'OPER' MDIA 'CI4T' INCO 'I4' 'TN' ZONE $l13 'OPER' MDIA 'CdT4' INCO 'TN' ZONE $l13 'OPER' MDIA 'CdI4T' INCO 'I4' 'TN' ; * inconnue I1 ZONE $MT 'OPER' MDIA 'CI1' INCO 'I1' ZONE $MT 'OPER' MDIA 'CTI1' INCO 'TN' 'I1' ZONE $fron 'OPER' MDIA 'CdI1' INCO 'I1' ZONE $fron 'OPER' MDIA 'CdTI1' INCO 'TN' 'I1' ; * inconnue I2 ZONE $MT 'OPER' MDIA 'CI2' INCO 'I2' ZONE $MT 'OPER' MDIA 'CTI2' INCO 'TN' 'I2' ZONE $fron 'OPER' MDIA 'CdI2' INCO 'I2' ZONE $fron 'OPER' MDIA 'CdTI2' INCO 'TN' 'I2' ; * inconnue I3 ZONE $MT 'OPER' MDIA 'CI3' INCO 'I3' ZONE $MT 'OPER' MDIA 'CTI3' INCO 'TN' 'I3' ZONE $fron 'OPER' MDIA 'CdI3' INCO 'I3' ZONE $fron 'OPER' MDIA 'CdTI3' INCO 'TN' 'I3' ; * inconnue I4 ZONE $MT 'OPER' MDIA 'CI4' INCO 'I4' ZONE $MT 'OPER' MDIA 'CTI4' INCO 'TN' 'I4' ZONE $fron 'OPER' MDIA 'CdI4' INCO 'I4' ZONE $fron 'OPER' MDIA 'CdTI4' INCO 'TN' 'I4' ; RV = EQEX RV CLIM 'UN' UIMP fron 0.0 'UN' VIMP fron 0.0 'TN' TIMP l4 th 'TN' TIMP l2 tc ; rv.INCO = TABLE 'INCO' ; rv.'NITER' = 1 ; rv.'OMEGA' = OMEGA ; *rv.'IMPR' = 1 ; rv.'ITMA' = 1 ; *---------------------------------- * Algorithme *---------------------------------- repeter bloc2 ; nbiter = &bloc2 ; * calcul des facteurs de ponderation pour les 3 gas T = rv.INCO.'TN' ; 4T3 = 4.0 * (T ** 3) ; w1 = CWSGG TK a0 a1 a2 a3 ; w2 = CWSGG TK b0 b1 b2 b3 ; w3 = CWSGG TK c0 c1 c2 c3 ; *----- actualisation des coefficients ----------------------------- * gaz 1 rv.INCO.'CI1' = ATT1; rv.INCO.'CI1T' = 3Ntau1 * rv.INCO.'CI1' ; * gaz 2 rv.INCO.'CI2' = ATT2 ; rv.INCO.'CI2T' = 3Ntau2 * rv.INCO.'CI2' ; * gaz 3 rv.INCO.'CI3' = ATT3 ; rv.INCO.'CI3T' = 3Ntau3 * rv.INCO.'CI3' ; * gaz 4 rv.INCO.'CI4' = ATT4 ; rv.INCO.'CI4T' = 3Ntau4 * rv.INCO.'CI4' ; * --- fin actualisation des coefficients -------------------------- UN = copie rv.INCO.'UN' ; TN = copie rv.INCO.'TN' ; I1 = copie rv.INCO.'I1' ; I2 = copie rv.INCO.'I2' ; I3 = copie rv.INCO.'I3' ; I4 = copie rv.INCO.'I4' ; exec rv ; MESS ' ERREUR RELATIVE TN ' XT 'I1 ' XI1 'I2' XI2 'I3' XI3 'I4' XI4; *MESS ' EXTREMUM TN MAX' Tmax 'MIN ' Tmin ; * mess ' iteration ' nbiter ; * --- test de convergence ------------------------------------------- si ((XT < EPS) et (XI1 < EPS)) ; quit bloc2 ; sinon ; si (nbiter > maxiter) ; finsi ; finsi ; fin bloc2 ; IN = rv.INCO.'I1' ; *---------------------------------- * Calcul des Nusselts *---------------------------------- si post ; * * calcul des Nusselt dus a la conduction et au rayonnement * sur la paroi chaude (l4) * Nusselt du a la conduction * Nusselt du au rayonnement 4T4 = 4.0 * (T_l4 ** 4) ; dI1dn = ATE1 * (I1_l4 - (w1 * 4T4)) ; dI2dn = ATE2 * (I2_l4 - (w2 * 4T4)) ; dI3dn = ATE3 * (I3_l4 - (w3 * 4T4)) ; dI4dn = ATE4 * (I4_l4 - (w4 * 4T4)) ; *Nu_I = kops Nu_I1 + Nu_I2 ; * Nusselt global pour la paroi *message 'LONGUEUR DE LA PAROI = ' dyt ; Nu_Tm = Nu_Tdyt / dyt ; message 'Nusselt de conduction moyen: ' Nu_Tm ; Nu_Im = Nu_Idyt / dyt ; message 'Nusselt de rayonnement moyen: ' Nu_Im ; * comparaison aux valeurs de reference finsi ; *---------------------------------- * Graphique *---------------------------------- si graph ; titre 'CONDUCTION - RAYONNEMENT Ra = 1.e5 Nr = 1. '; f_homo = 0.01 ; * température relative comprise entre -0.5 et 0.5 * intensites radiatives * vitesse TAB1 = TABLE ; TAB1. 1 = 'MARQ CROI REGU ' ; TAB1.'TITRE' = TABLE ; 'TITR' 'TEMPERATURE' 'TITX' ' x ' 'TITY' ' T ' ; *opti donn 5 ; * evolution des Nusselt sur la paroi chaude Nu_l = Nu_Tl + Nu_Il ; TAB3 = TABLE ; TAB3.1 = 'MARQ CROI REGU ' ; TAB3.3 = 'MARQ LOSA REGU ' ; TAB3.'TITRE' = TABLE ; 'TITR' 'Nombre de Nusselt local sur la paroi chaude ' 'TITX' ' y ' 'TITY' ' Nusselt ' ; *opti donn 5 ; finsi ; fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales