资源描述:
《反应器大作业(SO2优化)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、化学反应器理论大作业化学反应器理论大作业——二氧化硫转化器最优化学院:化学工程学院班级:化研1108学号:2011200126姓名:马树刚11化学反应器理论大作业二氧化硫转化器的最优化题目背景:SO2+1/2O2=SO3,四段绝热反应器,级间间接换热。1.基础数据:混合物恒压热容Cp=0.2549[kcal/kg·K]-ΔH=23135[kcal/kmol]床层空隙率ρb=554[kg/m3]进口SO2浓度8.0%,O2浓度9.0%,其余为氮气。处理量131[kmolSO2/hr],要求最终转化率98%。2.动力学方程:
2、式中:3.基本要求:(1)在T-X图上,做出平衡线,至少4条等速率线;(2)以一维拟均相平推流模型为基础,在催化剂用量最少的前提下,总的及各段的催化剂装量;进出口温度、转化率;并在T-X图上标出折线;(3)程序用C,Fortran,BASIC语言之一编制;11化学反应器理论大作业1.讨论:(1)要求的最终转化率从97%变化到99%对催化剂用量的影响;(2)如果有关系:YO2+YSO2=21%,SO2进口浓度在7-9%之间变化,对催化剂装量的影响。2.选做:对优化结果进行校核。算法简介及计算程序和结果1.解题思路已知第一段
3、入口和最后一段出口的转化率;第一段入口反应物浓度,各物性参数;段与段间采用间接冷却。可改变的参数为各段的入口温度;段与段之间的转化X1inT1inX1outT1out第一段第二段第三段第四段X2inT2inX2outT2outX3inT3inX3outT3outX4inT4inX4outT4out率。图2.1反应流程图由上述反应流程图分析可知:根据已知的入口组成,设定入口温度,根据反应速率对入口温度所求偏导数在这一段内对组成的积分为零可以求得此段出口转化率和出口温度,即得到下一段的入口转化率,又根据前一段的出口速率等于后
4、一段的入口速率,可以求得下一段的入口温度;这样又可以计算下一段的出口情况。这样反复计算直至求出最后的出口情况。判断此出口情况是否满足题给条件(转化率达到98%),若不满足条件,则应重新假设再进行计算。这样反复寻优直至满足条件。计算公式如下:11化学反应器理论大作业第一段:第一、二段之间:第二段:第二、三段之间:第三段:第三、四段之间:第四段:其中:为绝热温升1.计算程序和结果2.1平衡线及等速率线的计算程序:利用反应速度表达式,代入不同的速度值来确定不同温度下的转化率,从而求取等速率线和平衡线(速度等于0)。程序如下:#
5、include"math.h"#include"stdio.h"#include"iostream.h"#include"stdlib.h"constdoubleR=1.987;voidstrcopy(char*str1,char*str2){for(inti=0;i<6;i++){str1[i]=str2[i];}}doublerate(doublex,doublet){doubley,y1,y2,y3,keff,k,B;if(t>=693.15&&t<748.15)keff=7.6915*pow(10,18)*exp
6、(-76062/(R*t));if(t>=748.15&&t<=873.15)keff=1.5128*pow(10,7)*exp(-35992/(R*t));k=2.3*pow(10,-8)*exp(27200/(R*t));y1=((0.09-0.04*x)/(1-0.04*x))*((0.08-0.08*x)/(1-0.04*x))/(0.08*x/(1-0.04*x));y2=(0.08*x/(1-0.04*x))/(((0.08-0.08*x)/(1-0.04*x))*sqrt((0.09-0.04*x)/(1-
7、0.04*x))*2.26203*pow(10,-5)*exp(11295.3/t));B=48148*exp(-7355.5/t);11化学反应器理论大作业y3=sqrt(B+(B-1)*(1-x)/x)+sqrt(k*(1-x)/x);y=keff*k*y1*(1-y2*y2)/(y3*y3);returny;}voidmain(){doublex,t,d;doubler0=0,step=0.0001;FILE*fp;charfilename[6];for(inti=0;i<=5;i++){t=693.15;do{x
8、=0.01;do{x+=step;if(x>=1)gotonext;d=fabs(pow(10,5)*rate(x,t)-pow(10,5)*r0);}while(d>0.001);switch(i){case0:strcopy(filename,"data0");break;case1:strcopy(filena