24小时热门版块排行榜    

查看: 1424  |  回复: 1

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

[交流] 【求助】PR方程计算空气分离氮组分逸度系数问题 已有1人参与

在仿真模拟版发了这个求助帖(https://muchong.com/bbs/viewthread.php?tid=2343000&fpage=1),好几天了都没高手相助。再到这发一次,请达人指点,谢谢!

小弟初学气液相平衡

根据已知的一组相平衡数据,学习用PR方程计算组分逸度,但计算结果总是不对!

现在有一个问题迷惑,在用PR方程计算压缩因子时,求得三个结果

不知哪个是气态的压缩因子,哪个是液态的压缩因子?

先贴上此问题的m文件,文件中有详细说明

望各位前辈指教一二,不胜感激!

clear
clc
format long
%在以下压力、温度以及组分条件下,氮氧两组份满足相平衡,相平衡常数KN=1.14,这段程序是为了学习并验证PR方程

p=5.23e5;    %压力
T=96.6;    %温度
yN=0.904;  %气相氮组分
yO=1-yN;    %气态氧组分
xN=0.793;     %液态氮组分
xO=1-xN;    %液态氧组分

%物性基本常数
%N2
TcN=126.2;  %临界温度
pcN=34e5;   %临界压力
wN=0.03726; %偏心因子
RN=296.8;   %气体常数
mN=0.37464+1.54226*wN-0.26992*wN^2; %用来计算PR方程中的a(T)

%O2
TcO=154.58; %同氮气
pcO=50.43e5;
wO=0.022;
RO=259.84;
mO=0.37464+1.54226*wO-0.26992*wO^2;

%PR方程参数求取
%N2

TrN=T/TcN;  %对比温度
alphaN=(1+mN*(1-TrN^0.5))^2;    %用来求a(T)
acN=0.45724*RN^2*TcN^2/pcN;     %用来求a(T)
aN=acN*alphaN;                  %a(T)计算式
bN=0.0778*RN*TcN/pcN;           %b计算式
AN=aN*p/(RN^2*T^2);             %A计算式
BN=bN*p/RN/T;                   %B计算式

aaN=BN-1;
bbN=AN-2*BN-3*BN^2;
ccN=BN^3+BN^2-AN*BN;            %以上三个参数用做求体积压缩率的多项式系数

%O2  注释同氮气
TrO=T/TcO;
alphaO=(1+mO*(1-TrO^0.5))^2;
acO=0.45724*RO^2*TcO^2/pcO;
aO=acO*alphaO;
bO=0.0778*RO*TcO/pcO;
AO=aO*p/(RO^2*T^2);
BO=bO*p/RO/T;

aaO=BO-1;
bbO=AO-2*BO-3*BO^2;
ccO=BO^3+BO^2-AO*BO;

%混合规则

%气相
kNO=-0.023644+0.15427e-3;   %两元交互因子
am=yN*yN*aN+yO*yO*aO+2*yN*yO*sqrt(aN*aO)*(1-kNO);   %混合a
% am=(yN*sqrt(aN)+yO*sqrt(aO))^2;
bm=yN*bN+yO*bO;                                     %混合物的b
Am=am*p/(RN^2*T^2);
Bm=bm*p/RN/T;

aam=Bm-1;
bbm=Am-2*Bm-3*Bm^2;
ccm=Bm^3+Bm^2-Am*Bm;     %以上三个参数用做求体积压缩率的多项式系数


%液相
am1=xN*xN*aN+xO*xO*aO+2*xN*xO*sqrt(aN*aO)*(1-kNO);
bm1=xN*bN+(1-xN)*bO;
Am1=am1*p/(RN^2*T^2);
Bm1=bm1*p/RN/T;

aam1=Bm1-1;
bbm1=Am1-2*Bm1-3*Bm1^2;
ccm1=Bm1^3+Bm1^2-Am1*Bm1;



%求体积压缩因子
n=[1,aam,bbm,ccm];
z=roots(n)
n1=[1,aam1,bbm1,ccm1];
z1=roots(n1)


%求两相N2的逸度


phi_yN=exp(bN*(z-1)/bm-log(z-Bm)-Am/(2*sqrt(2))*((2*(yO*sqrt(aN*aO)+yN*sqrt(aN*aN)))/am-bN/bm)*(log((z+2.414*Bm)./(z+0.414*Bm))))
phi_xN=exp(bN*(z1-1)/bm1-log(z1-Bm1)-Am1/(2*sqrt(2))*((2*((1-xN)*sqrt(aN*aO)+xN*sqrt(aN*aN)))/am1-bN/bm1)*(log((z1+2.414*Bm1)./(z1+0.414*Bm1))))


%      无论气相还是液相都取得了三个体积压缩因子,根据相平衡的原则,KN=1.14应该等于phi_xN/phi_yN,分别按照三个压缩因子求得逸度,但无
%      论怎么组合,都不能满足以上式子。
%问题:可能是因为压缩因子求取有问题?另问:当求得三个压缩因子时,到底哪个用作液相的压缩因子,哪个用作气相压缩因子?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

明德厚学、求是创新
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

moirakaola

银虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
楼主,你好!可否将修改后的MATLAB程序,共享一下?我想计算H2O/CO2,不同温度,压力下的逸度。十分感谢!
2楼2016-06-17 11:19:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiegangmai 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见