基于matlab的精馏塔作业模拟仿真

Posted fpga和matlab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于matlab的精馏塔作业模拟仿真相关的知识,希望对你有一定的参考价值。

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程

目录

一、理论基础

二、核心程序

三、测试结果


一、理论基础

原料物性表如下:

3-1原料物理性质表

组分

质量流率

质量分数

摩尔流率

摩尔分数

分子量

常压沸点

丙烷

472.938

7.567

10.727

11.565

44.04

-41.85

异丁烷

213.938

3.423

3.681

3.969

58.12

-11.57

正丁烷

819.500

13.112

14.100

15.203

58.12

-0.35

异戊烷

1655.500

26.488

22.945

24.740

72.15

27.002

正戊烷

2420.188

38.723

33.544

36.167

72.15

36.224

异己烷

415.000

6.640

4.816

5.192

86.18

68.1

正己烷

252.938

4.047

2.935

3.165

86.18

68.7

合计

6250.000

100.000

92.747

100.000

表5-1 气相临界参数表

Tc

Pc

Tcm

Pcm

Trm

Prm

Z

精馏段

369.82

4.25

138.94

1.60

0.83

0.22

0.85

407.13

3.65

52.49

0.47

425.16

3.80

208.91

1.87

460.39

3.38

1.85

0.01

合计

402.19

3.95

提馏段

425.16

3.80

0.47

0.00

0.84

0.27

0.81

460.39

3.38

163.73

1.20

469.60

3.37

245.38

1.76

507.35

2.97

38.06

0.22

433.75

3.20

19.83

0.15

合计

467.47

3.34

1步:确定回流罐压力Tb

      塔顶冷凝器采用水作冷剂入口温度在25-30℃之间,可以估算出回流罐温度Tb为45℃。这个部分直接将Tb作为参数进行设置。

对应代码:

 第2步:回流罐压力

       由温度Tb查图可得各组分在该温度下的饱和蒸汽压,再根据泡点方程P=∑Pis*Xi可求得回流罐压力:

其中Pi和Xi的数据是已知数据,论文中数据有缺失,请自行补齐。

对应代码:

3步:确定塔顶压力Pd、塔顶温度Td

Pd由公式Pd=Pb+△P计算得到,其中管线阻力△P=0.015MPa

Td则有安托万方程编程迭代:

 

对应代码:

4步:确定塔釜压力Pw、塔釜温度Tw

填料塔取经验值精馏段压降0.007MPa,P进=Pd+△P =0.879MPa,Pw=P进+△P=0.886MPa.

    即根据公式可得:

 

对应代码:

 第5步:计算最小理论板数Nm

计算最小理论板数Nm

       其中D的XL,XH数据为《表3-2T101清晰分割物料平衡表》中的塔顶馏出液的摩尔分数的最大值和最小值,W的XL,XH为《表3-2T101清晰分割物料平衡表》中的塔底馏出液的摩尔分数的最大值和最小值。 

对应代码:

6步:计算最小回流比 

这里通过取q为计算得到,然后计算得到Rm。

对应代码:

7步:实际回流比R和理论板数N(R+1)NR/Rm曲线

    根据数据,绘制(R+1)N~R/Rm曲线,从而确定实际回流比R和理论板数N。

对应代码:

 

 

 8步:计算N精,N

 对应代码:

二、核心程序

clc;
clear;
close all;
warning off;

%调用初始化参数
parameters;


%model
[Pb,Pd,Pj,Pw,Tb,Td,Tj,Tw,Rm,Rs,Nm,Ns,Nj,Nt,Np]=func_models();


fprintf('******************T-301******************\\n\\n');
% 回流罐P(MPa)	
fprintf('回流罐P = %4.4f\\n\\n',Pb);
% 塔顶P(MPa)	
fprintf('塔顶P   = %4.4f\\n\\n',Pd);
% 进料P(MPa)	
fprintf('进料P   = %4.4f\\n\\n',Pj);
% 塔釜P(MPa)	
fprintf('塔釜P   = %4.4f\\n\\n',Pw);
 
% 回流罐T(℃)	
fprintf('回流罐T = %4.4f\\n\\n',Tb);
% 塔顶T(℃)	
fprintf('塔顶T   = %4.4f\\n\\n',Td);
% 进料T(℃)
fprintf('进料T   = %4.4f\\n\\n',Tj);
% 塔釜T(℃)
fprintf('塔釜T   = %4.4f\\n\\n',Tw);

% Rmin
fprintf('Rmin    = %4.4f\\n\\n',Rm);
% R
fprintf('R       = %4.4f\\n\\n',Rs);
% Nmin
fprintf('Nmin    = %4.4f\\n\\n',Nm);
% N
fprintf('N       = %4.4f\\n\\n',Ns);
% N精
fprintf('N精     = %4.4f\\n\\n',Nj);
% N提
fprintf('N提     = %4.4f\\n\\n',Nt);
% N实际
fprintf('N实际   = %4.4f\\n\\n',Np);

三、测试结果

 代码仿真结果如下所示:

T201的模型数据反复验算了一下,你提供的数据出路太大,没法验算,对于T301,我们得到如下的仿真结果:

A16-11 

以上是关于基于matlab的精馏塔作业模拟仿真的主要内容,如果未能解决你的问题,请参考以下文章

精馏塔温度控制仿真设计

Shell重油常压塔模拟仿真与控制

雷达通信基于matlab雷达仿真模拟系统含Matlab源码 150期

雷达检测基于matlab模拟海洋监视雷达检测仿真含Matlab源码 2268期

力学基于matlab立铣刀力模拟仿真含Matlab源码 193期

有限元动态水波模拟基于有限元的三维动态水波运动模拟matlab仿真