bwrs状态方程计算压缩因子matlab
时间: 2023-07-26 15:18:30 浏览: 450
修正混合规则的BWRS型状态方程及其在 CO2-原油体系相态计算中的应用 (2013年)
在Matlab中,可以使用以下代码计算bwrs状态方程的压缩因子:
```matlab
function z = bwrs(Zc, Tr, Pr)
% 计算bwrs状态方程的压缩因子
% 输入参数:
% Zc:临界压缩因子
% Tr:临界温度
% Pr:临界压力
% 输出参数:
% z:压缩因子
% 计算临界参数
R = 8.314; % 气体常数
Tc = Tr * R / Zc / Pr;
Pc = Zc * R * Tc / Vc;
% 计算reduced变量
Tr = T / Tc;
Pr = P / Pc;
% 计算a和b
a = 0.42748 * R^2 * Tc^2.5 / Pc;
b = 0.08664 * R * Tc / Pc;
% 初始值
z = 1;
% 迭代计算压缩因子
for i = 1:100
A = a * P / R^2 / T^2;
B = b * P / R / T;
lnphi = z - 1 - log(z - B) - A / sqrt(T) / z;
dlnphi_dz = 1 / (z - B) + A / sqrt(T) / z^2;
z_new = z - lnphi / dlnphi_dz;
if abs(z_new - z) < 1e-6
break;
end
z = z_new;
end
end
```
其中,输入参数为临界压缩因子Zc、临界温度Tr和临界压力Pr,输出参数为压缩因子z。需要注意的是,此代码中的计算过程仅适用于bwrs状态方程,不适用于其他状态方程。
阅读全文