化工原理精馏过程的计算机辅助计算
第22卷第10期2005年10月28日
计算机与应用化学
ComputersandAppliedChemistry
V01.22.No.100ctober.2005
化工原理精馏过程的计算机辅助计算
田文德1,刘晶晶1,孙素莉2
(1.青岛科技大学化工学院,山东,青岛,266042;2.青岛科技大学高分子科学与工程学院,山东,青岛,266042)
摘要:精馏过程为化工原理教学过程中的重点和难点部分,公式多,计算过程复杂,采用传统的板书讲解方式难以达到较好的授课效果。本文利用MATLAB语言强大的运算与图形表达功能,通过剖析精馏计算过程中的典型例题,给出了计算机辅助计算精馏过程的具体思路和方法。论文中还充分展现了采用计算机进行图解法解题的优越性,从而增强教学过程的直观性和可视性,加深学生对精馏单元的理解。
关键词:化工原理;精馏;计算机辅助计算;MATLAB中图分类号:TQ文献标识码:A
文章编号:1001_4160(2005)10—925—928
018
Computer・aidedcalculationofdistjlationinunitoperations
TIAN
WenDel,L|UJingJin91
Rdymer
andSUNSuL-2
(1.Co¨egeofChemicaITechnology,QingdaoUniVersityofScience&TechnoIogy,Qingdao,266042,Shandong,China;
2.Co¨egeof
ScienceandTechnology,QingdaoUniVersityofScience&Technology,Qingdao,266042,Shan-
dong,China)
Abstract:Astheemphasisanddi{Ecultyinunitoperations,distillationhassuchfeaturesprocedures,soitis
difbcult
to
as
variousequationsandcomplexcalculation
Inthispaper,onthebaseofpowerfhl
andthecorrespondingideasand
ofgraphicmethodwith
achieVegoodteachingefkctiVesonlybywriting
thetypicalexamples
are
on
blackboard.
are
calculationanddiagrammingabilityofMATLAB,methodsofcomputer-aidedcalculationincompu£er,which
can
indistillation
analyzed
distillation
given.
Besides,thispaperalsoshowstheadvantages
enhancethevisibilityofteaching
pmgr锄and
thereforemakestudentsunderstanddistillationmoredeeply.
Keywords:unitopera“ons,distiUation,computer—aidedcalculation,MATLAB
TianWD,Liu.玎andSunSL.Computer—aidedcalculationofdistilationinunitoperations.
ComputersandApplied
Chemistry,2005,22(10):925—928.
1
引言
化工原理是过程工程类专业(包括化工、制药、
过程类专业教学体系与教学内容改革的重要组成部分,是解决上述问题的有效方法之一∞o。但该方法目前多采用FORTRAN或C语言来实施,程序繁复
轻化工程等)中衔接理论基础课和专业技术课的重要桥梁,重点培养学生的运用理论知识解决实际工程问题的能力,具有概念多、公式多、计算过程复杂、工程概念强等特点…。因此,在该门课程的讲授过程中,目前采用了板书、多媒体课件心1以及课程设计等多种手段来强化学生对实际生产过程的理解。但学生在学习过程中,往往仍然感到运用繁杂的半经验公式和理论进行过程设备的设计和操作计算时过于复杂,难于切实掌握。那么,能不能寻找出一种合适的方法和工具,使学生自主地运用已学的各种理论知识,在不用过多关心计算细节的前提下,就能够比较容易地进行工程计算呢?计算机辅助教学是
收稿日期:2004一10_28;修回日期:2005-ol-09
作者简介:田文德(1973一),男,山东菏泽人,博士
冗长,学生掌握起来具有一定的困难。MATLAB作
为一种高级语言,拥有强大的运算和图形处理功能,用户界面友好,开发效率高H“1,是替代上述语言进行计算机辅助教学的一种良好方案。
本文以MATLAB语言为平台,以化工原理中的
重要单元操作——精馏为对象,对其中的典型例题
进行了算法分析,给出了在MATLAB编程环境中的具体实现。最终结果表明,采用MATLAB来实现精馏过程的计算机辅助计算,不仅计算过程简单,而且可以利用图形直观地表达计算结果,是工程类学生学习化工原理课程的一种有效辅助手段。
万方数据
926
计算机与应用化学
2
精馏过程的计算机辅助计算
精馏是石油和化学工业中的重要单元操作,也
是化工原理教学中的重点和难点。精馏过程中的计算往往比较复杂,具体涉及到试差、迭代、微分、积分、数据拟合等数值计算方法,采用手工计算只能解决小规模问题。而使用C语言等低中级语言编写计算机程序,又存在着周期长、程序庞大、运行结果不直观等缺点。MATLAB编程语言简单,内嵌有丰富的数值计算方法,人机界面直观,输出结果可视化。将MATLAB作为精馏过程的计算机辅助计算平台,可以大大提高程序的开发效率,从而激发起学生学习以及进行二次开发的热情,进而提高课堂教学效果,使他们真正掌握利用计算机进行精馏计算的思路和方法。2.1总体结构设计
精馏过程的计算主要涉及到六大部分,它们之间的关系如图1所示。其中的核心和基础部分为图解法求理论板数,除了用于简单精馏外,还较多地用于复杂精馏和间歇精馏。因此,出于篇幅考虑,本文将只对图1中的图解法和间歇精馏介绍相应的计算机辅助计算过程。
网网网网I/————————/^、——————、、
回
I精馏塔理Il下理论板lI况对精馏ll及无穷大时lI论板层数Il数的求解Il塔影响ll理论板数板l
囡囡
¨g.1
‘l’he
dlagmm
otdlstllIatlon
computatlon.
图l精馏结构图
2.2
图解法求解精馏塔理论板数
一般地,精馏过程涉及到设计和操作两类计算,
化工原理课程中重点介绍前者。精馏过程的设计计算可描述为:在给定进料状况(包括流量、组成、热状况)、产品要求(流量和组成)和一定的操作条件(回流比)的前提下,计算分离所需的理论板数。目前,这一问题主要采用逐板计算法来解决¨。,由于其图解形式较为直观易懂,因此是目前化工原理教学过程中采用的主要方法¨。。图解法求精馏塔理论板数主要涉及到平衡线、操作线和阶梯三部分,它们在MATLAB中实现时,除采用plot函数来绘图外,还需解决离散平衡数据拟合、相平衡计算和图解过程演示等问题。
万
方数据・离散平衡数据拟合
精馏塔设计计算过程中,物系气液平衡数据的准确性直接影响到计算结果的可靠性。这些数据在实际的教学和考试过程中,有时为了简化问题,往往通过指定相对挥发度或相平衡关系式的形式来给出,但准确度不高。因此,现有的化工原理教材中,较多的情况是通过给出一组离散平衡数据点(饱和蒸汽压或气液相组成)来表示相平衡关系。这些数据通常来自实验,具有较高的准确度,但缺点是具有离散性,不利于直接使用。MATLAB中的polyfit函数可直接将这些离散数据拟合成多项式曲线,其调用格式为
p=polyfit(戈,y,n)
其中,(戈,),)为离散的平衡数据,n为要拟合的多项式级数,返回值p包含了已拟合好的多项式系数。由该式可以看出,利用这种方式进行计算机数据拟合十分方便,非常适合于对于计算机编程和数值计算方法不太熟悉的化工专业类学生。图2表示了采用这种方法拟合出的常压下乙醇一水系统的相平衡曲线,可以看出结果具有较高的准确性,从而为下一步精馏设计计算奠定了良好基础。
lO9O8O706
>
O50403020l0
P19.2
Equllibnumd189ramo±ethanol。watersolution
at
no珊al
pressure.
图2常压下乙醇一水溶液的z—y图
・相平衡计算
图解法求理论板数时,需要由塔顶至塔釜依次求取各理论板上的气液相组成∽J。一般来说,塔顶馏出液组成是首先给定的,从而指定了第一块理论板上的气相组成,然后将其带入相平衡方程就可求出相应的平衡液相组成。但由于相平衡方程大多为非线性方程,故而该过程通常需要试差,计算量大且准确度不高,教学效果差。然而通过分析可知,该问题其实为一非线性方程的求根问题,即
并;=厂1(y。),
i=1,2,…,c
其中,戈,y分别代表平衡气液相组成,玳表相平衡
田文德等:化工原理精馏过程的计算机辅助计算
927
Fig.3
Demonstrationinterfaceof
graphicalmethod
图3图解过程演示界面
的函数关系,c为组分数。因此,采用专门的非线性方程求解数值算法可以很好地解决这一问题,这在MATLAB中体现为fsolve函数的使用,其调用格式为
髫4
而不断变化的,为了保持馏出液的组成不变,就必须不断加大回流比,这样回流比也将随时间而不断变化¨0I。气化量反映了塔顶产品量,是间歇精馏中需要重点计算的一个量。化工原理中已给出该量的表
=fsolve(/,xo,options,y)
达式‘81
其中,算。为平衡液相组成初值,),为给定的气相组成,options为算法参数,戈+为最终得到的液相组成。该函数采用最小二乘法进行迭代求根,运算速度快,准确性高,且用户可通过调整叩tions参数来自定义算法,以满足特定需要。
・图解过程演示
前已述及,图解法求精馏塔理论板数涉及到多步绘图,采用板书讲解具有一定的困难。即使是采用幻灯片演示,在体现各绘图步骤之间的连续关系时也具有一定的难度。采用MATLAB编程可以非常容易地实现整个图解过程的自动/手动播放,且可反复演示,使学生更好地把握图解法整体思路。图3给出了图解法求直接蒸汽加热精馏塔理论板数过程中的关键两步演示。在该界面上,除了具有向导按钮“上一步/下一步”外,还在图像下面给出了相应的制图过程和和采用方程的描述,从而将前后台一并呈现给学生,加深对他们对图解过程的理解。
该过程采用MATLAB提供的图形用户界面设计向导来完成,用户可以非常方便和快捷地通过它设计出一个图形用户界面,就如同在一张纸上绘图一样。在该过程中,用户可以把图形界面的外观、各个子元素(包括按钮、文本、复选框等)的位置确定下来,然后再利用回调程序编辑器来编写其执行函数代码,从而可以使该图形界面完成特定的运算。
2.3
y=F(戈D一戈,)I_兰专d算Ⅳ
,,
p上1
J。Ⅳ。L名D一戈形,
其中,y、F和尺分别代表气化量、进料量和回流比,戈n戈。、戈Ⅳ和戈,e分别代表进料组成、馏出液组成、残留液组成和操作终了时的釜液组成。需要注意的是,戈审是随R而改变的,一般是在给定R的情况下,固定塔板数进行图解法来求取相应的釜液组成。但是这样得到的离散关系用于积分时,须手工绘图,过程繁琐精度也不高。较好的办法是通过一元非线性回归得出二者间的连续关系曲线,通过特定的数值积分算法求取气化量。这在MATLAB中可以很容易地得以实现,前者采用前已述及的polyfit函数实
642O864200
0O5
0
0.15
0.2
0.25
O.3
035
0.4
0.45
O.5
XW
f‘ig.4
Determinatlon
through
o±gasltlcatlon
volume图4
jntegratjon.
面积积分法求气化总量
现,后者则采用quad函数来实现,其调用格式为
g=quad(/hn,n,6)
其中,丘n为被积函数,(o,6)为被积变量的上下限,q为积分值。图4给出了采用这种方法而得到的气化量计算结果。
间歇精馏
随着现代市场供需关系变化的加快,间歇精馏
以其批量小、见效快等优点正逐渐受到人们的重视。在间歇精馏过程中,釜液和馏出液的组成是随时间
万方数据
928
计算机与应用化学2005,22(10)
3
结论
化工原理精馏计算过程计算量大、计算过程复杂,采用手工计算难以达到较好的教学效果。MAT—LAB作为一种直观性很强的高级语言,可以大大简化这一计算过程,加深学生对计算过程的理解。它的辅助计算功能主要表现在曲线拟合、方程求解、数值积分和图形演示上,对学生的计算机能力和数学
知识要求不高,但却可以大大提高学生将计算机应用于工程计算的能力,从而进一步突出了化工原理中的工程概念。
References
Lan
P,XieTand
Wu
RC.Teachi“gofchemicale“gineeri“gprinci-
ples.Joumal
ofGuangxiUniversity
for
Nationalities(Natuml
Sci・
ence
Edition
Quartedy),2003,9(4):72—74.
2
JiangLi.
Thedesignofmulti-media
CAIcourseware
fb。principle
of
chemical
en画neeri“g
cou玛e.Joumalof
Huizhou
Univer8ity
(Nat
Sci),2003,23(6):126一128.
3
Zhang
YH,Yu8n
ZG蚰dLiuYZ,eta1.Researchanddevelopment
ofCAIcourseware
forth。principle
ofchemical
e“gineeri“g.
Com-
puters
and
Applied
Chemistry,2003,20(4):515—517.
4Ruan
SY,Wa“g
YL
and
Sang
QF.
MATLAB
Progmmming.
Bei—
jing:ElectmnicsIndustr)r
Press,2004.
5
Hao
PJandLiSY.AppIication
ofMATLABinchemicale“gineeri“g
calculati“g.ComputersandAppliedChemis‘ry,2000,17(4):37
l
一374.
6
Wa“g
XH,Lei
M,ZhaoWandZhou
CG.Development
of
g。印h
demonstrationmoduleforchemical
engineeringunitsope阳tion
usi“g
MATLAB.ComputersandApplied
Chemistry,2001,18(4):373—
376.
万
方数据7
Wan
B,’ri8nWDandYa0F.Anewreal
timedynamic
distillation
modelfor
contml
system
design.Joumal
of
Chemical
Engineering
of
Chinese
Universities,2000,14(3):298—301.
8
YaoYY,eta1.Unit
Opemtion8.Tianjin:Tianjin
UniVer酤‘yPress,
2000.
9DennisYC,ThongFIanciscoJLCastillo
andCavinPTowler.Distil-
lation
design
andretrofit
using8tage-comp08ition
lines.
Chemical
EngineeringSeience,2000,55:625—640.
10Wa“g
HPand
Xia“g
SG.
Developmentinsimulationand叩timiza-
tionofbatch
distillatio“process.
ComputerSimulation,2004,21
(2):4—6.
附中文参考文献
1
蓝平,谢涛,吴如春.《化工原理》课程的教学.广西民族学院学报:自然科学版,2003,9(4):72—74.
2
蒋莉.化工原理多媒体CAI课件的设计.惠州学院学报,2003,
23(6):126一128.
3
张艳辉,袁志国,刘有智,等.化工原理cAI课件的研究与开发.计算机与应用化学,2003,20(4):515—517.
4
阮沈勇,王永利,桑群芳.MATLAB程序设计.北京:电子工业出版社,2004.
5
郝平娇,李士雨.浅谈MATLAB在化工计算中的应用.计算机与应用化学,2000,17(4):37l一374.
6
王晓红,雷鸣,赵文,周传光.基于MATLAB的化工单元操作图形演示模块的开发.计算机与应用化学,2001,18(4):373—
376.
7
万斌,田文德,姚飞.精馏过程实时动态模型.高校化学工程学报,2000,14(3):298—301.
8
姚玉英,等.化工原理.天津:天津大学出版社,2000.
10王浩平,项曙光.间歇精馏过程模拟优化研究进展.计算机仿
真,2004,21(2):4—6.