Sie sind auf Seite 1von 5

PROGRAMA PARA CALCULOS DE COLUMNA DE DESTILACIÓN

% El presente programa permite calcular y simular una columna de destilación binaria o %


multicomponente al estado estacionario
clc
cla
close all
disp('*********************************************************')
disp('Ordene los componentes en orden descendente de su valor k');
disp('e ingrese en ese orden la informacion solicitada');
disp('---------------------------------------------------------- ');
disp('Fracciones molares de componentes en Alimentacion, Destilado y');
disp('Fondos, entre corchetes y separados por un espacio, si no estan');
disp('presentes coloque un cero ej: [xa xb xc xd 0 0]');
f=input(' Alimentacion [ ]:'); % [.26 .09 .25 .17 .11 .12];
d=input(' Destilado [ ]: '); % [.435 .15 .41 .005 0 0];
b=input(' Fondos[ ]: '); % [0 0 .01 .417 .274 .299];
k=input(' Valores k [ ]: '); %[15 3.8 1.55 0.8 .38 .19];
lk=input('Orden que ocupa el clave ligero en la lista: ');
hk=input('Orden que ocupa el clave pesado en la lista: ');
xlkf=f(lk);% Fraccion molar del ligero en F
xhkf=f(hk);% Fraccion molar del pesado en F
%disp('Ingrese las fracciones molares de:')
xlkd=d(lk);%Clave ligero en D
xlkb=b(lk);%Clave ligero en B
xhkd=d(hk);%Clave pesado en D
xhkb=b(hk);%Clave pesado en B
klk=k(lk);%Volat del clave ligero
khk=k(hk);%Volat del clave pesado
%n=length(f);%Numero de componentes
s=(xlkd./xhkd)*(xhkb./xlkb);
nm=log(s)/log(klk/khk);
disp(' ')
disp('---------------------------------------------------------')
fprintf(' 1. EL NUMERO MINIMO DE ETAPAS ES: ')
fprintf(' %4.3f \n',nm)
disp('---------------------------------------------------------')
disp(' ')
disp('Condicion termica de la alimentacion');
q=input(' liq. saturado(1) vapor(0): '); %.34

disp(' ')
%bt=1-dt;
ar=klk/khk;
alf=k/khk;
num=alf.*f;
tet=1.001;
den=alf-tet;
x=num./den;
suma=sum(x);
while suma<=(1-q)
tet = tet +.001;
den=alf-tet;
x=num./den;
suma=sum(x);
end
nume=d.*alf;
ref=nume./(alf-tet);
sumr=sum(ref);
rm=sumr-1;
disp('---------------------------------------------------------')
fprintf('2. EL REFLUJO MINIMO ES: ')
fprintf(' %4.3f \n',rm)
disp('---------------------------------------------------------')
disp('3. Reflujo actual y etapas de equilibrio')
rr=input('Ingresar relacion de reflujo ej. 1.5, 2, etc.: '); % 1.4726
reac= rr*rm; % reflujo actual
xe=(reac-rm)/(reac+1); % Mc Cormick
be=.105*log10 (xe) + 0.44;
ye=1-xe^be;
ne=(nm+ye)/(1-ye);
rele=((sum(b)/sum(d))*(xhkf/xlkf)*((xlkb/xhkd)^2))^0.206;
nr=1;
rela=nr/(ne-nr);
while rela<rele
nr=nr+.01;
rela=nr/(ne-nr);
end
disp(' ')
disp('--------------------------------------------------------')
fprintf('EL REFLUJO ACTUAL L/D ES: ')
fprintf(' %4.3f \n',reac)
fprintf('El numero de etapas de equilibrio es: ')
fprintf(' %4.3f etapas\n',ne)
fprintf('La alimentacion se hace contando: ')
fprintf(' %4.3f etapas teoricas desde el tope\n',nr)

disp('---------------------------------------------------------')
disp('4. Eficiencia y etapas reales')
visc=input('Viscosidades en (mNs/m2) y entre [ ]: ');
xvi=f.*visc;
visp=sum(xvi);
absi=visp*ar;
ef=51 - 32.5*log10 (absi);
efi=ef/100;
nap=ne/efi;
cal=input('El rehervidor es Calderin (1) o termosifon (0)?: ');
if cal==1
npt=nap-1;
nrt=nr/efi;
elseif cal==0
npt=nap;
end

fprintf('La eficiencia global de la columna es: ')


fprintf(' %4.3f Por ciento\n',ef)
fprintf('Dentro de la columna se acomodan: ')
fprintf(' %4.3f Platos\n',npt)
fprintf('La alimentacion se hace contando: ')
fprintf(' %4.3f etapa reales desde el tope\n',nrt)

%%%%%%%%%%%%%%%%%%%
disp('---------------------------------------------------------')
dh=input('5. Desea calcular el Diametro y la Altura, Si(1) No(0): ');
disp(' ')
if dh==1
cau=input('Ingrese Caudal de alimentacion (gpm): ');
disp('Ingrese en el mismo orden que las volatilidades y entre corchetes');
pes=input('Pesos especificos de los componentes [ ]:');
pm=input('Pesos moleculares de los componentes [ ]: ');
t=input('Temperatura de la alimentacion K: ');
p=input('Presion de operacion (atm.): ');
dt=input('Ingresar relacion molar D/F: '); %0.599
pe=pes';
pmf=pm.*f;
pmpf=sum(pmf);

disp(' ')

pesc=pes';
denc=62.4*pesc;
nc=length(f);
denpf=(sum(denc)/nc); % densidad en lb/pie^3
fmol=(cau*60*denpf)/(7.48*pmpf); % alimentacion en lbmol/h
dmol=fmol*dt;
bmol=fmol-dmol;
vmol=dmol*(reac-1);
denv=(pmpf*492*p)/(359*t*1.8); %densidad en lb/pie^3
vvap=.30*(((denpf-denv)/denv)^.5);
fvap=vmol*pmpf/3600;
gmv=.70*vvap*denv;
area=fvap/gmv;
diam=((4*area/pi)^0.5)*.3048;
if diam>=3.6
e=0.9;
elseif diam<3.6
if diam>=1.8
e=0.6;
elseif diam<=1.8
if diam>=1.2
e=0.45;
elseif diam<1.2
e=0.15;
end
end
end

ht= ((npt*e));
disp(' ')
disp('---------------------------------------------------------')
fprintf('Se recomienda un espaciado entre platos de: ')
fprintf(' %4.3f m\n',e)
fprintf('La altura neta de la columna es: ')
fprintf(' %4.3f m\n',ht)
fprintf('El diametro de la columna es: ')
fprintf(' %4.3f m\n',diam)
elseif dh==0
end
Nomogramas de Priester

Das könnte Ihnen auch gefallen