一种改进的泡露点计算方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
醋酸 丙酸 甲烷 乙烯 乙烷 丙烯 丙烷 丁烯- 1*
氢气 甲烷 乙烯 乙烷 丁烷* 氢气 甲烷 乙烷 丙烷 丁烷 戊烷 己烷*
物质的量组成/ mol 0. 1, 0. 1, 0. 8 0. 2, 0. 2, 0. 6
0. 203, 0. 211, 0. 390, 0. 196 0. 2, 0. 8
面的改进, 忽视了计算过程的整体性与各部分的合理 连接, 因此还存在整个程序的计算量仍然很大, 对于 某些物系计算不易收敛的问题。本文在对各种泡露
点计算方法研究的基础上, 考虑了收敛精度和迭代次 数等因素, 改进了计算泡露点的循环和迭代方法。该 方法形式和计算简单, 收敛非常迅速, 一般经过 1~ 2 次迭代即可达到收敛精度要求。
Abstract In this paper a modified method for calcalation of the bubble point and the dew point is proposed, By using the linearization object function and the iteration which combined with the Newton method and secant method the initial val ue is estimated with the gas - liquid equilibrium of ideal system. Compared with the secant method and function conversion method, the result show that the method converges more rapidly. Generally, it will converge after iterating 1~ 2 times.
6 335 327. 858 6
3
2 5. 44 10. 60 1. 49 335 328. 997 4
2
2 6. 59 9. 06 2. 08
7 407 409. 267 6
3
1 5. 49 10. 38 1. 04 409 403. 742 3
2
2 3. 35 5. 27 1. 43
8 267 266. 926 4
2
1 5. 55 7. 75 3. 19 273 269. 565 12 2
1 4. 73 13. 67 3. 13
9 95 102. 979 6
Key words bubble point dew point function iteration calculation
泡点和露点的计算是化工计算的重要内容之一, 在化工精馏, 闪蒸等单元过程的计算中都需要确定泡 点温度和露点温度, 石油和天然气工业中也经常计算 泡露点, 其收敛性和准确 性直接影响化工计 算的结 果。因此对如何提高泡露点计算的收敛速度、加快泡 露点计算, 许多学者进行了研究。可用于计算泡露点 的方 法有 很 多, 郭天 民 将弦 截 法用 于 泡 露点 的 计 算[ 1] ; 史贤林等利用函数转换法来计算泡露点[ 2] ; 曾 健、胡文励提出了一种计算泡露点的目标函数[ 3] : Je linek 和 Hlavacek 提出使用 Richmond 迭代程序来计算 泡露点[ 4] ; Peng 将加速的直接 迭代法用于泡 露点的 计算[ 5] ; 也有些学者用统计法或延拓法来计算特定物 系的泡露点[ 6, 7] 。但是以往的研究者只侧重 某一方
成的函数, 因此该方程为非线性方程, 求解过程较为
复杂。目标函数线性化后, ln K i 与 1/ T 近乎线性关
系, 计算简单且更容易收敛。
1. 2 迭代方法的分析与选择
泡露点计算中可应用的迭代方法较多, 主要有 Newton Raphson 法[ 8] 、弦截法、Richmond 法、Wegstein
1
1 4. 17 6. 64 2. 41
4 349 350. 482 4
2
1 4. 67 7. 47 0. 98 351 351. 287 2
1
1 3. 20 5. 00 2. 37
5 323 323. 232 5
3
1 5. 32 10. 38 1. 04 357 356. 254 2
1
1 2. 14 5. 27 1. 37
收敛。
本文从理想系统气液平衡关系来估算泡露点的
初值。编制成初值自动给定的子程序, 方便程序的调 用。温度初值: 通过计算理想的平衡常数计算。压力
初值 由 各组 分 的 饱 合 蒸气 压 计 算, 公 式 为: P0 =
N
i=
x
1
ipxi
,
饱和蒸气压通过安托因方程计算。
1. 4 泡露点计算的循环程序
本文对传统的泡露点计算程序进行了改进, 改进
42
汪 萍等 一种改进的泡露点计算方法
2004. Vol. 18, No. 5 化工时刊
F
(
1 T
=
ln
i
yi Ki
=
0 分别进行泡点和露点的计算。而
传统的泡点和露点的目标函数是: f ( T ) = i Kixi - 1,
f( T) =
i
yi Ki
-
1, 其中 K i 不仅是温度、压力, 还是组
第 18 卷第 5 期 2004 年 5 月
化工时刊 Chemical Industry Times
Vol. 18, No. 5 May. 5. 2004
一种改进的泡露点计算方法
汪 萍 项曙光
( 青岛科技大学计算机与化工研究所, 山东 青岛 266042)
摘要 提出了一种改进的泡露点的计算方法。新方法使用线性化 的目标函数、Newton Raphson 法 和弦截法 相结合的 迭代 方法, 并且通过理想系统气液平衡关系来估算初值。与弦截 法、函 数转换法 进行计算比 较, 结 果表明该 方法具有 迭代时间短、迭代次数少的优点, 一般只需要 1~ 2 次迭代即可收敛。 关键词 泡点 露点 目标函数 迭代 计算
到 %继续计算。
2 实例计算与结果讨论
使用本文提出的计算方法在广泛的物系范围内 对泡点温度和露点温度进行了考核, 并与弦截法、函 数转换法计算的迭代次数和计算时间相比较。表 1 中列出了一些算例, 其中包括强极性物系、烃类物系 和含氢体系等, 比较结果见表 2。
结果分析: 经过实例计算表明, 采用新的计算泡 露点的程序一般只需要 1、2 次迭代即可收敛。而这 之前的泡露点计算程序如弦截法、函数转换法中相同 的例子一般需要 2~ 6 次才可以收敛, 且计算时间要 慢 2~ 4 倍, 因此采用改进后的泡露点计算程序可以 使收敛更迅速。
1 泡露点计算
为了 改善泡露点计算的收敛特 性, 加快收 敛速 度, 本文主要从以下四方面对泡 露点计算进行 了改
进: 改变目标函数的性质, 使得函数更容易收敛; 寻找
一种更适合的迭代方法, 使求解更快速; 采用一种更 合理的初值给定方法, 来得到一个较可靠的初值和适
宜的求解区间; 改进计算的循环程序, 使整个计算过
3
1 5. 93 11. 10 1. 21 337 334. 223 2
2
1 3. 07 10. 33 1. 93
2 357 340. 341 5
3
1 6. 20 11. 52 1. 21 367 359. 980 3
2
2 4. 23 9. 72 2. 80
3 337 332. 490 5
3
1 6. 98 11. 97 1. 43 339 338. 289 2
法和函数转化法等。本文将 Newton Raphson 法和弦
截法结合使用。Newton Raphson 法对近乎线性的目
标函数收敛很快, 当能提供合适的初值时, 该法具有 高于直接线性化法的收敛速度。但是当不能提供足
够好的初值时, 会导致发散; 弦截法对泡点温度初值
要求不苛刻, 与实际泡点温度相差 20~ 30 ! 时也能 顺利收敛。但需要设两点初值, 而且迭代次数要高于
0. 764 4, 0. 235 6 0. 388, 0. 612 0. 2, 0. 8
0. 005, 0. 766 1, 0. 221 07, 0. 005 3, 0. 001 47, 0. 001 0. 233 85, 0. 266 14, 0. 101 61, 0. 198 33, 0. 200 07 0. 014, 0. 943, 0. 027, 0. 007 4, 0. 004 90, 0. 001, 0. 002 7
43
化工时刊 2004. Vol. 18, No. 5
科技进展(Advances Science & Technology)
表 1 实例物系及条件
序号 1 2 3 4 5 6 ቤተ መጻሕፍቲ ባይዱ 8 9 10
物系 丙酮 醋酸甲酯 甲醇
丙酮 异丙醇 水 醋酸甲酯 氯仿 甲醇 苯
甲醇 苯 碘 甲烷 醋酸 醋酸甲酯 甲醇
注: * 采用 BWRS 方程计算, 其它液相用 Wilson 模型计算, 气相按理想气体计算
压力/ MPa 0. 101 3 0. 101 3 0. 101 3 0. 101 3 0. 101 3 0. 101 3 0. 101 3 3. 241 6 1. 069 0 1. 013 3
表 2 计算结果及比较
Newton Raphson 法。本文 在 计 算过 程 中 首先 使 用
Newton Raphson 法进行 计算, 当初 值偏离计算 值较
远使得 Newton Raphson 法不收敛时, 再使用弦截法 来计算。
1. 3 迭代初值的计算
在迭代计算中, 迭代变量初值的给定也很重要。 一般来说初值与实际解越接近迭代速度越快, 越容易
A Modified Method for Calculation of the Bubble Point and the Dew Point
Wang Ping Xiang Shuguang
( Research Center for Computers and Chemical Engineering, Qingdao University of Science and T echnology, Shandong, Qingdao 266042, China)
后的程序如图 1 所示。
在传统的程序中, 温度迭代后需重新计算平衡常
数, 改进后的程序将平衡常数迭代计算放入温度迭代
程序内进行, 在温度迭代结束后直接计算两相的逸度 系数, 不再计算平衡常数。
传统的计算程序要用判别式作为平衡常数满足
要求的条件, 作者经过大量的实例计算考察, 发现在 迭代 3 次后, 平衡常数均能满足条件, 因此省去了对
数( 根据选择的模型, 液相也可计算活度系数 i ) , 并
根据 式: Ki =
1
i v
(
或
Ki
=
i
iP
s i
p
v i
)
计算新的 平衡常数。
& 判断平衡常数的迭代次数是否小于 3 次, 若是回到
∃ , 继续计算平衡常数。 ∋若大于 3 次, 则判断目标 函数 F ( T ) 是否满足精度要求( 精度一般选为 10- 5~ 10- 4) , 若满足则输出结果; 若不满足, 改变温度后回
图 1 改进的泡点和露点温度计算框图
平衡常数的判断, 简化了计算程序。泡露点温度的计
算步骤如下:
∀ 输入所需的参数及已知条件。 # 计算温度初
值和平衡常数初值。 ∃ 由式: yi = Kixi 计算 yi ( 计算 泡点温度) 或 xi ( 计算露点温度) , 并进行圆整。 %选 择适合的热力学方法分别计算液相和气相的逸度系
序 泡点温度 泡点温 温度迭代次数 温度迭代时间/ 10- 3s 露点温度 露点温 温度迭代次数 温度迭代时间/ 10- 3s
号 初值/ K 度/ K 方法 1 方法 2 本法 方法 1 方法 2 本法 初值/ K 度/ K 方法 1 方法 2 本法 方法 1 方法 2 本法
1 337 331. 262 5
程更快速准确。
1. 1 目标函数
采用线性化的目标函数:
F(
1 T
)
=
ln
K ixi =
i
0和
收稿日期: 2004- 03- 03
基金项目: 国家创新基金( NO. 02C26213710653) 作者简介: 汪萍( 1978~ ) , 女, 硕士生; 项曙光( 1963~ ) , 男, 博士, 教授, 研究方向: 化工系统工程, E- mail: marcy2002@ 163. com
氢气 甲烷 乙烯 乙烷 丁烷* 氢气 甲烷 乙烷 丙烷 丁烷 戊烷 己烷*
物质的量组成/ mol 0. 1, 0. 1, 0. 8 0. 2, 0. 2, 0. 6
0. 203, 0. 211, 0. 390, 0. 196 0. 2, 0. 8
面的改进, 忽视了计算过程的整体性与各部分的合理 连接, 因此还存在整个程序的计算量仍然很大, 对于 某些物系计算不易收敛的问题。本文在对各种泡露
点计算方法研究的基础上, 考虑了收敛精度和迭代次 数等因素, 改进了计算泡露点的循环和迭代方法。该 方法形式和计算简单, 收敛非常迅速, 一般经过 1~ 2 次迭代即可达到收敛精度要求。
Abstract In this paper a modified method for calcalation of the bubble point and the dew point is proposed, By using the linearization object function and the iteration which combined with the Newton method and secant method the initial val ue is estimated with the gas - liquid equilibrium of ideal system. Compared with the secant method and function conversion method, the result show that the method converges more rapidly. Generally, it will converge after iterating 1~ 2 times.
6 335 327. 858 6
3
2 5. 44 10. 60 1. 49 335 328. 997 4
2
2 6. 59 9. 06 2. 08
7 407 409. 267 6
3
1 5. 49 10. 38 1. 04 409 403. 742 3
2
2 3. 35 5. 27 1. 43
8 267 266. 926 4
2
1 5. 55 7. 75 3. 19 273 269. 565 12 2
1 4. 73 13. 67 3. 13
9 95 102. 979 6
Key words bubble point dew point function iteration calculation
泡点和露点的计算是化工计算的重要内容之一, 在化工精馏, 闪蒸等单元过程的计算中都需要确定泡 点温度和露点温度, 石油和天然气工业中也经常计算 泡露点, 其收敛性和准确 性直接影响化工计 算的结 果。因此对如何提高泡露点计算的收敛速度、加快泡 露点计算, 许多学者进行了研究。可用于计算泡露点 的方 法有 很 多, 郭天 民 将弦 截 法用 于 泡 露点 的 计 算[ 1] ; 史贤林等利用函数转换法来计算泡露点[ 2] ; 曾 健、胡文励提出了一种计算泡露点的目标函数[ 3] : Je linek 和 Hlavacek 提出使用 Richmond 迭代程序来计算 泡露点[ 4] ; Peng 将加速的直接 迭代法用于泡 露点的 计算[ 5] ; 也有些学者用统计法或延拓法来计算特定物 系的泡露点[ 6, 7] 。但是以往的研究者只侧重 某一方
成的函数, 因此该方程为非线性方程, 求解过程较为
复杂。目标函数线性化后, ln K i 与 1/ T 近乎线性关
系, 计算简单且更容易收敛。
1. 2 迭代方法的分析与选择
泡露点计算中可应用的迭代方法较多, 主要有 Newton Raphson 法[ 8] 、弦截法、Richmond 法、Wegstein
1
1 4. 17 6. 64 2. 41
4 349 350. 482 4
2
1 4. 67 7. 47 0. 98 351 351. 287 2
1
1 3. 20 5. 00 2. 37
5 323 323. 232 5
3
1 5. 32 10. 38 1. 04 357 356. 254 2
1
1 2. 14 5. 27 1. 37
收敛。
本文从理想系统气液平衡关系来估算泡露点的
初值。编制成初值自动给定的子程序, 方便程序的调 用。温度初值: 通过计算理想的平衡常数计算。压力
初值 由 各组 分 的 饱 合 蒸气 压 计 算, 公 式 为: P0 =
N
i=
x
1
ipxi
,
饱和蒸气压通过安托因方程计算。
1. 4 泡露点计算的循环程序
本文对传统的泡露点计算程序进行了改进, 改进
42
汪 萍等 一种改进的泡露点计算方法
2004. Vol. 18, No. 5 化工时刊
F
(
1 T
=
ln
i
yi Ki
=
0 分别进行泡点和露点的计算。而
传统的泡点和露点的目标函数是: f ( T ) = i Kixi - 1,
f( T) =
i
yi Ki
-
1, 其中 K i 不仅是温度、压力, 还是组
第 18 卷第 5 期 2004 年 5 月
化工时刊 Chemical Industry Times
Vol. 18, No. 5 May. 5. 2004
一种改进的泡露点计算方法
汪 萍 项曙光
( 青岛科技大学计算机与化工研究所, 山东 青岛 266042)
摘要 提出了一种改进的泡露点的计算方法。新方法使用线性化 的目标函数、Newton Raphson 法 和弦截法 相结合的 迭代 方法, 并且通过理想系统气液平衡关系来估算初值。与弦截 法、函 数转换法 进行计算比 较, 结 果表明该 方法具有 迭代时间短、迭代次数少的优点, 一般只需要 1~ 2 次迭代即可收敛。 关键词 泡点 露点 目标函数 迭代 计算
到 %继续计算。
2 实例计算与结果讨论
使用本文提出的计算方法在广泛的物系范围内 对泡点温度和露点温度进行了考核, 并与弦截法、函 数转换法计算的迭代次数和计算时间相比较。表 1 中列出了一些算例, 其中包括强极性物系、烃类物系 和含氢体系等, 比较结果见表 2。
结果分析: 经过实例计算表明, 采用新的计算泡 露点的程序一般只需要 1、2 次迭代即可收敛。而这 之前的泡露点计算程序如弦截法、函数转换法中相同 的例子一般需要 2~ 6 次才可以收敛, 且计算时间要 慢 2~ 4 倍, 因此采用改进后的泡露点计算程序可以 使收敛更迅速。
1 泡露点计算
为了 改善泡露点计算的收敛特 性, 加快收 敛速 度, 本文主要从以下四方面对泡 露点计算进行 了改
进: 改变目标函数的性质, 使得函数更容易收敛; 寻找
一种更适合的迭代方法, 使求解更快速; 采用一种更 合理的初值给定方法, 来得到一个较可靠的初值和适
宜的求解区间; 改进计算的循环程序, 使整个计算过
3
1 5. 93 11. 10 1. 21 337 334. 223 2
2
1 3. 07 10. 33 1. 93
2 357 340. 341 5
3
1 6. 20 11. 52 1. 21 367 359. 980 3
2
2 4. 23 9. 72 2. 80
3 337 332. 490 5
3
1 6. 98 11. 97 1. 43 339 338. 289 2
法和函数转化法等。本文将 Newton Raphson 法和弦
截法结合使用。Newton Raphson 法对近乎线性的目
标函数收敛很快, 当能提供合适的初值时, 该法具有 高于直接线性化法的收敛速度。但是当不能提供足
够好的初值时, 会导致发散; 弦截法对泡点温度初值
要求不苛刻, 与实际泡点温度相差 20~ 30 ! 时也能 顺利收敛。但需要设两点初值, 而且迭代次数要高于
0. 764 4, 0. 235 6 0. 388, 0. 612 0. 2, 0. 8
0. 005, 0. 766 1, 0. 221 07, 0. 005 3, 0. 001 47, 0. 001 0. 233 85, 0. 266 14, 0. 101 61, 0. 198 33, 0. 200 07 0. 014, 0. 943, 0. 027, 0. 007 4, 0. 004 90, 0. 001, 0. 002 7
43
化工时刊 2004. Vol. 18, No. 5
科技进展(Advances Science & Technology)
表 1 实例物系及条件
序号 1 2 3 4 5 6 ቤተ መጻሕፍቲ ባይዱ 8 9 10
物系 丙酮 醋酸甲酯 甲醇
丙酮 异丙醇 水 醋酸甲酯 氯仿 甲醇 苯
甲醇 苯 碘 甲烷 醋酸 醋酸甲酯 甲醇
注: * 采用 BWRS 方程计算, 其它液相用 Wilson 模型计算, 气相按理想气体计算
压力/ MPa 0. 101 3 0. 101 3 0. 101 3 0. 101 3 0. 101 3 0. 101 3 0. 101 3 3. 241 6 1. 069 0 1. 013 3
表 2 计算结果及比较
Newton Raphson 法。本文 在 计 算过 程 中 首先 使 用
Newton Raphson 法进行 计算, 当初 值偏离计算 值较
远使得 Newton Raphson 法不收敛时, 再使用弦截法 来计算。
1. 3 迭代初值的计算
在迭代计算中, 迭代变量初值的给定也很重要。 一般来说初值与实际解越接近迭代速度越快, 越容易
A Modified Method for Calculation of the Bubble Point and the Dew Point
Wang Ping Xiang Shuguang
( Research Center for Computers and Chemical Engineering, Qingdao University of Science and T echnology, Shandong, Qingdao 266042, China)
后的程序如图 1 所示。
在传统的程序中, 温度迭代后需重新计算平衡常
数, 改进后的程序将平衡常数迭代计算放入温度迭代
程序内进行, 在温度迭代结束后直接计算两相的逸度 系数, 不再计算平衡常数。
传统的计算程序要用判别式作为平衡常数满足
要求的条件, 作者经过大量的实例计算考察, 发现在 迭代 3 次后, 平衡常数均能满足条件, 因此省去了对
数( 根据选择的模型, 液相也可计算活度系数 i ) , 并
根据 式: Ki =
1
i v
(
或
Ki
=
i
iP
s i
p
v i
)
计算新的 平衡常数。
& 判断平衡常数的迭代次数是否小于 3 次, 若是回到
∃ , 继续计算平衡常数。 ∋若大于 3 次, 则判断目标 函数 F ( T ) 是否满足精度要求( 精度一般选为 10- 5~ 10- 4) , 若满足则输出结果; 若不满足, 改变温度后回
图 1 改进的泡点和露点温度计算框图
平衡常数的判断, 简化了计算程序。泡露点温度的计
算步骤如下:
∀ 输入所需的参数及已知条件。 # 计算温度初
值和平衡常数初值。 ∃ 由式: yi = Kixi 计算 yi ( 计算 泡点温度) 或 xi ( 计算露点温度) , 并进行圆整。 %选 择适合的热力学方法分别计算液相和气相的逸度系
序 泡点温度 泡点温 温度迭代次数 温度迭代时间/ 10- 3s 露点温度 露点温 温度迭代次数 温度迭代时间/ 10- 3s
号 初值/ K 度/ K 方法 1 方法 2 本法 方法 1 方法 2 本法 初值/ K 度/ K 方法 1 方法 2 本法 方法 1 方法 2 本法
1 337 331. 262 5
程更快速准确。
1. 1 目标函数
采用线性化的目标函数:
F(
1 T
)
=
ln
K ixi =
i
0和
收稿日期: 2004- 03- 03
基金项目: 国家创新基金( NO. 02C26213710653) 作者简介: 汪萍( 1978~ ) , 女, 硕士生; 项曙光( 1963~ ) , 男, 博士, 教授, 研究方向: 化工系统工程, E- mail: marcy2002@ 163. com