Sei sulla pagina 1di 3

Simulation of a seperation process of methanol-water mixture

using distillation column


1) The following section builds the equlibruim data by recalling equlib(x)

 
% Equilibrium curve computation using function equilib
% and constant relative volatility alpha=2.45
 
for i=1:11
y=0.1*(i-1);
ye(i)=0.1*(i-1);
xe(i)=fzero('equilib',0.5);
end
 
 

2) This section specfices the distillate, Bottom , and Feed compisition

 
% Distillate, Bottom and Feed mole fractions are equal to 93.3 % mol, 1.1 % mol
% and 40% mol respectively.
 
Distilate_compisition=0.993;
Bottom_compisition=0.011;
Feed_compisition=0.40;

3) Descriping the behaviour of the colum

% Reflux ratio is equal to 4.5


 
R=4.5;
 
% Feed is a saturated vapor with feed quality equal to 0
 
q=0;

4) Computing the intersection of feed line and operating lines

 
yi=(Feed_compisition+Distilate_compisition*q/R)/(1+q/R);
xi=(-(q-1)*(1-R/(R+1))*Distilate_compisition-Feed_compisition)/((q-1)*R/(R+1)-q);
 
figure(1);
hold on;
axis([0 1 0 1]);
 
% plotting operating and feed lines and equilibrium curve
title('McCabeThiele Digram of Methanol-Water Mixture');
xlabel('x[mol/mol]');
ylabel('y[mol methanol/mol mixture');
plot(xe,ye,'r');
set(line([0 1],[0 1]),'Color',[0 1 1]);
set(line([Distilate_compisition xi],[Distilate_compisition yi]),'Color',[0 0 0]); % draw top s
set(line([Feed_compisition xi],[Feed_compisition yi]),'Color',[0 1 0]); % draw a feed line
set(line([Bottom_compisition xi],[Bottom_compisition yi]),'Color',[1 0 1]); % draw bottom sect

6) Stepping off stages Feed plate is optimum.

% this part determine the number of Rectifying stages


 
i=1;
xp(1)=Distilate_compisition;
yp(1)=Distilate_compisition;
y=Distilate_compisition;
while (xp(i)>xi),
xp(i+1)=fzero('equilib',0.5);
yp(i+1)=R/(R+1)*xp(i+1)+Distilate_compisition/(R+1);
y=yp(i+1);
set(line([xp(i) xp(i+1)],[yp(i) yp(i)]),'Color',[0 0 1]);
if (xp(i+1)>xi) set(line([xp(i+1) xp(i+1)],[yp(i) yp(i+1)]),'Color',[0 0 1]);
end
i=i+1;
end
 
% this part determine Stripping stages
 
SS=(yi-Bottom_compisition)/(xi-Bottom_compisition);
yp(i)=SS*(xp(i)-Bottom_compisition)+Bottom_compisition;
y=yp(i);
set(line([xp(i) xp(i)],[yp(i-1) yp(i)]),'Color',[0 0 1]);
 
while (xp(i)>Bottom_compisition),
xp(i+1)=fzero('equilib',0.5);
yp(i+1)=SS*(xp(i+1)-Bottom_compisition)+Bottom_compisition;
y=yp(i+1);
set(line([xp(i) xp(i+1)],[yp(i) yp(i)]),'Color',[0 0 1]);
if (xp(i+1)>Bottom_compisition) set(line([xp(i+1) xp(i+1)],[yp(i) yp(i+1)]),'Color',[0 0 1
end
i=i+1;
end
hold off;
 

Potrebbero piacerti anche