MATLAB精馏塔塔板数计算
一、引言
精馏塔是在化工生产过程中经常使用的反应器,特别在石油化工中应用广泛。在精馏塔的设计中,对不同的反应过程要确定不同的反应器,其中塔板数就是非常重要的参数之一。精馏塔塔板计算是精馏计算比较复杂、烦琐的计算,计算过程中囊括了精馏单元操作中几乎所有的基本原理和计算方法,通过交替使用相平衡方程、精馏段操作线方程和提馏段操作线方程计算塔板组成。在此过程中使用了几次相平衡方程即可得几块理论塔板数。而在工程计算中MATLAB语言拥有大量的命令集和可用函数集可以完成各种计算和数据处理,方便快捷,计算精确,形式简单,易于掌握。所以将MATLAB运用到精馏塔塔板数的计算中,有利于简化计算。
二、MATLAB
MATLAB是矩阵实验室(Matrix Laboratory)之意,基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解决问题要比用C、FORTRAN等语言
完成相同的事情简捷得多。有大量的指令可供调用,用户也可以将自己编写的实用程序导入MATLAB函数库中方便自己以后调用。它拥有强大的函数库、工程运算和图形处理功能,程序命令简单,基本上是计算过程的呈现,是替代上述语言进行计算机辅助计算的一种良好工具。用MATLAB来实现精馏过程的计算机辅助计算,不仅计算过程简单,而且可以利用图形直观地表达计算结果,是工程类学生学习课程的一种有效辅助手段。本文将以MATLAB软件为平台,以双组份物系为例,针对精馏塔理论塔板的计算问题进行探讨。
三、精馏塔及操作原理
精馏塔是进行精馏的一种塔式气液接触装置,又称蒸馏塔。有板式塔和填料塔两种主要类型。精馏操作是化工生产中应用最广的分离过程,精馏操作迫使混合物的气、液两相在精馏塔体中作逆向流动,在互相接触过程中,液相中的轻组分逐渐转入气相,而气相中的重组分则逐渐进入液相。精馏过程本质上是一种传质过程,也伴随着传热。
四、案例
某理想混合液用常压精馏塔进行分离。进料组成含 A 81.5%, 含 B 18.5%( 摩尔百分数,
下同) , 饱和液体进料, 塔顶为全凝器, 塔釜为间接蒸气加热。要求塔顶产品为含 A 95%, 塔釜为含B 95%, 此物系的相对挥发度为 2.0, 回流比为 4.0。设计所需的理论板层数 NT。
五、解题思路
根据塔顶冷凝器为全凝器,泡点回流,塔釜为间接蒸汽加热,进料为泡点进料如图5-5所示。
因塔顶采用全凝器,即
y1=xD 5-1
而离开第1块塔板的x1与y1满足平衡关系,因此x1可由汽液相平衡方程求得。即
5-2
第2块塔板上升的蒸汽组成y2qqy与第1块塔板下降的液体组成x1满足精馏段操作线方程,即
5-3
同理,交替使用相平衡方程和精馏段操作线方程,直至计算到xn<xq(即精馏段与提馏段操作线的交点)后,再改用相平衡方程和提馏段操作线方程计算提馏段塔板组成,至x w’<xw为止。
现将逐板计算过程归纳如下:
相平衡方程: x1 x2 x3
……xn<xq-------xw’<xw
操作线方程: xD=y1 y2 y3
在此过程中使用了几次相平衡方程即可得到几块理论塔板数,最后减去塔釜相当于的一块塔板,就是所需要的塔板数。
程序的编写主要用到上面的逐板计算的思路,MATLAB程序中首先输入案例给出的已知条件,并写出相平衡方程,精馏段操作线方程及提馏段操作线方程。运用for语句进行循环并利用if语句进行条件判断,将数据带入到相应的方程中,用三次样条差值算法的差值运算进行计算,得出最后结果并画出精馏图解。
六、计算结果
NT=9
七、结果讨论
根据计算结果得出结论要完成所设指标,精馏塔的塔板数应为9块,通过上图我们也可以利用图解法的方法进行验算,结果是一致的。如果利用常规的逐板计算法或者图解法进行塔
板的计算,将非常的复杂,耗费大量的时间和精力。
假设精馏塔指标有所改变,只需要知道所设计的xd、xw、xf和R代入程序就可以轻易得到所设计的精馏塔的理论塔板数。应用MATLAB求解二元精馏塔理论板数,方法简单实用,可以方便快捷得到计算结果。并且可以开发具有一定通用性的计算程序。
八、附录
xd=0.95;%塔顶组成
xw=0.05;%塔釜组成
xf=0.815; %进料组成
R=4.0;%回流比
fd=(xd- xw)/(xf- xw);
x=0:0.01:1;
y1=1+x;y2=x;y=2*x./y1; %确定对角线方程 y=x、汽液相平衡方程 y=2x/(1+x)
xx=0.6:0.01:0.95;xx2=0.05:0.01:0.85;
yy=0.8*xx+0.19; yy2=(4+fd)/5*xx2- (fd- 1)/5*xw;%根据计算确定精馏段操作线方程 y=0.8x+0.19和提馏段操作线方程 y=1.035x- 1.765×10-3
for k=1:12
yqq(1)=xd;%因塔顶为全凝器, 故 y1=xd。
xqq(k)=interp1(y,x,yqq(k),'spline'); %由方程 y=0.8x+0.19 和 y1 值求出 x1
if xqq(k)>xf;
yqq(k+1)=interp1(xx,yy,xqq(k),'spline');%当 xk值大于 xf时, 由方程 y=0.8x+0.19 和 y=2*x/1+x求解相应的值。
else yqq (k+1)= interp1 (xx2,yy2,xqq(k),'spline');%当xk值小于xf时, 由方程 y=2*x/1+x和 y=
1.035x-1.765×10-3求解相应的值。
if xqq(k)< xw;%当 xk值小于xw时, 即计算结束。
break ;
end;
end;
end,NT=k- 1
plot(x,y,x,y2,xx,yy,xx2,yy2,x,yqq(1),x,yqq(2),x,yqq(3),x,yqq(4),x,yqq(5),x,yqq(6),x,yqq(7),x,yqq(8),x,yqq(9),x,yqq(10),xqq(1),y,xqq(2),y,xqq(3),y,xqq(4),y,xqq(5),y,xqq (6),y,xqq (7),y,xqq (8),y,xqq (9),y,xqq (10),y)
xlabel('x '); %加x轴说明
ylabel('y '); %加y轴说明
text(0.10,0.10, '提馏段y=1.035x- 1.765×1e-3 '); %在指定位置添加图形说明
text(0.30,0.68, '精馏段y=0.8x+0.19 ')
发布评论