化学反应器大作业.docx
《化学反应器大作业.docx》由会员分享,可在线阅读,更多相关《化学反应器大作业.docx(22页珍藏版)》请在冰豆网上搜索。
化学反应器大作业
化学反应器大作业
化学反应器理论大作业
二氧化硫转换器最优化
班级:
化研1612
学号:
2016200162
指导教师:
文利雄
姓名:
闫晓宇
二氧化硫转换器最优化
反应方程式:
SO2+1/2O2=SO3(放热反应)
四段绝热反应器,级间间接换热,常压下反应。
1.基础数据
•混合物恒压热容Cp=0.2549[kcal/kgK]
•-ΔH=23135[kcal/kmol]
•催化剂堆密度ρb=554[kg/m3]
•进口SO2浓度8.0mol%,O2浓度9.0mol%,其余为氮气
•处理量131[kmolSO2/hr],要求最终转化率98%
2..动力学方程
式中:
3.基本要求
•在T-X图上,做出平衡线;至少4条等速率线。
•以一维拟均相平推流模型为基础,在催化剂用量最少的前提下,求总的及各段的催化剂装量,进出口温度、转化率并在T-X图上标出折线。
•程序用C、Fortran、BASIC语言之一编制。
4.讨论
•要求的最终转化率从98%变化到99%对催化剂用量的影响;
•yo2+ySO2=21%,SO2进口浓度在7-9%之间变化,对催化剂装量的影响。
一.T-X图绘制平衡线与等反应速率线
本次大作业计算程序,使用MATlab编程实现。
表1.平衡线所需数据
温度/K
987.51
889.21
835.22
797.47
767.96
743.32
721.81
702.40
Xe
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
684.41
667.37
650.90
634.65
618.32
601.54
583.84
564.55
542.48
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
515.17
475.21
475.21
463.63
449.41
430.53
400.84
373.81
0.9
0.95
0.95
0.96
0.97
0.98
0.99
0.995
使用matlab导出的数据作平衡线图,如图所示。
图1T-X平衡线图
图2.完整范围内的T—X图
图中Rso2的适宜反应范围是420~600℃,但在更高的温度范围内也是会有反应的,即使反应曲线在适宜温度范围以外精确度低,或者反应体系发生变化,此图权当得到更加美观、完整的图,以期反映出整个T-X图的趋势。
计算数据如下表:
表2等反应速率线数据
R=-1.9489E-5
R=-1.6923E-05
R=-1.4462E-05
R=-1.2098E-05
R=-9.8175E-06
R=-7.5949E-06
R=-5.3765E-06
R=-3.0059E-06
T/℃Xso2
T/℃Xso2
T/℃Xso2
T/℃Xso2
T/℃Xso2
T/℃Xso2
T/℃Xso2
T/℃Xso2
620
0.061
620
0.155
620
0.245
620
0.331
620
0.411
620
0.485
620
0.553
620
0.616
610
0.076
610
0.169
610
0.259
610
0.346
610
0.429
610
0.505
610
0.576
610
0.642
600
0.089
600
0.182
600
0.272
600
0.360
600
0.445
600
0.524
600
0.598
600
0.667
590
0.100
590
0.193
590
0.284
590
0.373
590
0.459
590
0.541
590
0.618
590
0.691
580
0.109
580
0.202
580
0.294
580
0.384
580
0.472
580
0.557
580
0.637
580
0.714
570
0.116
570
0.209
570
0.302
570
0.393
570
0.483
570
0.570
570
0.654
570
0.735
560
0.119
560
0.213
560
0.307
560
0.400
560
0.492
560
0.582
560
0.669
560
0.754
550
0.118
550
0.214
550
0.309
550
0.403
550
0.498
550
0.591
550
0.682
550
0.772
540
0.112
540
0.210
540
0.307
540
0.404
540
0.501
540
0.597
540
0.692
540
0.787
530
0.100
530
0.200
530
0.300
530
0.400
530
0.500
530
0.600
530
0.700
530
0.800
520
0.079
520
0.183
520
0.287
520
0.391
520
0.495
520
0.599
520
0.705
520
0.811
510
0.048
510
0.157
510
0.266
510
0.375
510
0.484
510
0.594
510
0.706
510
0.819
500
0.003
500
0.119
500
0.234
500
0.350
500
0.467
500
0.584
500
0.703
500
0.824
490
-0.060
490
0.064
490
0.188
490
0.313
490
0.439
490
0.566
490
0.695
490
0.827
480
-0.147
480
-0.013
480
0.123
480
0.260
480
0.398
480
0.538
480
0.680
480
0.826
470
-0.264
470
-0.118
470
0.031
470
0.184
470
0.339
470
0.496
470
0.656
470
0.820
460
-0.981
460
-0.856
460
-0.692
460
-0.494
460
-0.264
460
-0.003
460
0.292
460
0.632
450
450
-0.555
450
-0.193
450
0.337
440
-0.177
二.四段反应器数据的计算及优化
在工业实践中,对于任何化学反应,要保证反应在尽量高的反应速率下进行,即意味着减小反应器的体积,减少设备投资,减少催化剂的填量,即意味着减少操作费用,更快的反应速率对应着更小的反应器体积,也意味着更大的收益。
对于放热反应,反应所放热量抑制反应向正方向进行。
随着温度的升高,虽然正反应速率增大,但逆反应速率增大更快,整个反应便在更低的转化率下达到平衡,放热反应高温对应着低转化率。
而且随着反应温度升高,会出现反应体系高温下出现的问题、能耗、设备要求等其他方面,一般不在过高的温度下进行生产。
从多方面考虑,但反应放热到一定温度,会使物料抽出与冷源换热降低物料温度,以达到更快的反应速率、更大的转化率。
多级反应器的级间换热即是出于这个目的。
对于四级反应器,若使反应所需催化剂用量最少。
由
把Wcat分别对各段求x和T的微分,使其等于0;即
即下一段入口温度点的反应速率和上一段出口的反应速率相等。
假设第一段入口温度Tin
(1),进行操作线计算。
1.操作线线斜率:
已知入口温度、组成,出口组成,求出口温度:
so2反应所放出的热量
nso2*Δxso2*(-ΔH)=M*cp*ΔT
Δxso2/ΔT=M*cp/nso2*(-ΔH)
•操作线斜率即可求得。
•由function[t1]=TXXtoT(t0,x0,x1)实现
•Δxso2/ΔT=1/232.3045
2.求反应器出口转化率Xout(i)、出口温度Tout(i)和所用催化剂的量Wcat(i):
已知Tout(i-1),Xout(i-1),求Tin(i)
当满足条件
(1)
时,反应器催化剂用量在此条件下取得极值,求微分、积分可以用matlab中的求偏导函数diff、积分函数int,亦可用其他高精度的微积分函数,但我所使用对(1/r)的Ti偏导数计算时间长,计算一万次可花费数分钟(本人所使用的计算机),对偏微分的积分耗时更长,一次可达数分钟。
因此选用梯形法求微分、积分也可以用一x的微小偏差,获得的y的增量,用((y+Δy)-y)/Δx即为此处导数,求积分则用梯形法,选取足够小的步长,算出每一步长对应的面积,作为积分值。
用梯形法计算对偏微分的积分,十万次只需数秒,具有实践性。
求出口T见函数functiondaera.求催化剂用量见函数functiondWcat.
应当注意的是,Xso2满足条件
(1)时,不可大于600℃对应的转化率,如果大于600时的转化率,则此段出口转化率为600℃对应的转化率,出口温度即为600℃。
已知入口温度,出口转化率,已知操作线斜率,即可算出出口温度、出口时的反应速率r.见函数functionTXXtoT。
3.求反应器入口温度
已知上一段出口转化率Xout(i-1)、出口温度Tout(i-1)、反应速率rout(i-1)。
下一段入口转化率Xin(i)=Xout(i-1),由条件
可知r(i)=r(i-1).已知Xso2、r,求T。
已知第二段入口反应速率r(Tin
(2),Xin
(2)
利用function[T]=RXtoT2(r,x)(变步长搜索)
或者function[T]=RXtoT(r,x)(割线法)
对于求第二段入口温度时,如果使用割线法/牛顿法,因为在420~475时,导数值很大,而且有重根的情况(因为r(Tin
(2),Xin
(1)=r(Tout
(1),Xin
(1))),有时候所得不是想要的解,甚至得到不到解。
有时需手动改变初值。
比较麻烦
在已知温度在420℃到Tout(i-1)之间情况下,考虑采用变步长依次搜索法,计算50次,即可达到T的7位小数的精确度,且屡试不爽。
见函数functionRXtoT2.
function[dw]=dWcat(xd,tin,xin)
已知入口温度,出口转化率,已知操作线斜率,即可算出出口温度、出口时的反应速率r.见函数functionTXXtoT。
给定一个第一入口温度,求得四级反应器的数据,xso2步长0.0001如果使用matalb,(从0~0.98,计算9800次)积分计算一次需要数分钟,如果使用梯形法计算微分积分,步长选择0.00001(计算近10万次),计算一次四级反应器数据只需不到两秒。
梯形法虽然简单,但计算速率高了2、3个数量级。
给定第一段进口温度,运行一次即可在excel中得到四段反应器数据,
例子中当第一段进口温度设为444.65℃时,计算四段反应器数据如下:
表3初设第一段进口温度设为444.65℃,反应器数据
Xin
Tin/℃
Xout
Tout/℃
Wcat/kg
总WCAT/kg
1
0
444.650
0.66873
600.000
4123.78
40440.79
2
0.66873
450.570
0.90343
505.092
5600.03
3
0.90343
444.888
0.96075
458.204
9535.91
4
0.96075
422.715
0.97890
426.931
21181.06
4.对第一段入口温度的优化
对第一段入口温度Tin
(1)的优化,现在温度范围内得到Tin
(1)对催化剂总量和最终转化率的影响趋势,再在小范围内搜索最优值。
根据以上程序,使第一段入口温度Tin
(1)从420~450℃变化,得到第一段入口温度Tin
(1)对催化剂总量和最终转化率的影响,得到数据列表如下
表4不同第一段进口温度反应器数据
Xin
Tin/℃
Xout
Tout/℃
Wcat/kg
WCAT/kg
1
0.00000
420.000
0.72907
589.367
9259.02
61450.06
2
0.72907
420.551
0.95177
472.285
21700.01
3
0.95177
420.000
0.97978
426.507
30463.74
4
0.97978
420.000
0.97979
420.002
27.29
1
0.00000
425.000
0.71928
592.093
7712.74
56716.90
2
0.71928
425.549
0.94571
478.149
16480.08
3
0.94571
420.000
0.97939
427.824
32498.64
4
0.97939
420.000
0.97940
420.002
25.43
1
0.00000
430.000
0.70898
594.700
6528.33
53457.30
2
0.70898
430.590
0.93891
484.004
12829.12
3
0.93891
420.000
0.97889
429.288
34076.40
4
0.97889
420.000
0.97890
420.002
23.44
1
0.00000
435.000
0.69804
597.159
5606.16
48666.88
2
0.69804
435.626
0.93125
489.802
10178.76
3
0.93125
425.803
0.97545
436.071
25214.99
4
0.97545
420.000
0.97935
420.906
7666.98
1
0.00000
440.000
0.68625
599.420
4872.55
46810.19
2
0.68625
440.680
0.92250
495.562
8202.56
3
0.92250
432.310
0.97108
443.596
18018.05
4
0.97108
420.000
0.98011
422.098
15717.03
1
0.00000
445.000
0.66723
600.000
4072.90
38815.84
2
0.66723
451.263
0.90180
505.754
5455.91
3
0.90180
445.800
0.95988
459.292
9112.30
4
0.95988
423.713
0.97838
428.011
20174.72
1
0.00000
450.000
0.64570
600.000
3472.44
20243.67
2
0.64570
458.719
0.87962
513.059
4115.28
3
0.87962
455.588
0.94828
471.538
5291.79
4
0.94828
441.409
0.96728
445.823
7364.16
matlab源程序见附录2.1。
根据上表数据作图如下,
最优值区间
图4最终转化率和催化剂总量随着Tin
(1)变化趋势图
由上图可以看出,在420~450℃范围内,存在第一段入口温度使得最后转化率大于0.98,并且在440~445℃之间。
下一步从第一段入口温度445℃向440℃依次搜索,步长为0.1℃。
所得结果如下
表5转化率达标、催化剂最少用量时,反应器数据
Xin
Tin/℃
Xout
Tout/℃
Wcat/kg
总WCAT/kg
1
0.
443.800
0.67239
600.
4254.61
44798.42
2
0.67239
448.751
0.90746
503.359
5995.59
3
0.90746
442.555
0.96290
455.434
10707.01
4
0.96290
420.255
0.98015
424.262
23841.21
matlab程序见附录2.2
由上表可知满足最终转化率0.98时,所有催化剂量为44798.42kg.根据上表数据用Origin作操作折线图如下:
图4转化率达标、催化剂最少用量时,反应器操作线
三.讨论:
•1.要求的最终转化率从98%变化到99%对催化剂用量的影响;
根据平衡线图,平衡转化率Xe=0.99时,对应的平衡温度Te=400.84℃,而平衡转化率随着温度升高而减小,所以在催化剂适用范围420~600℃内,最终转化率达不到0.99。
求在420~600摄氏度温度范围内,最大转化率时,四段反应器数据结果如下表所示:
表6最大转化率时,反应器数据
Xin
Tin/℃
Xout
Tout/℃
Wcat/kg
总WCAT/kg
1
0.00000
443.980
0.60616
600.000
2301.352
40754.24
2
0.60616
470.000
0.87710
539.737
5966.967
3
0.87710
420.000
0.97632
445.538
22586.786
4
0.97632
420.000
0.98368
421.894
9899.133
计算matlab源程序见附录3.1.
•2.YO2+YSO2=21%,SO2进口浓度在7-9%之间变化,对催化剂装量的影响。
计算so2进料量在保持131kmol,求满足转化率0.98条件下催化剂用量最少
表7催化剂用量随着进口so2浓度变化数据
Yso2,mol%
0.07
0.08
0.09
Tin
(1)/℃
450
454.99
448.76
Wcat/kg
21626.89
29988.3
36505.3
可以看出,随着反应器进口Yso2浓度升高。
所需催化剂填装量增大。
以Yso2为变量,T=450℃,求r
表7T=450℃,反应速率随着so2浓度变化数据
xso2\
0.07
0.08
0.09
0.6
-4.72E-06
-4.36E-06
-4.00E-06
0.5
-4.27E-06
-3.92E-06
-3.57E-06
0.4
-3.83E-06
-3.49E-06
-3.16E-06
0.3
-3.39E-06
-3.07E-06
-2.75E-06
0.2
-2.95E-06
-2.65E-06
-2.36E-06
0.1
-2.50E-06
-2.23E-06
-1.96E-06
以Yso2为变量,T=500℃,求r
表7T=500℃,反应速率随着so2浓度变化数据
xso2\
0.07
0.08
0.09
0.6
-2.05E-05
-1.89E-05
-1.73E-05
0.5
-1.82E-05
-1.67E-05
-1.52E-05
0.4
-1.59E-05
-1.45E-05
-1.31E-05
0.3
-1.37E-05
-1.24E-05
-1.11E-05
0.2
-1.15E-05
-0.00001
-9.18E-06
0.1
-9.29E-06
0.000
-7.29E-06
由上表可以看出,随着so2入口浓度的增大,反应速率的确降低了。
符合以上结论。
附录1T-X图绘制平衡线与等反应速率线matlab代码
clc,clear,
yso2=0.08;yo2=0.09;yn2=1-yso2-yo2;
epsilong=-yso2*0.5;Pso20=1.01325*yso2;Xe(26)=0.0;
fori=1:
26
ifi<=20
Xe(i)=-0.05+i*0.05;elseifi<26
Xe(i)=0.95+(i-21)*0.01;else
Xe(i)=0.995;
end
Pso2=Pso20*(1-Xe(i))/(1+epsilong*Xe(i));Po2=(yo2-yso2*0.5*Xe(i))/yso2/(1-Xe(i))*Pso2;Pso3=Pso2*Xe(i)/(1-Xe(i));
Kp=Pso3/(Pso2*Po2^0.5);Te(i)=11295.3/log(Kp/2.26203e-5);
end
Te=Te-273.15;TeXe=[Te;Xe];TeXe=TeXe',
xlswrite('Txn.xls',TeXe,'sheet2');
Xso2
(1)=0;
fork=1:
8
j=2;T
(1)=530+273.15;
Xso2(k)=k*0.1;
Rso2=TXtoRso2(T
(1),Xso2(k));
TXresult(1,1)=Rso2;T=1300+273.15;
fori=1:
90
T=T-10;
a=TRXtoX(T,Rso2,0.05);
ifa<1
TXresult(j,1)=T-273.15;TXresult(j,2)=a;
fprintf('rso2(%d)=%5g,T=%0.1f,Xso2=%0.5f,\n',k,Rso2,T-273.15,a);
j=j+1;
else
continue;