设有一气液平衡系统, 压力、温度分别为P、T, 气、液相组成分别为y、x。组成为y的气相处于压力为P、温度为T的露点状态; 组成为x的液相则处于压力为P、温度为T的泡点状态。
泡点计算的两种类型:
① 已知P、x, 求T、y;
② 已知T、x, 求P、y。
泡点计算方程:
① 泡点方程:;
② 气液平衡常数关联式:P、x确定时, Ki=f (T); T、x确定时, Ki=f (P)。
由泡点方程直接编程进行泡点计算实际上就是求解上面的方程组, 共有N+1个方程, N+1个变量, 方程组有唯一解。
Ki是T或P的复杂函数, 严格的编程计算必须借助状态方程, 通过迭代计算才能实现。
由泡点方程直接编程进行泡点计算时, 液相组成x是确定的、不变的。如此, 在计算过程中, 当温度非泡点温度时, 计算得到的气相组成是和液相不平衡的, 或者说, 计算得到的气相组成不能使相平衡条件fiV=fiL和泡点方程同时成立。
由泡点方程直接编程进行泡点计算时, 泡点温度(或压力)初值选定困难, 迭代计算中易出现发散现象而得不到计算结果。
计算步骤和框图可参考文献[1-3]等。
吐哈油田丘东采油厂一号装置原料天然气在压力、温度分别为7.04 MPa、231K时的相平衡组成数据如表 1所示。
在压力为7.04 MPa、温度改变时, 对表 1中液相组成进行相平衡计算, 可得相平衡气相摩尔分率vf随温度T变化的关系数据如表 2所示。
表 2所示数据相应的vf~T曲线如图 1所示。由图 1可知, 在压力P和总组成z一定时, 在两相区, vf为T的非线性单调递增连续函数, 而在过冷液体和过热蒸汽区, vf为T的常函数。通过调整温度T, 并调用相平衡程序可计算获得泡点温度、气相组成等数据。
由表 2和图 1可知, 压力为7.04 MPa时, 表 1中液相组成的泡点温度为231K。
在温度为231K、压力改变时, 对表 1中液相组成进行相平衡计算, 可得相平衡气相摩尔分率vf随压力P变化的关系数据如表 3所示。
表 3所示数据相应的vf~P曲线如图 2所示。由图 2可知, 在温度T和总组成z一定时, 在两相区, vf为T的非线性单调递减连续函数, 而在过冷液体和过热蒸汽区, vf为T的常函数。通过调整压力P, 并调用相平衡程序可计算获得泡点压力、气相组成等数据。由表 3和图 2可知, 温度为231K时, 表 1中液相组成的泡点压力为7.04 MPa。
根据上面介绍的泡点计算方法可知, 计算过程中, 表 1中液相组成作为相平衡计算总组成是不变的, 而相平衡液相组成是变化的, 当相平衡状态为泡点状态时, 液相组成和总组成达成一致。
以泡点温度计算为例, 泡点压力计算类同。
(1) 读取计算组分相关物性数据和压力P、组成z、组分数N等工艺数据;
(2) 设T0=0, T0用于记录上一温度调整循环温度T;
(3) 设调整温度T初值;
(4) 设置温度调整循环控制变量k=0;
(5) k++, 进入温度调整循环程序;
(6) 调用相平衡计算程序, 计算可得P、T、z下相平衡气相摩尔分率vf, 气液相组成y、x等数据;
(7) 如果0 < vf < 1.0×10-5或|T-T0| < 1.0×10-2, 可认为相平衡状态即为泡点状态, 结束温度调整循环程序, 输出计算结果, 否则, 令T0=T, 调用温度调整程序修改温度T, 计算转步骤5循环。
由vf~T的函数关系, 根据vf的变化调整T。
因温度初值设定的不同, 温度调整有两种可能情况, 当初始vf > 0时, 系统处于两相、露点或过热蒸汽状态, 可将T调整为0.5T, 重新调用相平衡计算程序计算vf, 直到vf=0, 改变调整方式; 而初始vf=0时, 系统处于泡点或过冷液体状态, 可将T调整为2.0T, 重新调用相平衡计算程序计算vf, 直到vf > 0, 改变调整方式。
在合理的情况下, 无论温度初值如何设定, 都能快速收敛到所需要的泡点温度状态。
与计算泡点温度类同, 计算泡点压力时, 需要调用压力调整程序。
由vf~P的函数关系, 根据vf的变化调整P。
因压力初值设定的不同, 压力调整有两种可能情况, 当初始vf > 0时, 系统处于两相、露点或过热蒸汽状态, 可将P调整为2.0P, 重新调用相平衡计算程序计算vf, 直到vf=0, 改变调整方式; 而初始vf=0时, 系统处于泡点或过冷液体状态, 可将P调整为0.5P, 重新调用相平衡计算程序计算vf, 直到vf > 0, 改变调整方式。
在合理的情况下, 无论压力初值如何设定, 都能快速收敛到所需要的泡点压力状态。
设A、B为两个值, B和A相比较时, 令δ=。
以表 1中液相组成在压力7.04 MPa下进行泡点温度计算, 温度初值分别取100K和500K。
两种情况泡点计算的精度vf分别为0.000 004、0.000 002。
计算可得泡点温度分别为231.001 655K、231.00 1617K, 和表 1中的气液相平衡温度231K相比较, δ分别为0.000 716%、0.000 700%。
两种情况计算得到的气相组成相同, 如表 4所示。和表 1中相平衡气相组成相比较, 单组分摩尔组成δ最大值为0.050 684%。
以表 1中液相组成在温度231K下进行泡点压力计算, 压力初值分别取0.1 MPa和50 MPa。
两种情况泡点计算的精度vf分别为0.000 007、0.000 002。计算可得泡点压力分别为7.0398 193 MPa、7.039 8331 MPa, 和表 1中的气液相平衡压力7.04 MPa相比较, δ分别为0.002 567%、0.002 371%。
两种情况计算得到的气相组成相同, 如表 5所示。和表 1中相平衡气相组成相比较, 单组分摩尔组成δ最大值为0.044349%。
某液化气产品组成如表 6所示, 最高罐装温度为318K。
以表 6中组成在温度318K下进行泡点计算, 可得泡点压力为1.2 158 203 MPa。此压力可认为是液化气储罐的最高工作压力, 可作为罐压设计的依据。
计算泡点压力可用于石油化工多组分液态产品储罐压力的设计, 包括精馏塔回流罐压力, 进而作为精馏塔压力设计的依据[1, 2]。
某脱乙烷塔塔底重沸器液相组成如表 7所示, 操作压力为1.5 MPa。
以表 7中组成在压力1.5 MPa下进行泡点计算, 可得泡点温度为334.995117K。
泡点温度计算在精馏塔设计计算中, 用于计算塔板温度和重沸器温度等[1, 2]。
直接通过泡点方程进行泡点计算时, 计算过程中液相组成不变; 利用相平衡程序进行泡点计算时, 总组成不变, 而随着温度或压力的调整, 气液相组成则是变化的, 当相平衡状态为泡点状态时, 液相组成和总组成达到一致。
利用相平衡程序进行泡点计算时, 在状态方程许可的参数范围内, 温度或压力初值设定不受限制。
利用相平衡程序进行泡点计算时, 通过本文介绍的温度或压力调整程序, 在计算过程中, 能快速收敛, 并得到计算结果。