基于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)N~R/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的精馏塔作业模拟仿真的主要内容,如果未能解决你的问题,请参考以下文章
雷达通信基于matlab雷达仿真模拟系统含Matlab源码 150期
雷达检测基于matlab模拟海洋监视雷达检测仿真含Matlab源码 2268期