C++在精馏塔的理论板计算中的应用
http://www.paper.edu.cn
姜凯华,孟献梁
中国矿业大学化工学院,江苏徐州 (221008)
E-mail:kevin-meng@163.com
摘 要:采用逐板计算法,利用自编的 C++程序进行了精馏塔理论板计算。实例证明,该
方法生成的 exe 可执行文件小,运行结果准确、快捷。
关键词:C++;精馏塔;理论板;逐板计算法
中图分类号:TQ015.9
文献标识码:A
1
精馏是根据物质挥发性差异对一个多
组分溶液进行的多级分离过程,是化工生产
中基本的分离方法之一,也是化工原理课程
教学中的重点内容之一。一般地,精馏过程
涉及到设计和操作两类计算,化工原理课程
中重点介绍前者。精馏过程的设计计算可描
述为:在给定进料状况、产品要求和一定的
操作条件的前提下,计算分离所需的理论板
数。目前,这一问题主要采用逐板计算法和
图解法来解决。因图解形式准确性较差;因
此逐板计算法是目前采用的主要方法。但由
于逐板计算法比较复杂,往往涉及到试差、
迭代等复杂问题,采用手工计算耗费设计者
大量的时间,只能解决小规模问题。C++语
言计算功能强大,执行效率高,特别是当程
序中含有大量循环语句(例如迭代计算)时更
加便捷高效。因此,本文探讨了利用 C++中
的循环计算方法来解决理论板的计算,避免
了设计者手工计算的繁琐,做到事半功倍。
1 精馏塔理论板的计算原理
精馏塔分为精馏段和提留段,两者被进
料板上下分开,逐板计算法交替使用操作线
方程(1)或(2)和汽液平衡方程(3),每
使用一次汽液平衡方程就是一块理论板,先
改用提留段的操作线方程,此处即为进料板
的位置,直至计算到 nx 小于 wx 为止。此时
所用精馏段和提留段操作线方程的次数即
为理论板数。
精馏段的操作线方程:
x
D
R
+
提留段的操作线方程:
(1)
R
R
+
+ =
1
x
n
y
n
1
+
1
y
'
1
+
m
=
+
L qF
+
−
L qF W
'
x
m
−
Wx
L qF W
+
w
−
(2)
汽液平衡方程:
y
=
x
α
a
+
α
1 (
+
1)
x
式中:
(3)
F:原料液的摩尔流量。
R:回流比。
Q:进料热状况参数
L:精馏段中下降液体的摩尔流量。
W:塔底产品的摩尔流量。
Dx :塔顶产品的摩尔分率。
wx :塔底产品的摩尔分率。
1ny + :精馏段第 n+1 层板上升蒸汽中
利用精馏段的操作线方程从镏出液的组成
易挥发组分的摩尔分率。
开始向下计算,依次算出每块理论板的液相
比较,当 nx 小于 qx
组成,同时将 nx 与 qx
本课题得到中国矿业大学青年科研基金项目
(OH060097)的资助。
nx :精馏段第 n 层板下降液体中易挥
时
发组分的摩尔分率。
'
1my + :提留段第 m+1 层板上升蒸汽中
易挥发组分的摩尔分率。
- 1 -
'
mx :提留段第 m 层板上升蒸汽中易挥
发组分的摩尔分率。
2 程序设计
根据逐板计算时的思路画出设计程序
计算流程图 1。
输入已知条件:F、 Dx 、
wx 、R、q、α
y
解出 D、W、 qx 、 1
x=
D
用汽液平衡方程求出 nx
n=n+1
nx > qx
Y
http://www.paper.edu.cn
#include
using namespace std;
float
R,F,q,a,l,xd,xw,xq,xf,D,W,yn=0,xn=0;
float x=y/(a-(a-1)*y);
return x;
float x(float y)
{
}
float yn1(float xn)
{
}
float yn2(float xn)
{
float
float yn1=(R/(R+1))*xn+xd/(R+1);
return yn1;
yn2=((l+q*F)/(l+q*F-W))*xn-
W*xw/(l+q*F-W);
return yn2;
}
void main()
{
int n=0,m=0;
cout<<"请输入原料夜的
摩尔流量 F
(kmol/h):"<>F;
cout<<"请输入回流比 R:"<>R;
cout<<"请输入进料热状况参数 q
(饱和液体进料 q 为
1):"<>q;
cout<<"请输入塔顶产品的
摩尔分率 xd:"<>xd;
cout<<"请输入塔底产品的
摩尔分率 xw:"<>xw;
cout<<"请输入原料夜中易挥发组
的摩尔分率 xf:"<>xf;
由提镏段操作线方程求解 1ny +
nx > wx
Y
由提留段操作线方程求解出 1ny +
n=n+1
用汽液平衡方程求出 nx
解得理论板数和进料板位置
结束
图 1 设计程序计算流程
根据此思路设计的程序如下:
分
- 2 -
http://www.paper.edu.cn
知值,程序即会显示共利用平衡方程计算了
8 次,以此需 8 块理论板(包括再沸器),自
塔顶向下数第四层为进料板。如图 2 所示。
cout<<"请输入相对挥发度
a:"<
>a;
D=F*(xf-xw)/(xd-xw);
W=F-D;
l=R*D;
xq=(W*xw/(l+q*F-W)+
xd/(R+1))/((l+q*F)/(l+q*F-W)-R/
{
}
xn=x(yn);
n++;
m++;
yn=yn1(xn);
(R+1));
yn=xd;
xn=x(yn);
for (n=0;xn>xq;)
for (;xn>xw;)
{
}
cout<<"共利用平衡方程计算了
xn=x(yn);
n++;
yn=yn2(xn);
"<4 结论
逐板计算法是化工精馏塔设计中采用
较多的求解方法,具有计算精确、求解思路
清晰,但计算繁琐的特点,需要进行多次的
类似计算。C++具有循环计算的功能,将两
者结合起来以突出逐板计算法的优点,且用
C++编译生成的 exe 可执行文件小,可作为
设计人员常用工具之一,提高工作效率。
http://www.paper.edu.cn
参考文献
1 姚玉英.化工原理(下册)天津:天津大学出版社,
2005.
2 郑莉,董渊.C++语言程序设计.北京:清华大学出
版社,2003.
3 李瑞,张莉娟.精馏塔理论板计算方法探究.固原师
专学报,2005,30(8),101-104.
4 刘承先.用 Excel 进行精馏塔的理论板数的计算.山
东化工.2003,2(8),9—11
Application of C++ in Distillation Tower’s Theoretical Plate
Calculation
School of Chemical Engineering and Technology,China University of Mining & Technology,
Jiang Kaihua,Meng Xianliang
Xuzhou,Jiangsu (221008)
Abstract
Using step-by-step calculation method, calculate the number of Distillation Tower’s Theoretical Plate
by using C + + program designed myself. Examples show that the exe executable file generated by this
method is small and the result is accurate and quickly calculated.
Keywords:C + +;distillation tower;theoretical plate;step-by-step calculation method
作者简介:
姜凯华(1987-),男,江苏省滨海县人,本科在读;
孟献梁(1977-),男,江苏省徐州人,讲师,工学硕士,从事化学工程方面的研究。
- 4 -