Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clearvars
- tf = 2*60;
- nt = 10000;
- deltat=tf/nt;
- xf = 72E-3;
- nx = 14;
- deltax = xf/nx;
- yf = 72E-3;
- ny = 14;
- deltay = yf/ny;
- p = 6200 ;
- T0 = 293;
- pa0 = 0;%40;
- pw0 = 0;%1350 ;
- pb0 = p-pa0-pw0;%4801;
- Mw = 18.01528E-3;
- Mb = 28.97E-3;
- Ma = 44.01E-3;
- b0 = 0.225;
- lambdaa0 = 60000;
- theta0 = 0.422;
- alpha = 0.949;
- etas0 = 1.97*Ma;
- chi = 2.37;
- cg0 = 6.86;
- lambdac = -4120;
- ka0 = 2.27;
- lambdak = -2530;
- cm0 = 0.0208*Mw;
- beta = 1540;
- aant = 4.6543;
- bant = 1435.264;
- cant = -64.848;
- vs = 629E-6;
- vsa = 1000E-6;
- vsw = 1000E-6;
- rhos = 55.4;
- cps0 = 2.07E3;
- cpsa = 2E3;
- cpsw = 4.19E3;
- cpga = 0.86E3;
- cpgw = 1.9E3;
- cpgb = 1.006E3;
- keff = 44.5E-3;
- D0 = 2.2E-5;
- lambdasa = 60E3;
- lambdasw = 49E3;
- l = 299E-3;
- vg0 = (1 - vs*rhos)*(deltay*deltax*l);
- R = 8.314;
- for i = 1:(nx+1)
- for j = 1:(ny+1)
- T(i,j,1) = T0;
- rhoa(i,j,1) = Ma*pa0*vg0/(R*T0);
- rhow(i,j,1) = Mw*pw0*vg0/(R*T0);
- rhob(i,j,1) = Mb*pb0*vg0/(R*T0);
- vg(i,j,1) = vg0;
- end
- end
- n=1;
- for i=2:(nx)
- for j=2:(ny)
- t(n) = (n-1)*deltat;
- t = t(n);
- pa = (rhoa(i,j,n)/Ma)*R*T(i,j,n)/vg(i,j,n);
- vga = vg(i,j,n)/rhoa(i,j,n);
- vgpa = R*T(i,j,n)/(Ma*p);
- pw = (rhow(i,j,n)/Mw)*R*T(i,j,n)/vg(i,j,n);
- vgw = vg(i,j,n)/rhow(i,j,n);
- vgpw = R*T(i,j,n)/(Mw*p);
- pb = (rhob(i,j,n)/Mb)*R*T(i,j,n)/vg(i,j,n);
- vgb = vg(i,j,n)/rhob(i,j,n);
- vgpb = R*T(i,j,n)/(Mb*p);
- D = D0*(101300/p)*(T(i,j,n)/310)^1.5;
- cg = cg0*exp(lambdac/(R*T(i,j,n))) ;
- ka = ka0*exp(lambdak/(R*T(i,j,n)));
- cm = cm0*exp(beta/T(i,j,n));
- psat = 100000*10^(aant - bant/(T(i,j,n)+cant));
- sw = cg*cm*ka*pw/psat;
- uw = 1 - ka*pw/psat;
- vw = 1 + (cg -1)*ka*(pw/psat);
- dswdpw = cm*cg*ka/psat;
- duwdpw = -ka/psat;
- dvwdpw = (cg-1)*ka/psat;
- dqwdsw = 1/(uw*vw);
- dqwduw = -sw/(uw^2*vw);
- dqwdvw = -sw/(uw*vw^2);
- qw(i,j,n) = sw/(uw*vw);
- b = b0*exp( (lambdaa0/(R*T0))*((T0/T(i,j,n))-1));
- theta = theta0 + alpha*(1-(T0/T(i,j,n)));
- etas = etas0*exp(chi*(1-(T0/T(i,j,n))));
- dqadpa = b*etas*((b*pa)^theta+1)^(-(theta+1)/theta);
- qa(i,j,n) = etas*b*pa/(1+(b*pa)^theta)^(1/theta);
- dTdx = ( T(i+1,j,n) - T(i-1,j,n) ) / (2*deltax);
- dTdy = ( T(i,j+1,n) - T(i,j-1,n) ) / (2*deltay);
- d2Tdx2 = ( T(i+1,j,n) - 2*T(i,j,n) + T(i-1,j,n) ) / deltax^2;
- d2Tdy2 = ( T(i,j+1,n) - 2*T(i,j,n) + T(i,j-1,n) ) / deltay^2;
- drhodxa = ( rhoa(i+1,j,n) - rhoa(i-1,j,n) ) / (2*deltax);
- drhodya = ( rhoa(i,j+1,n) - rhoa(i,j-1,n) ) / (2*deltay);
- d2rhodx2a = ( rhoa(i+1,j,n) - 2*rhoa(i,j,n) + rhoa(i-1,j,n) ) / deltax^2;
- d2rhody2a = ( rhoa(i,j+1,n) - 2*rhoa(i,j,n) + rhoa(i,j-1,n) ) / deltay^2;
- drhodxw = ( rhow(i+1,j,n) - rhow(i-1,j,n) ) / (2*deltax);
- drhodyw = ( rhow(i,j+1,n) - rhow(i,j-1,n) ) / (2*deltay);
- d2rhodx2w = ( rhow(i+1,j,n) - 2*rhow(i,j,n) + rhow(i-1,j,n) ) / deltax^2;
- d2rhody2w = ( rhow(i,j+1,n) - 2*rhow(i,j,n) + rhow(i,j-1,n) ) / deltay^2;
- drhodxb = ( rhob(i+1,j,n) - rhob(i-1,j,n) ) / (2*deltax);
- drhodyb = ( rhob(i,j+1,n) - rhob(i,j-1,n) ) / (2*deltay);
- d2rhodx2b = ( rhob(i+1,j,n) - 2*rhob(i,j,n) + rhob(i-1,j,n) ) / deltax^2;
- d2rhody2b = ( rhob(i,j+1,n) - 2*rhob(i,j,n) + rhob(i,j-1,n) ) / deltay^2;
- Vnet = 0;
- Aa = rhos*(dqadpa*(R/Ma)*(T(i,j,n)/vg(i,j,n)));
- Aw = rhos*((dqwdsw*dswdpw)+(dqwduw*duwdpw)+(dqwdvw*dvwdpw))*(R/Mw)*T(i,j,n)/vg(i,j,n);
- rhoa(i,j,n+1) = rhoa(i,j,n) + ((D*(d2rhodx2a+d2rhody2a)-(1/vga)*Vnet)/(Aa+1))*deltat;
- rhow(i,j,n+1) = rhow(i,j,n) + ((D*(d2rhodx2w+d2rhody2w)-(1/vgw)*Vnet)/(Aw+1))*deltat;
- rhob(i,j,n+1) = rhob(i,j,n) + ((D*(d2rhodx2b+d2rhody2b)-(1/vgb)*Vnet))*deltat;
- sumrhocp = rhos*cps0+ rhoa(i,j,n)*cpga+ rhob(i,j,n)*cpgb +rhow(i,j,n)*cpgw+ rhos*cpsw*qw(i,j,n) + rhos*cpsa*qa(i,j,n) ;
- T(i,j,n+1) = T(i,j,n) +(deltat/sumrhocp)*( D*(cpga*(drhodxa*dTdx+drhodya*dTdy)+cpgw*(drhodxw*dTdx+drhodyw*dTdy)+cpgb*(drhodxb*dTdx+drhodyb*dTdy)) +...
- keff*(d2Tdx2 + d2Tdy2) );
- % sumrhocp = rhos*cps0+ rhoa(i,j,n)*cpga+ rhob(i,j,n)*cpgb +rhow(i,j,n)*cpgw+ rhos*cpsw*qw(i,j,n) + rhos*cpsa*qa(i,j,n) ;
- % T(i,j,n+1) = T(i,j,n) +deltat*(keff*(d2Tdx2 + d2Tdy2) )/sumrhocp ;
- vg(i,j,n+1) = vg(i,j,n);
- end
- end
- for j = 2:(ny)
- rhoa(1,j,n+1)=rhoa(2,j,n+1);
- rhoa(nx+1,j,n+1)=rhoa(nx,j,n+1);
- rhow(1,j,n+1)=rhow(2,j,n+1);
- rhow(nx+1,j,n+1)=rhow(nx,j,n+1);
- rhob(1,j,n+1)=rhob(2,j,n+1);
- rhob(nx+1,j,n+1)=rhob(nx,j,n+1);
- end
- for i = 2:(nx)
- rhoa(i,1,n+1)=rhoa(i,2,n+1);
- rhow(i,1,n+1)=rhow(i,2,n+1);
- rhob(i,1,n+1)=rhob(i,2,n+1);
- rhoa(i,ny+1,n+1)=rhoa(i,ny,n+1);
- rhow(i,ny+1,n+1)=rhow(i,ny,n+1);
- rhob(i,ny+1,n+1)=rhob(i,ny,n+1);
- end
- % rhoa(1,1,n+1) = ( rhoa(2,1,n+1) + rhoa(1,2,n+1) + rhoa(2,2,n+1) ) / 3 ;
- % rhow(1,1,n+1) = ( rhow(2,1,n+1) + rhow(1,2,n+1) + rhow(2,2,n+1) ) / 3;
- % rhob(1,1,n+1) = ( rhob(2,1,n+1) + rhob(1,2,n+1) + rhob(2,2,n+1) ) / 3;
- % rhoa(nx+1,1,n+1) = ( rhoa(nx+1,2,n+1) + rhoa(nx,1,n+1) + rhoa(nx,2,n+1) ) / 3;
- % rhow(nx+1,1,n+1) = ( rhow(nx+1,2,n+1) + rhow(nx,1,n+1) + rhow(nx,2,n+1) ) / 3;
- % rhob(nx+1,1,n+1) = ( rhob(nx+1,2,n+1) + rhob(nx,1,n+1) + rhob(nx,2,n+1) ) / 3;
- % rhoa(1,ny+1,n) = ( rhoa(2,ny+1,n+1) + rhoa(1,ny,n+1) + rhoa(2,ny,n+1) ) / 3;
- % rhow(1,ny+1,n) = ( rhow(2,ny+1,n+1) + rhow(1,ny,n+1) + rhow(2,ny,n+1) ) / 3;
- % rhob(1,ny+1,n) = ( rhob(2,ny+1,n+1) + rhob(1,ny,n+1) + rhob(2,ny,n+1) ) / 3;
- % rhoa(nx+1,ny+1,n) = ( rhoa(nx+1,ny,n+1) + rhoa(nx,ny+1,n+1) + rhoa(nx,ny,n+1) ) / 3;
- % rhow(nx+1,ny+1,n) = ( rhow(nx+1,ny,n+1) + rhow(nx,ny+1,n+1) + rhow(nx,ny,n+1) ) / 3;
- % rhob(nx+1,ny+1,n) = ( rhob(nx+1,ny,n+1) + rhob(nx,ny+1,n+1) + rhob(nx,ny,n+1) ) / 3;
- for i = 1:(nx+1)
- if t <= 20*60
- T(i,1,n+1) = -0.0175005443*(t/60)^3+0.5250113819*(t/60)^2-0.000000367*(t/60)+20.000108611+273;
- T(i,ny+1,n+1) = T(i,1,n+1);
- else
- T(i,1,n+1) = 363;
- T(i,ny+1,n+1) = 363;
- end
- end
- for j = 1:(ny+1)
- if t <= 20*60
- T(1,j,n+1) = -0.175*(t/60)^2 + 7*(t/60) + 293;
- T(nx+1,j,n+1) = T(1,j,n+1);
- else
- T(1,j,n+1) = 363;
- T(nx+1,j,n+1) = 363;
- end
- end
- for n = 2:nt
- for i=2:(nx)
- for j=2:(ny)
- t(n) = (n-1)*deltat;
- t = t(n);
- pa = (rhoa(i,j,n)/Ma)*R*T(i,j,n)/vg(i,j,n);
- vga = vg(i,j,n)/rhoa(i,j,n);
- vgpa = R*T(i,j,n)/(Ma*p);
- pw = (rhow(i,j,n)/Mw)*R*T(i,j,n)/vg(i,j,n);
- vgw = vg(i,j,n)/rhow(i,j,n);
- vgpw = R*T(i,j,n)/(Mw*p);
- pb = (rhob(i,j,n)/Mb)*R*T(i,j,n)/vg(i,j,n);
- vgb = vg(i,j,n)/rhob(i,j,n);
- vgpb = R*T(i,j,n)/(Mb*p);
- D = D0*(101300/p)*(T(i,j,n)/310)^1.5;
- cg = cg0*exp(lambdac/(R*T(i,j,n))) ;
- ka = ka0*exp(lambdak/(R*T(i,j,n)));
- cm = cm0*exp(beta/T(i,j,n));
- psat = 100000*10^(aant - bant/(T(i,j,n)+cant));
- sw = cg*cm*ka*pw/psat;
- uw = 1 - ka*pw/psat;
- vw = 1 + (cg -1)*ka*(pw/psat);
- dswdpw = cm*cg*ka/psat;
- duwdpw = -ka/psat;
- dvwdpw = (cg-1)*ka/psat;
- dqwdsw = 1/(uw*vw);
- dqwduw = -sw/(uw^2*vw);
- dqwdvw = -sw/(uw*vw^2);
- qw(i,j,n) = sw/(uw*vw);
- b = b0*exp( (lambdaa0/(R*T0))*((T0/T(i,j,n))-1));
- theta = theta0 + alpha*(1-(T0/T(i,j,n)));
- etas = etas0*exp(chi*(1-(T0/T(i,j,n))));
- dqadpa = b*etas*((b*pa)^theta+1)^(-(theta+1)/theta);
- qa(i,j,n) = etas*b*pa/(1+(b*pa)^theta)^(1/theta);
- dTdx = ( T(i+1,j,n) - T(i-1,j,n) ) / (2*deltax);
- dTdy = ( T(i,j+1,n) - T(i,j-1,n) ) / (2*deltay);
- d2Tdx2 = ( T(i+1,j,n) - 2*T(i,j,n) + T(i-1,j,n) ) / deltax^2;
- d2Tdy2 = ( T(i,j+1,n) - 2*T(i,j,n) + T(i,j-1,n) ) / deltay^2;
- drhodxa = ( rhoa(i+1,j,n) - rhoa(i-1,j,n) ) / (2*deltax);
- drhodya = ( rhoa(i,j+1,n) - rhoa(i,j-1,n) ) / (2*deltay);
- d2rhodx2a = ( rhoa(i+1,j,n) - 2*rhoa(i,j,n) + rhoa(i-1,j,n) ) / deltax^2;
- d2rhody2a = ( rhoa(i,j+1,n) - 2*rhoa(i,j,n) + rhoa(i,j-1,n) ) / deltay^2;
- drhodxw = ( rhow(i+1,j,n) - rhow(i-1,j,n) ) / (2*deltax);
- drhodyw = ( rhow(i,j+1,n) - rhow(i,j-1,n) ) / (2*deltay);
- d2rhodx2w = ( rhow(i+1,j,n) - 2*rhow(i,j,n) + rhow(i-1,j,n) ) / deltax^2;
- d2rhody2w = ( rhow(i,j+1,n) - 2*rhow(i,j,n) + rhow(i,j-1,n) ) / deltay^2;
- drhodxb = ( rhob(i+1,j,n) - rhob(i-1,j,n) ) / (2*deltax);
- drhodyb = ( rhob(i,j+1,n) - rhob(i,j-1,n) ) / (2*deltay);
- d2rhodx2b = ( rhob(i+1,j,n) - 2*rhob(i,j,n) + rhob(i-1,j,n) ) / deltax^2;
- d2rhody2b = ( rhob(i,j+1,n) - 2*rhob(i,j,n) + rhob(i,j-1,n) ) / deltay^2;
- sumrhocp = rhos*cps0+ rhoa(i,j,n)*cpga+ rhob(i,j,n)*cpgb +rhow(i,j,n)*cpgw+ rhos*cpsw*qw(i,j,n) + rhos*cpsa*qa(i,j,n) ;
- T(i,j,n+1) = T(i,j,n) +(deltat/sumrhocp)*( D*(cpga*(drhodxa*dTdx+drhodya*dTdy)+cpgw*(drhodxw*dTdx+drhodyw*dTdy)+cpgb*(drhodxb*dTdx+drhodyb*dTdy)) +...
- keff*(d2Tdx2 + d2Tdy2) );
- % sumrhocp = rhos*cps0+ rhoa(i,j,n)*cpga+ rhob(i,j,n)*cpgb +rhow(i,j,n)*cpgw+ rhos*cpsw*qw(i,j,n) + rhos*cpsa*qa(i,j,n) ;
- % T(i,j,n+1) = T(i,j,n) +deltat*(keff*(d2Tdx2 + d2Tdy2) )/sumrhocp ;
- Vnet = rhos*((qa(i,j,n)-qa(i,j,n-1))/deltat)*(vsa-vgpa)+rhos*((qw(i,j,n)-qw(i,j,n-1))/deltat)*(vsw-vgpw)+((T(i,j,n+1)-T(i,j,n))/deltat)*vg(i,j,n)/T(i,j,n+1) + D*(d2rhodx2a+d2rhody2a)*vgpa+D*(d2rhodx2w+d2rhody2w)*vgpw+D*(d2rhodx2b+d2rhody2b)*vgpb;
- Aa = rhos*(dqadpa*(R/Ma)*(T(i,j,n)/vg(i,j,n)));
- Aw = rhos*((dqwdsw*dswdpw)+(dqwduw*duwdpw)+(dqwdvw*dvwdpw))*(R/Mw)*T(i,j,n)/vg(i,j,n);
- rhoa(i,j,n+1) = rhoa(i,j,n) + ((D*(d2rhodx2a+d2rhody2a)-(1/vga)*Vnet)/(Aa+1))*deltat;
- rhow(i,j,n+1) = rhow(i,j,n) + ((D*(d2rhodx2w+d2rhody2w)-(1/vgw)*Vnet)/(Aw+1))*deltat;
- rhob(i,j,n+1) = rhob(i,j,n) + ((D*(d2rhodx2b+d2rhody2b)-(1/vgb)*Vnet))*deltat;
- vg(i,j,n+1) = vg(i,j,n) + deltat*( -rhos*( vsa*((qa(i,j,n)-qa(i,j,n-1))/deltat)+ vsw*( qw(i,j,n)-qw(i,j,n-1) )/deltat ) )*deltat;
- end
- end
- for j = 2:(ny)
- rhoa(1,j,n+1)=rhoa(2,j,n+1);
- rhoa(nx+1,j,n+1)=rhoa(nx,j,n+1);
- rhow(1,j,n+1)=rhow(2,j,n+1);
- rhow(nx+1,j,n+1)=rhow(nx,j,n+1);
- rhob(1,j,n+1)=rhob(2,j,n+1);
- rhob(nx+1,j,n+1)=rhob(nx,j,n+1);
- end
- for i = 2:(nx)
- rhoa(i,1,n+1)=rhoa(i,2,n+1);
- rhow(i,1,n+1)=rhow(i,2,n+1);
- rhob(i,1,n+1)=rhob(i,2,n+1);
- rhoa(i,ny+1,n+1)=rhoa(i,ny,n+1);
- rhow(i,ny+1,n+1)=rhow(i,ny,n+1);
- rhob(i,ny+1,n+1)=rhob(i,ny,n+1);
- end
- % rhoa(1,1,n+1) = ( rhoa(2,1,n+1) + rhoa(1,2,n+1) + rhoa(2,2,n+1) ) / 3 ;
- % rhow(1,1,n+1) = ( rhow(2,1,n+1) + rhow(1,2,n+1) + rhow(2,2,n+1) ) / 3;
- % rhob(1,1,n+1) = ( rhob(2,1,n+1) + rhob(1,2,n+1) + rhob(2,2,n+1) ) / 3;
- % rhoa(nx+1,1,n+1) = ( rhoa(nx+1,2,n+1) + rhoa(nx,1,n+1) + rhoa(nx,2,n+1) ) / 3;
- % rhow(nx+1,1,n+1) = ( rhow(nx+1,2,n+1) + rhow(nx,1,n+1) + rhow(nx,2,n+1) ) / 3;
- % rhob(nx+1,1,n+1) = ( rhob(nx+1,2,n+1) + rhob(nx,1,n+1) + rhob(nx,2,n+1) ) / 3;
- % rhoa(1,ny+1,n) = ( rhoa(2,ny+1,n+1) + rhoa(1,ny,n+1) + rhoa(2,ny,n+1) ) / 3;
- % rhow(1,ny+1,n) = ( rhow(2,ny+1,n+1) + rhow(1,ny,n+1) + rhow(2,ny,n+1) ) / 3;
- % rhob(1,ny+1,n) = ( rhob(2,ny+1,n+1) + rhob(1,ny,n+1) + rhob(2,ny,n+1) ) / 3;
- % rhoa(nx+1,ny+1,n) = ( rhoa(nx+1,ny,n+1) + rhoa(nx,ny+1,n+1) + rhoa(nx,ny,n+1) ) / 3;
- % rhow(nx+1,ny+1,n) = ( rhow(nx+1,ny,n+1) + rhow(nx,ny+1,n+1) + rhow(nx,ny,n+1) ) / 3;
- % rhob(nx+1,ny+1,n) = ( rhob(nx+1,ny,n+1) + rhob(nx,ny+1,n+1) + rhob(nx,ny,n+1) ) / 3;
- for j = 1:(ny+1)
- if t <= 20*60
- T(1,j,n+1) = -0.175*(t/60)^2 + 7*(t/60) + 293;
- T(nx+1,j,n+1) = T(1,j,n+1);
- else
- T(1,j,n+1) = 363;
- T(nx+1,j,n+1) = 363;
- end
- end
- for i = 1:(nx+1)
- if t <= 20*60
- T(i,1,n+1) = -0.0175005443*(t/60)^3+0.5250113819*(t/60)^2-0.000000367*(t/60)+20.000108611+273;
- T(i,ny+1,n+1) = T(i,1,n+1);
- else
- T(i,1,n+1) = 363;
- T(i,ny+1,n+1) = 363;
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement