石油与天然气化工  2010, Vol. 39 Issue (2): 115-118
一种泡点编程计算方法
童立志 , 邓雪琴 , 李少军 , 朱汉兵 , 刘洪杰 , 贾琴芳     
中国石油吐哈油田公司
摘要:泡点计算在石油化工设计计算中应用广泛, 十分重要。由泡点方程直接编程进行泡点计算时, 泡点温度(或压力)初值选定困难, 迭代计算中易产生发散现象而得不到计算结果[2, 3]。本文提出了一种泡点编程计算的间接方法, 避免了上述问题。另外, 泡点计算时使用的温度和压力调整程序可广泛应用于非线性单调连续函数求解的编程计算中。
关键词泡点    编程计算方法    应用    
A Programming Calculation Way about Bubble Point
Tong Lizhi , Deng Xueqin , Li Shaojun , et al     
PetroChina Tuha Oilfield Company
Abstract: In design calculation of petrochemistry industry, bubble point calculation has an extensive application, it is very important. In the course of calculating bubble point by bubble point equation, it is very difficult to select bubble point temperature or pressure, but it is easy to bring radiation phenomenon in calculation. Therefore, calculation result could not be achieved. In the paper, a programming calculation way about bubble point is bring forward, which avoids above problems. Moreover, the program, which is adjusted by the temperature or pressure and applied in calculating bubble point, can be applied extensively in calculating no linearity humdrum continuity function.
Key words: bubble point    programming calculation way    application    

1 由泡点方程直接编程进行泡点计算[1, 2, 3]

设有一气液平衡系统, 压力、温度分别为PT, 气、液相组成分别为yx。组成为y的气相处于压力为P、温度为T的露点状态; 组成为x的液相则处于压力为P、温度为T的泡点状态。

泡点计算的两种类型:

① 已知Px, 求Ty;

② 已知Tx, 求Py

泡点计算方程:

① 泡点方程:;

② 气液平衡常数关联式:Px确定时, Ki=f (T); Tx确定时, Ki=f (P)。

由泡点方程直接编程进行泡点计算实际上就是求解上面的方程组, 共有N+1个方程, N+1个变量, 方程组有唯一解。

KiTP的复杂函数, 严格的编程计算必须借助状态方程, 通过迭代计算才能实现。

由泡点方程直接编程进行泡点计算时, 液相组成x是确定的、不变的。如此, 在计算过程中, 当温度非泡点温度时, 计算得到的气相组成是和液相不平衡的, 或者说, 计算得到的气相组成不能使相平衡条件fiV=fiL和泡点方程同时成立。

由泡点方程直接编程进行泡点计算时, 泡点温度(或压力)初值选定困难, 迭代计算中易出现发散现象而得不到计算结果。

计算步骤和框图可参考文献[1-3]等。

2 一种泡点编程计算的间接方法
2.1 原理

吐哈油田丘东采油厂一号装置原料天然气在压力、温度分别为7.04 MPa、231K时的相平衡组成数据如表 1所示。

表 1    压力、温度分别为7.04 MPa、231K时, 总组成为zi的相平衡组成数据表

2.1.1 已知Px, 求Ty

在压力为7.04 MPa、温度改变时, 对表 1中液相组成进行相平衡计算, 可得相平衡气相摩尔分率vf随温度T变化的关系数据如表 2所示。

表 2    压力为7.04 MPa、温度改变时, 对表 1中液相组成xi进行相平衡计算, 得到的相平衡气相摩尔分率vf随温度T变化的关系数据表

表 2所示数据相应的vf~T曲线如图 1所示。由图 1可知, 在压力P和总组成z一定时, 在两相区, vfT的非线性单调递增连续函数, 而在过冷液体和过热蒸汽区, vfT的常函数。通过调整温度T, 并调用相平衡程序可计算获得泡点温度、气相组成等数据。

图 1     vf~T(K)曲线

表 2图 1可知, 压力为7.04 MPa时, 表 1中液相组成的泡点温度为231K。

2.1.2 已知Tx, 求Py

在温度为231K、压力改变时, 对表 1中液相组成进行相平衡计算, 可得相平衡气相摩尔分率vf随压力P变化的关系数据如表 3所示。

表 3    温度为231K、压力改变时, 对表 1中液相组成xi进行相平衡计算, 得到的相平衡气相摩尔分率vf随温度P变化的关系数据表

表 3所示数据相应的vf~P曲线如图 2所示。由图 2可知, 在温度T和总组成z一定时, 在两相区, vfT的非线性单调递减连续函数, 而在过冷液体和过热蒸汽区, vfT的常函数。通过调整压力P, 并调用相平衡程序可计算获得泡点压力、气相组成等数据。由表 3图 2可知, 温度为231K时, 表 1中液相组成的泡点压力为7.04 MPa。

图 2     vf~P(×10-1MPa)曲线

根据上面介绍的泡点计算方法可知, 计算过程中, 表 1中液相组成作为相平衡计算总组成是不变的, 而相平衡液相组成是变化的, 当相平衡状态为泡点状态时, 液相组成和总组成达成一致。

2.2 计算步骤

以泡点温度计算为例, 泡点压力计算类同。

(1) 读取计算组分相关物性数据和压力P、组成z、组分数N等工艺数据;

(2) 设T0=0, T0用于记录上一温度调整循环温度T;

(3) 设调整温度T初值;

(4) 设置温度调整循环控制变量k=0;

(5) k++, 进入温度调整循环程序;

(6) 调用相平衡计算程序, 计算可得PTz下相平衡气相摩尔分率vf, 气液相组成yx等数据;

(7) 如果0 < vf < 1.0×10-5或|T-T0| < 1.0×10-2, 可认为相平衡状态即为泡点状态, 结束温度调整循环程序, 输出计算结果, 否则, 令T0=T, 调用温度调整程序修改温度T, 计算转步骤5循环。

2.3 温度调整程序

vf~T的函数关系, 根据vf的变化调整T

因温度初值设定的不同, 温度调整有两种可能情况, 当初始vf > 0时, 系统处于两相、露点或过热蒸汽状态, 可将T调整为0.5T, 重新调用相平衡计算程序计算vf, 直到vf=0, 改变调整方式; 而初始vf=0时, 系统处于泡点或过冷液体状态, 可将T调整为2.0T, 重新调用相平衡计算程序计算vf, 直到vf > 0, 改变调整方式。

在合理的情况下, 无论温度初值如何设定, 都能快速收敛到所需要的泡点温度状态。

2.4 压力调整程序

与计算泡点温度类同, 计算泡点压力时, 需要调用压力调整程序。

vf~P的函数关系, 根据vf的变化调整P

因压力初值设定的不同, 压力调整有两种可能情况, 当初始vf > 0时, 系统处于两相、露点或过热蒸汽状态, 可将P调整为2.0P, 重新调用相平衡计算程序计算vf, 直到vf=0, 改变调整方式; 而初始vf=0时, 系统处于泡点或过冷液体状态, 可将P调整为0.5P, 重新调用相平衡计算程序计算vf, 直到vf > 0, 改变调整方式。

在合理的情况下, 无论压力初值如何设定, 都能快速收敛到所需要的泡点压力状态。

2.5 实例验证

设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%。

表 4    以表 1中液相组成xi在压力7.04 MPa下进行泡点温度计算, 得泡点状态下气相组成表

表 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%。

表 5    以表 1中液相组成xi在温度231K下进行泡点压力计算, 得泡点状态下气相组成表

3 泡点计算应用实例
3.1 设计罐压

某液化气产品组成如表 6所示, 最高罐装温度为318K。

表 6    某液化气产品组成

表 6中组成在温度318K下进行泡点计算, 可得泡点压力为1.2 158 203 MPa。此压力可认为是液化气储罐的最高工作压力, 可作为罐压设计的依据。

计算泡点压力可用于石油化工多组分液态产品储罐压力的设计, 包括精馏塔回流罐压力, 进而作为精馏塔压力设计的依据[1, 2]

3.2 计算精馏塔重沸器温度

某脱乙烷塔塔底重沸器液相组成如表 7所示, 操作压力为1.5 MPa。

表 7    某脱乙烷塔塔底重沸器液相组成

表 7中组成在压力1.5 MPa下进行泡点计算, 可得泡点温度为334.995117K。

泡点温度计算在精馏塔设计计算中, 用于计算塔板温度和重沸器温度等[1, 2]

4 结束语

直接通过泡点方程进行泡点计算时, 计算过程中液相组成不变; 利用相平衡程序进行泡点计算时, 总组成不变, 而随着温度或压力的调整, 气液相组成则是变化的, 当相平衡状态为泡点状态时, 液相组成和总组成达到一致。

利用相平衡程序进行泡点计算时, 在状态方程许可的参数范围内, 温度或压力初值设定不受限制。

利用相平衡程序进行泡点计算时, 通过本文介绍的温度或压力调整程序, 在计算过程中, 能快速收敛, 并得到计算结果。

参考文献
[1]
陈洪钫, 刘家祺编.化工分离过程.化学工业出版社, 1995
[2]
罗光熹, 周安主编.天然气加工过程原理与技术, 黑龙江科学技术出版社, 1990
[3]
郭天民等编著.多元汽、液平衡和精馏.化学工业出版社, 1983