Documentos de Académico
Documentos de Profesional
Documentos de Cultura
clear
close all
metilamina.wt = 31;
metilamina.pc = 73.6;
metilamina.vc = 140/1000;
metilamina.tc = 430;
metilamina.fa = 0.275;
metilamina.z = 30;
metilamina.aa = 17.2622/760; %Coeficientes de Antoine mmHg
metilamina.ba = 2484.83/760;
metilamina.ca = -32.92/760;
metilamina.vm = (5*H + C + N)/1000; %volumen molar L/mol
acidoacetico.wt = 60;
acidoacetico.pc = 57.1; %Atm % cc/gmol
acidoacetico.vc = 171;
acidoacetico.tc = 594.4; % K
acidoacetico.fa = 0.454;
acidoacetico.z = 100;
acidoacetico.aa = 16.8080/760; %Coeficientes de Antoine
acidoacetico.ba = 3405.57/760;
acidoacetico.ca = -56.34/760;
acidoacetico.vm = (H + 2*O + C)/1000;
etilenglicol.wt = 62;
etilenglicol.pc = 76;
etilenglicol.vc = 186/1000;
etilenglicol.tc = 645;
etilenglicol.fa = 0;
etilenglicol.z = 100;
etilenglicol.aa = 20.2501/760;
etilenglicol.ba = 6022.18/760;
etilenglicol.ca = -28.25/760;
etilenglicol.vm = (6*H + 2*C + 2*O)/1000;
% Programa
elementos = {metilamina acidoacetico etilenglicol};
% Condiciones iniciales
for i=1:length(elementos);
PC = elementos{i}.pc;
FA = elementos{i}.fa;
TC = elementos{i}.tc;
AA = elementos{i}.aa;
BA = elementos{i}.ba;
CA = elementos{i}.ca;
VM = elementos{i}.vm;
Z = elementos{i}.z;
zi(i) = Z;
Pisat(i) = exp(log(PC)+log(10)*(7/3)*(1+FA)*(1-T/TC));
PCf(i) = exp((1/(R*(T))).*(VM).*(P-Pisat(i)));%Poynting factor
Ki(i) = exp(log(PC/P)+log(10)*(7/3)*(1+FA)*(1-T/TC));
end
z = zi./sum(zi);
Pdew = 1/(sum(z./Pisat))
Pbubble = sum(Pisat.*z)
% Newton Rhapson
Vin = (Pbubble - P)/(Pbubble - Pdew);
Zl = 1;
Zv = 1;
if Pdew < P && P < Pbubble
Kalm = [];
emax = 100;
cont = 0;
Eqi = Ki;
for contador=1:10
cont = cont+1;
for i=1:50
Xi = z./(Vin.*(Eqi-1)+1);
Yi = Xi.*Eqi;
Pdew = 1./(sum(Yi./Pisat));
Pbubble = sum(Pisat.*Xi);
FV = sum(z.*(Eqi-1)./(Vin.*(Eqi-1)+1));
FVp = -sum(z.*((Eqi-1).^2)./(Vin.*(Eqi-1)+1).^2);
Vnew = Vin-FV./FVp;
Vin = Vnew;
end
for i=1:length(elementos)
w = elementos{i}.fa;
TC = elementos{i}.tc;
PC = elementos{i}.pc;
kie = 0.37464+1.5422.*w-0.2699.*(w.^2);
ki(i) = kie;
alphaie = (1+kie.*(1-sqrt(T./TC))).^2;
alphai(i) = alphaie;
ai(i) = 0.45724.*((R.*TC).^2).*alphaie./PC;
bi(i) = 0.07780.*R.*TC./PC;
end
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
aij = [];
for i=1:length(elementos)
for j=i+1:length(elementos)
Vci = elementos{i}.vc;
Vcj = elementos{j}.vc;
g1 = 2.*sqrt(Vci.^(1/3).*Vcj.^(1/3));
g2 = Vci.^(1/3)+Vcj.^(1/3);
kij = 1-(g1./g2).^3;
Kij(i, j) = kij;
F1 = sqrt(ai(i).*ai(j));
F2 = 1-kij;
aije = F1.*F2;
aij(i, j) = F1.*F2;
Ma(i, j) = aije.*Xi(i).*Xi(j);
end
end
a = sum(sum(Ma));
b = sum(bi.*Xi);
A = a.*P./((R.*T).^2);
B = b.*P./(R.*T);
for i=1:20
end
%-----------------------------------------------------------------------
aij = [];
for i=1:length(elementos)
for j=i+1:length(elementos)
Vci = elementos{i}.vc;
Vcj = elementos{j}.vc;
g1 = 2.*sqrt(Vci.^(1/3).*Vcj.^(1/3));
g2 = Vci.^(1/3)+Vcj.^(1/3);
kij = 1-(g1./g2).^3;
Kij(i, j) = kij;
F1 = sqrt(ai(i).*ai(j));
F2 = 1-kij;
aije = F1.*F2;
aij(i, j) = F1.*F2;
Ma(i, j) = aije.*Yi(i).*Yi(j);
end
end
a = sum(sum(Ma));
b = sum(bi.*Yi);
A = a.*P./(R.*T).^2;
B = b.*P./(R.*T);
for i=1:20
end
fact(i) = 2.*sumatoria(j)./A -bi(i)./b;
Ctt(i) = bi(i).*(Zv-1)./b - log(Zv-B)-
(A.*fact(i)./(2.*sqrt(2).*B)).*log(S1./S2);
phiv(i) = exp(Ctt(i));
end
%--------------------------------------------------------------------
--
%Calculo de actividad
Ze = 10;
ri = [22.3426 26.026 3.3488];
qi = [21.616 24.48 3.48];
li = (Ze/2).*(ri - qi) - (ri-1);
lj = li;
Psi = (Xi.*ri)/(sum(Xi.*ri));
tetai = (Xi.*qi)/(sum(Xi.*qi));
tetaj = tetai;
tetak = tetai;
%Interacciones binarias
u11 = 0;
u12 = 0;
u13 = 1.163;
u22 = 0;
u23 = 1264;
u21 = 0;
u31 = 240.9;
u32 = 318.9;
u33 =0;
%Tao en funcion de la temperatura
Tij(1) = exp(-((u21 - u11)/(R*T)));
Tij(2) = exp(-((u31 - u11)/(R*T)));
Tij(3) = exp(-((u32 - u22)/(R*T)));
Tkj = Tij;
Xj = Xi;
%Coeficiente de actividad
gammaC = exp(log(Psi./Xi) + (Ze/2).*(qi.*log(tetai./Psi)) + li -
(Psi./Xi).*sum(lj.*Xj));
gammaR = exp(qi.*(1 - log(sum(tetaj.*Tji)) -
sum((tetaj.*Tij)./(sum(tetak.*Tkj)))));
gamma = exp(log(gammaC) + log(gammaR));
Kalm(cont,:) = Ki;
Kiant = Ki;
%Ki = phil./phiv;
%Eqi = Ki;
Eqi = (gamma.*phil.*Pisat.*PCf)./(phiv.*P);
emax = sum(abs((Ki-Kiant))*100);
end
Vnew
Xi
Yi
elseif P < Pdew
fprintf('La mezcla es vapor sobrecalentado')
elseif P > Pbubble
fprintf('La mezcla es lquido subenfriado')
end