国际水和水蒸气性质学会 年...iapws-if97...
TRANSCRIPT
国际水和水蒸气性质学会
1997 年 9 月于德国埃尔兰根
IAPWS1997 年关于工业用水和水蒸气热力学性质计算公式的公布
1997 国际水和水蒸气性质学会
允许全部或部分公开提供的国家其解释权归国际水和水蒸气性质学会所有
主席:
R.费尔南德斯 - 普里尼博士
国家原子能委员会
解放者大道 8250 号
布宜诺斯艾利斯 - 1429
阿根廷
执行秘书:
R.B.杜利博士
电力科学研究院
山景大道 3412
帕洛阿尔托,加利福尼亚州 94304,美国
此公告共计 48 页
此公告在国际水和水蒸气性质协会(IAPWS)于 1997 年 9 月 14 日至 20 日
在埃尔兰根的会议上得到授权,以便其秘书处对此公告的发行。国际水和水蒸气
性质学会的成员包括:阿根廷,加拿大,捷克共和国,丹麦,德国,法国,意大
利,日本,俄罗斯,英国,美国。
本公告中提供的性质制定推荐用于工业使用,并将其称为“国际水和水蒸气
性质学会对工业用 1997 年 IF 公式水和水蒸气热力学性质的制定”简称为“国际
水和水蒸气性质学会工业用计算公式 1997”(简称 IAPWS-IF97 公式)。
IAPWS-IF97 公式取代了之前由国际公式化委员会制定的“工业用 1967 年 IFC
公式”(简称 IFC-67 公式)[1].关于本公告的更多细节可参考 W.瓦格纳[2]等人的
相关文章。
国际水和水蒸气性质学会为普通和科技使用也作了相应的制定。
国际水和水蒸气性质学会秘书处提供更多关于本公告和由国际水和水蒸气
性质学会发行的其他文件的相关信息。
- 1 -
- 2 -
目录目录目录目录
1 符号解释 3
2 公告结构 4
3 参考常数 5
4 2 区和 3 区之间的边界辅助方程 5
5 1 区方程 6
5. 1 基本方程 6
5. 2 导出方程 9
5. 2. 1 导出方程 T ( p,h ) 9
5. 2. 2 导出方程 T ( p,s ) 10
6 2 区方程 11
6. 1 基本方程 11
6. 2 亚稳定蒸汽区的补充方程 15
6. 3 导出方程 17
6. 3. 1 子区域 2a,2b 和 2c 的导出方程 T( p,h ) 19
6. 3. 2 子区域 2a,2b 和 2c 的导出方程 T( p,s ) 22
7 3 区基本方程 25
8 4 区方程 27
8. 1 饱和压力方程(基本方程) 28
8. 2 饱和温度方程(导出方程) 29
9 5 区基本方程 30
10 区域边界的一致性 33
10. 1 单相区域边界一致性 33
10. 2 饱和线的一致性 34
11 IAPWS-IF97公式与IFC-67公式计算时间的比较 35
11. 1 1,2 和 4 区计算时间的调查 35
11. 2 3 和 5 区计算时间的调查 36
12 不确定性估计 37
13 参考文献 39
14 计算程序 40
15 致谢 57
- 3 -
1 符号解释符号解释符号解释符号解释
热力学量热力学量热力学量热力学量:
Cp 等压热熔
Cv 定容热熔
f 亥姆霍兹自由能
g 吉布斯自由能
h 焓
M 摩尔质量
P 压力
R 气体常数
Rm 摩尔气体常数
S 熵
T 绝对温度
u 内能
v 体积
w 音速
x 总质量
β 转变压力,方程 29a γ 吉布斯自由能量纲,
γ =g /(RT)
δ 密度减少量,δ = ρ / ρ ∗
∆ 变化量 η 焓差,
η =η /η∗
θ温差,
θ =T/T∗
υ转变温度 公式(29b)
π对比压力
π =P/P∗
ρ质量密度
σ比熵
τ相反的对比温度
ψ无量纲的等温等容自由能
上标符号上标符号上标符号上标符号:
o 理想气体
r 残留部分
* 减少量
′ 饱和液体
〃 饱和蒸汽
角标角标角标角标:
C 临界点
- 4 -
max 最大值
RMS 均方根值
s 饱和状态
t 三倍点
tol 数量的公差
均方根误差均方根误差均方根误差均方根误差:
∆ x RMS = 2)(1
xN
∆ ,
此公式中 x∆ 在相应数量之间可以是绝对值也可以是相对值;N是 x∆ 值得个数。
注意:T 表示绝对温度(1990 国际温标)
- 5 -
2 公式结构公式结构公式结构公式结构
由一组针对涵盖如下有效区域内不用分区的方程组成:
273.15 K ≤ T ≤ 1073.15 K p ≤100 MPa
1073.15 K < T ≤2273.15 K p ≤10 MPa .
图 1 指出 IAPWS-IF97 公式适用的整个区域内的 5 各区域的划分。除 2、3
区间边界外,其他区间边界均可直接从图 1 中读出;这一边界由第四部分给出的
所谓 B23-方程定义。1 区和 2 区都可应用吉布斯自由能基本方程 g( p,T ),3 区则
应用亥姆霍兹自由能基本方程 f ( ρ ,T ),此区域内 ρ表示密度,并且饱和曲线由饱
和压力方程 p s ( T )。高温区域 5 也应使用方程 g( p,T )。这五个方程,如下图 1
中表示,构成我们所说的基本方程。
图图图图 1.1.1.1.IAPWS-IF97 公式的分区与方程
对于主要性质参数体积 v,焓 h,定压热熔 Cp,音速 w,饱和压力 Ps,基本方
程表示从“常规及科学用普通水热力学性质 1995IAPWS 公式” 【3】(一下简
称 IAPWS-95 公式)到为了相应方程发展所需而提出的公差中的相应值;相关要
求和执行详情刊载于 IAPWS-IF97 公式【2】的综合论文中。1 区域和 3 区域的基
本方程也同样适用于临近于稳定状态的亚稳定状态的合理值。区域 2 有一个特别
的方程用于亚稳定蒸汽区计算。在规定的公差范围内,沿区域边界的相应方程就
有一致性;详情见第 10 部分。
除基本方程外,区域 1,2 和 4 中所谓的反向方程分别由 T(p,h),T(p,s)和 T s (p)
方程形式给出。这些反向方程在数值上与相应的基本方程一致,并且用于计算 1
区 p,h、2 区 p,s 和 4 区 p是十分方便快速的。应用此方法,诸如 T(p,h),h (p,s)和
h‘ (p)等性质可以很快计算出来,而不用通过单独使用反向方程或者与基本方程
联立进行迭代进行求解,比如,h (p,s)通过关系式 h(p,T(p,s))。其结果是,工业
上的许多重要性质的计算速度要比使用 IFC-67 公式进行的相关计算快上 5倍以
上;具体可见第 11 部分。
对利用 IAPWS-IF97 公式进行的相关计算的不确定性所进行的估计在第 12
部分列出。
- 6 -
3 参考常数参考常数参考常数参考常数
用于此公式的普通水的气体常数是
R=0.461526 kJ kg 1− K 1− (1)
此值在推荐的摩尔气体常数【4】和普通水的摩尔质量【5,6】基础上得到。
临界参数
T c =647.096 K (2)
P c =22.064 MPa (3)
cρ =322 kg m 3− (4)
由相关的 IAPWS 发布【7】。
- 7 -
4 2 区和区和区和区和 3 区之间的边界辅助方程区之间的边界辅助方程区之间的边界辅助方程区之间的边界辅助方程
区域 2 和区域 3 的边界(如图 1.)由如下简单的压力-温度二次关系——B23
方程定义
π =n 1 +n 2 θ +n 3
2θ , (5)
其中,π =P/P ∗ (P ∗ =1 MPa),θ =T/T ∗(T ∗ =1 K)。表 1列出了方程(5)的系数
n 1到 n 3 的值。方程(5)大致描述了一条熵线;沿此边界的熵值在 s=5.047 kJ
kg 1− K 1−和 s=5.261kJ kg 1- K 1-
。另外方程(5)明确的永温度表示为
21
354 ])([ nnn −+= πθ (6)
其中,θ和π在方程(5)中已经定义过。系数n3 到n5 差表一。方程5和方程6包
括了从623.15 K( 16.5292 MPa) 到 863.15 K(100 MPa)这个范围。
表表表表1.定义2区和3区之间边界的B23方程,方程5和方程6的系数值
通过计算机程序查证,方程5和方程6必须满足下面的温度压力:
T = 0.623 150 000 ⋅ 103 K , p = 0.165 291 643 ⋅ 102 MPa.。
- 8 -
5555 1区区区区方程方程方程方程
这个章节包含了有关IAPWS-IF97在区域1的基本方程和后续方程的使用的
全部内容。有关这个区域的基本方程与区域3,4的基本方程在边界一致性上的问
题总结在第10部分。IAPWS-IF97 和 IFC-67之间的计算时间的比较在第11章给
出。主要性质的不确定性估计整理在第12章中。
5.1 基本方程基本方程基本方程基本方程
这个区域的基本方程是一个有关吉布斯自由能g的基本方程。这个方程被表
述为无量纲形式γ = g/(RT ),理解为
g(p,T)/RT=γ(π,τ)=∑=
34
1i
ni(7.1-π)
Ii(τ-1.222)
Ji, (7)
其中 π = p/p*, τ= T */T ,p* = 16.53 MPa , T * = 1386 K;R在方程1中给出。
方程7中的ni,Ii,Ji在表2中列出。
所有的热力学性质通过使用合适的无因次的吉布斯自由能和它的派生物的
组合利用方程7均可以求出。有关的热力学性能、γ和它的派生物之间的关系在
表3中被概括。
所有需要的吉布斯自由能的派生物在表4中被明确给出。
自从1956年在伦敦举行的第五届水蒸气性能的国际会议,饱和液体的内能和
熵在三相点已经设置等于0:
u′t = 0 ; s′t = 0 . (8)
为了满足温度和压力在三相点的条件
Tt = 273.16 K [8] pt = 611.657 Pa [9] , (9)
在方程7中n3,n4已被相应的调整。作为结果,方程7屈服于在三相点饱和液
体的比焓。
ht = 0.611 783 J kg−1 . (10) 表表表表2.2.2.2.区域1,无因次吉布斯自由能方程7的系数和指数值
- 9 -
表表表表3.3.3.3.使用方程7时无因次吉布斯自由能γ 的热力学性质和它的衍生物之间的关系
- 10 -
表表表表4.4.4.4.用于方程7的无因次吉布斯自由能γ 和它的衍生物
有效有效有效有效范围范围范围范围
方程7包括了IAPWS-IF97区域1规定的以下的温度压力范围,见图1:
273.15 K ≤ T ≤ 623.15 K ps (T) ≤ p ≤ 100 MPa .
除了稳定的单相液体性能以外,方程7也屈服于在稳定的过热液体区和临近
饱和液相线的合理值。 注意:对于温度在273.15 K 和 273.16 K之间的一定压力情况下处于亚稳定状态的压力值通过方程7和30的外推法可以计算得到。 计算机程序的查证计算机程序的查证计算机程序的查证计算机程序的查证
为了帮助用户在方程7的计算机程序的查证,表5包含了大多数有关性能的测试
值。
表表表表5.5.5.5.利用方程7为 apT和 的选定值所计算的热力学性质值 表中给出建议使用8个字节的真值验证所有 pT和 的三种组合的程序功能
- 11 -
5.25.25.25.2 导出导出导出导出方程方程方程方程
对于性质的计算通过函数p,h或者p,s不需任何的迭代,两个导出方程与基
本方程需要非常好的数值一致性。对于数值一致性的准确需要已经通过为了几个
典型的动力循环而做的综合测试计算获得。这些调查结果,就是为基本方程,方
程7和相应的后续方程间的容许的数值不一致性的赋值,分别在方程12,14中给
出。
5.2.15.2.15.2.15.2.1 导出导出导出导出方程方程方程方程T ( p,h )
对于区域1的后续方程T(p,h)有如下无量纲形式:
T(p,h)/T
∗=(,)=∑=
20
1i
niπIi(η+1)
Ji (11)
其中,θ = T/T *,= p/p*,η= h/h* ,T * = 1 K , p* = 1 MPa,, h* = 2500 kJ kg-1.
方程11中的系数ni,Ii,Ji在表6中列出。 表表表表6.6.6.6.方程11中一区导出方程 ),( hpT 的系数和指数值
有效范围有效范围有效范围有效范围
方程11和方程7的基本方程包括了同样的有效范围,除了亚稳定区(过热液体)。
与基本方程数值一致性与基本方程数值一致性与基本方程数值一致性与基本方程数值一致性
对于无数对随机的p,h覆盖了整个区域1,方程11和方程7的不同温度差、绝对最
大温差|∆T |max和均方根温差∆TRMS被计算确定。这些真实的不一致性的值和容许
的值|∆T |tol(见5.2开头部分)实际上是:
|∆T |tol = 25 mK ; ∆TRMS = 13.4 mK ; |∆T |max = 23.6 mK . (12)
- 12 -
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户核实方程11的计算机程序,表7包含了相应的测试值。
表表表表7.7.7.7.利用方程11为选定 ahp和 的值所计算的温度值 表中给出建议使用8个字节的真值验证所有 pT和 的三种组合的程序功能
5.2.25.2.25.2.25.2.2 导出导出导出导出方程方程方程方程T ( p, s )
导出方程T(p,s)在区域1有如下的计算形式:
T(p,s)/T *=θ(π,σ)=∑=
20
1i
niπIi(2+σ)
Ji (13)
其中,θ= T/T *,π= p/p*, andσ= s/s* with T * = 1 K, p* = 1 MPa, and s* = 1 kJ kg-1
K-1.
方程13中的ni,Ii,Ji见表8.
表表表表8. 方程13中一区导出方程 ),( spT 的系数和指数值
有效范围有效范围有效范围有效范围
方程13包含了与方程7的基本公式同样的有效范围,除了亚稳定区(过热液体区)。
- 13 -
与基本方程的数值一致性与基本方程的数值一致性与基本方程的数值一致性与基本方程的数值一致性
对于无数对随机的p,s覆盖了整个区域1,在公式13和公式7不同温度差、绝对最
大温差|∆T |max和均方根温差∆TRMS被计算确定。这些真实的差别和可接受的值
|∆T |tol相当于:
|∆T |tol = 25 mK ; ∆TRMS = 5.8 mK ; |∆T |max = 21.8 mK . (14)
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户在公式13的计算机程序核实,表9包含了相应的测试值。 表表表表9.9.9.9. 利用方程13为选定 asp和 的值所计算的温度值 表中给出建议使用8个字节的真值验证所有 sp和 的三种组合的程序功能
- 14 -
6666 2222区区区区方程方程方程方程
这部分包括了所有关于IAPWS-IF97在区域2的基本公式和导出公式的运用
的详细信息。有关这个区域的基本方程与区域3,4,5的基本方程在边界一致性
上的问题总结在第10部分。规定区域3和2的分界线的导出公式在第四部分给出。
11章包含了IAPWS-IF97 和 IFC-67计算时间的对比结果。主要性质的不确定性
估计在第12章。
6.1 基本方程基本方程基本方程基本方程
这个区域的基本方程是一个吉布斯自由能基本方程。这个方程是无量纲形
式,γ=g/( RT ),被分为两部分,一个理想气体部分γ
o,一个剩余部分γ
r,因此
g(p,T)/RT=γ(π,τ)= γo(π,τ)+ γ
r(π,τ), (15)
其中,π= p/p* ,τ= T */T ,R在公式1被给出。
理想气体的吉布斯自由能γ
o写作
γo=lnπ+∑
=
9
1i
nioτJio, (16) 其中,π = p/p* , τ = T */T , p* = 1 MPa , T * = 540 K.
系数n1o,n2
o根据内能值和理想状态下熵值通过公式8进行调整,表10包含了公式
16的系数n1o 和指数Jio 的说明。 表表表表10.10.10.10.方程16中计算2区无因次吉布斯自由能的理想气体部分γo 时的系数与指数值
如果方程16并入到了方程18中,替代了表中给出的n1o,n2
o 的值,那么以后的系数值必须使用: n1
o =-0.96937268393049× 10 1,n2o =0.10087275970006× 10 2
剩余部分吉布斯自由能γ
r 的形式如下:
γr=∑
=
43
1i
niπIi(τ-0.5)
Ji, (17)
其中,π = p/p* ,τ= T */T , p* = 1 MPa ,T * = 540 K.
公式17的系数ni 和指数I i 和Ji见表11。
- 15 -
表表表表11. 方程17中计算2区无因次吉布斯自由能的剩余气体部分γr 时的系数与指数值
所有的热力学性质都能够通过公式15计算得到,其方法是通过把公式16中的
理想气体吉布斯自由能γ
o和公式17中的剩余部分吉布斯自由能γ
r和它们的衍生
物进行合适的结合。相关热力学性质、γ
o和γ
r,以及它们的派生物之间的关系
在表12中有总结。所有需要用到的理想气体和剩余部分吉布斯自由能的派生物在
表13和表14中被分别明确给出。
表表表表12.使用方程15或18时无因次吉布斯自由能理想气体部分γo 和剩余部分γr 以及它们衍生物的热力学性质之间的关系
- 16 -
表表表表13.13.13.13.方程16中的无因次吉布斯自由能理想气体部分γo 以及它的衍生物
- 17 -
表表表表14.14.14.14.方程17中的无因次吉布斯自由能剩余气体部分γr 以及它的衍生物
有效范围有效范围有效范围有效范围
公式15适用于IAPWS-IF97的区域2规定的下列温度压力范围,见第1章:
273.15 K ≤ T ≤ 623.15 K 0 < p ≤ ps ( T )Eq.(30)
623.15 K < T ≤ 863.15 K 0 < p ≤ p( T )Eq.(5)
863.15 K < T ≤ 1 073.15 K 0 < p ≤ 100 MPa
除了稳定的单相蒸汽区性质外,公式15也用于压力在10Mpa以上的亚稳定区
的合理值。在压力p ≤ 10 MPa时公式15不适用;亚稳定蒸汽区的部分见6.2章。
注意:升华压力【10】(亚稳定状态)下温度在273.15K和273.16K之间的所有值利用公式15和公式30通过反推法计算。
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户对公式15进行计算机程序核实,表15包含了相关的性质测试
值。
表表表表15.为选定 apT和 值利用方程15计算的热力学性质值
表中给出建议使用8个字节的真值验证所有 pT和 的三种组合的程序功能
- 18 -
6.26.26.26.2 亚稳定区的补充方程亚稳定区的补充方程亚稳定区的补充方程亚稳定区的补充方程
作为基本公式,公式15,一部分亚稳定区、区域2的边界的补充公式定义为
吉布斯自由能形式,γ=g/( RT ),由理想气体部分γ
o和剩余气体部分γ
r组成,
g(p,T)/RT=γ(π,τ)= γo(π,τ)+ γ
r(π,τ), (18)
其中,π= p/p*,τ= T */T , R同方程1。
理想气体部分γ
o的公式与公式16相同,除了n1
o,n2
o两个系数值除外,见表
10。对于作为公式18的一部分,公式16的运用,为了满足性质h和s在公式18和公
式15之间沿着饱和蒸汽线更高的一致性需要对n1o,n2
o进行了小小的微调,接下
来会详细介绍。
剩余部分公式γ
r记作
γr=∑
=
13
1i
niπIi(τ-0.5)
Ji, (19)
其中,π = p/p* ,τ= T */T , p* = 1 MPa , T * = 540 K。公式19的系数n i 和
指数I i 、J i见表16。
注意:在亚稳定蒸汽区没有适合公式的实验数据。另外,公式18仅仅基于由第二章稳定的单相区推测而来的输入值。一些特殊的低密度气体方程【11】的外推法与IAPWS-95相比被认为更加合适于亚稳定蒸汽区的推断。 表表表表16.16.16.16.方程19中计算稳定蒸汽区无因次吉布斯自由能的剩余气体部分γr 时的系数与指数值
所有的热力学性质均可由公式18通过把公式16中的理想气体部分吉布斯自
由能γ
o和公式19中的剩余气体部分吉布斯自由能γ
r 以及他们的派生物进行适
当的结合计算得到。相关热力学性质、γ
o和γ
r ,以及相关派生物之间的关系在
总结表12中。
- 19 -
所有需要用到的理想气体和剩余气体部分的吉布斯自由能的派生物在表13
和表17中被分别给出。
表表表表11117.7.7.7.方程19中的无因次吉布斯自由能剩余气体部分γr 以及它的衍生物
有效范围有效范围有效范围有效范围
公式18在三相点压力下的从饱和蒸汽线到5%的均衡湿度线(由指数h′和h′′
决定)的亚稳定蒸汽区是适用的,见第9章,直到10MPa。
与基与基与基与基本公式的一致性本公式的一致性本公式的一致性本公式的一致性
公式18和公式15的一致性顺着饱和蒸汽线有具体特征,通过下列最大的不一
致性关于性能v,h,cp,s,g,w:
|∆v|max = 0.014 % |∆s|max = 0.082 J kg−1 K−1
|∆h|max = 0.043 kJ kg−1 |∆g|max = 0.023 kJ kg−1
|∆cp|max = 0.78 % |∆w|max = 0.051 % .
在亚稳定蒸汽区,沿着10MPa的等压线,公式18和公式15的转变不是很流畅,
然而那对现实计算并不重要。
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户对公式18进行计算机程序核实,表18包含了主要的性质测试
值。
表表表表18.为选定 apT和 值利用方程18计算的热力学性质值
- 20 -
表中给出建议使用 8 个字节的真值验证所有 pT和 的三种组合的程序功能
6.36.36.36.3 导出导出导出导出公式公式公式公式
由于例如p,h或p,s等函数的性质计算没有用到任何的迭代,于是这两个公式
与基本公式在数值上需要十分好的一致性。对于数值一致性的准确需要从几个典
型的动力循环的全面测试计算获得。调查的结果,就是在基本公式,公式15,和
相应的导出公式之间可容许的数值不一致性的赋值在表23和29中分别给出。
区域2被方程three T ( p, h )和three T ( p, s )公式覆盖。图2表示了区域2被导出
方程分解成的三个子区域。在区域2a和2b之间的分界线就是p=4MPa的等压线;
在子区域2b,2c之间的分界线等同于熵线s = 5.85 kJ kg−1 K−1.。
图图图图 2. 区域 2 被导出方程 three T ( p, h )和 three T ( p, s )分解成的三个子区域 2a,2b,2c
为了了解对于区域2b或2c的T( p,h )公式是否被用作给定p,h数据,在区域2b,
2c(接近s = 5.85 kJ kg 1- K 1-)之间的分界线的相关方程是要用到的;见图2。这
个分界线方程被称为B2bc方程。它是一个简单的压力和熵关系的方程,记作
π=n1+n2η+n3η2 (20)
- 21 -
其中,π= p/p* ,η= h/h* ,p* = 1 MPa , h* = 1 kJ kg−1.
方程20的系数在表19中被列出。基于简单的形式,公式20不能描述准确的等
熵线s = 5.85 kJ kg-1 K−1。熵值与p,h的关系在s = 5.81 kJ kg−1 K−1和s = 5.85 kJ kg−1
K−1之间是一致的。公式20明确焓的形式如下:
η=n4+[(π-n5)/n3]1/2 (21)
其中系数π 和η 与公式20中的相同,系数n3到n5见表19。公式20和21给出了子区
域2b,2c之间的分界线,从T = 554.485 K 、ps = 6.546 70 MPa的饱和状态到T =
1019.32 K、p = 100 MPa。
对于导出公式公式T( p,s )而言,子区域2b,2c之间的分界线是基于s = 5.85 kJ
kg 1- K 1- ,沿着分界线自动被定义为给定的p,s的值。
表表表表19.19.19.19.用来定义服从 ),( hpT 计算的次区域2b和2c之间边界的方程B2bc,20和21的性质值
对于计算机程序核实,公式20和21必须满足下列p,h点:p = 0.100 000 000
× 103 MPa , h = 0.351 600 432 3 × 104 kJ kg−1.
6.3.1 子区域子区域子区域子区域2a,,,,2b,,,,2c的的的的导出导出导出导出方程方程方程方程T( p,h )
子区域2a的导出公式T( p,h )的无量纲形式为:
T2a(p,h)/ T *=θ2a(π,η)=∑=
34
1i
niπIi(η-2.1)
Ji, (22)
其中,θ= T/T * , π= p/p* , η= h/h* ,T * = 1 K , p* = 1 MPa, , h* = 2000 kJ kg−1.
公式22的系数n i 和指数I i 和J i见表20。
- 22 -
表表表表20.方程22在在子区域2a的导出方程T( p,h )的系数和指数值
子区域2b的导出方程T( p,h )的无量纲形式为:
T2b(p,h)/ T *=θ2b(π,η)=∑=
38
1i
ni(π-2)Ii(η-2.6)
Ji, (23)
其中,θ= T/T *,π= p/p* , η= h/h* , T * = 1 K, p* = 1 MPa, , h* = 2000 kJ kg−1.
公式23的系数n i 和指数I i 和J i见表21。
表表表表21.方程23在在子区域2b的导出方程T( p,h )的系数和指数值
- 23 -
子区域2c的导出方程T( p,h )的无量纲形式如下:
T2c(p,h)/ T *=θ2c(π,η)= ∑=
23
1i
ni(π+25)Ii(η-1.8)
Ji, (24)
其中,θ= T/T *,π = p/p*,η= h/h* , T * = 1 K, p* = 1 MPa, h* = 2000 kJ kg−1.
公式24的系数n i 和指数I i 和J i见表22。
表表表表22.方程24在在子区域2c的导出方程T( p,h )的系数和指数值
有效范围有效范围有效范围有效范围
公式22,23,24仅仅适用于各自的区域2a,2b,2c,不包括亚稳定蒸汽区。在
这些子区域间的分界线在6.3章的开头定义;与温度为273.15 K下的升华压力相
比,公式22的适用的最低压力到达了611.153 Pa。
与基本公式的数值一致性与基本公式的数值一致性与基本公式的数值一致性与基本公式的数值一致性
对于了区域2a,2b,2c内的无数对p,h值,不同的温差利用公式22到24计算,还
有公式15。相应的最大和均方根温差,还有服从公式15的数值一致性下所允许的
不同值均见表23.
表表表表23.从方程22到24,方程15的计算温度的最大温差max
T∆ 和均方根温差 RMST∆ 与允许温差tol
T∆ 的比较
- 24 -
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户对公式22到24进行计算机程序核实,表24包含了相应的测试
值。
表表表表24.24.24.24.为选定p和h值而从方程22到24计算得到的温度值
表中给出建议为每个方程使用8个字节的真值验证所有 hp和 的三种组合的程序功能 6.3.26.3.26.3.26.3.2 子区域子区域子区域子区域2a,2b,2c2a,2b,2c2a,2b,2c2a,2b,2c的的的的导出导出导出导出方程方程方程方程T( p, s )
子区域2a的导出方程T( p,s )的无量纲形式如下:
T2a(p,s)/ T *=θ2a(π,σ)=∑=
46
1i
niπIi(σ-2)
Ji, (25)
其中,θ= T/T *,π= p/p*,σ= s/s*, T * = 1 K, p* = 1 MPa, s* = 2 kJ kg−1 K−1.
公式25的系数n i 和指数I i 和J i见表25。
- 25 -
表表表表25.方程25在在子区域2a的导出方程T( p,s )的系数和指数值
子区域2b的导出方程T( p,s )的无量纲形式如下:
T2b(p,s)/ T *=θ2b(π, σ)=∑=
44
1i
niπIi(10-σ)
Ji, (26)
其中,θ= T/T *,π= p/p*,σ= s/s* , T * = 1 K, p* = 1 MPa, s* = 0.7853 kJ kg−1K−1.
公式26的系数n i 和指数I i 和J i见表26。
- 26 -
表表表表26.方程26在在子区域2b的导出方程T( p,s )的系数和指数值
子区域2c的后续方程T( p,s )的无量纲形式如下:
T2c(p,s)/ T *=θ2c(π, σ)= ∑=
30
1i
niπIi(2-σ)
Ji, (27)
其中,θ= T/T *,π= p/p*,σ= s/s* ,T * = 1 K , p* = 1 MPa, s* = 2.9251 kJ kg−1K−1.
公式27的系数n i 和指数I i 和J i见表27。
表表表表27.方程27在在子区域2c的导出方程T( p,s )的系数和指数值
- 27 -
有效范围有效范围有效范围有效范围
公式25,26,27仅仅适用于各自的区域2a,2b,2c,不包括亚稳定蒸汽区。子
区域间的分界线在6.3章开头被介绍;与温度为273.15 K下的升华压力相比,公
式25适用的最低压力到达了611.153 Pa。
与基本公式的数值一致性与基本公式的数值一致性与基本公式的数值一致性与基本公式的数值一致性
对于了区域2a,2b,2c内的无数对p,s值,不同的温差利用公式25到27计算,还
有公式15。相应的最大和均方根温差,还有服从公式15的数值一致性下所允许的
不同值均见表28。
表表表表28.从方程25到27,方程15的计算温度的最大温差max
T∆ 和均方根温差 RMST∆ 与允许温差tol
T∆ 的比较
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户对公式25到27进行计算机程序核实,表29包含了相应的测试
值。
表表表表29.29.29.29.为选定p和s值而从方程25到27计算得到的温度值
表中给出建议为每个方程使用8个字节的真值验证所有 hp和 的三种组合的程序功能
- 28 -
7777 3333区区区区基本公式基本公式基本公式基本公式
这部分包括了所有关于IAPWS-IF97在区域3的基本公式的运用的详细信息。
关于这区域的基本公式与区域1,2,4的基本公式沿着相应区域分界线的一致性
的信息在第十章中总结。定义区域2,3间分界线的导出方程在第四章给出。第11
章包括了IAPWS-IF97和IFC-67.的计算时间的对比结果。主要性质的不确定估计
在12章中给出。
这个区域的基本公式是亥姆霍兹自由能的 f 的根本公式。被定义成了无量
纲形式Φ= f/(RT ):
f(ρ,T)/RT=Φ(δ,τ)=n1lnδ+∑=
40
2i
niδIiτ
Ji, (28)
其中,δ=ρ/ρ*,τ= T */T, ρ*=ρc, T * = Tc,R, Tc, ρc在公式1,2,4被给出。
公式28的系数n i 和指数I i 和J i见表30。
除了表示单相区的热力学性质,公式28满足平衡相条件(相当于汽液共存状
态下的吉布斯自由能,见表31)沿着饱和线在温度T大于等于623.15k到Tc之间的
一段。此外,公式28使用了临界参数,公式2到4,另外将服从于临界密度的前两
个压力派生物的值置零了。
表表表表30. 3区亥姆霍兹自由能方程28的系数和指数值
所有热力学性质通过使用自由能及其相应的派生物进行适当的组合后利用
公式28均可以计算得到。有关的热力学性质、Φ和它的衍生物之间的关系在表31
列出。所有需要用到的亥姆霍兹自由能派生物在表32中被明确给出。
- 29 -
表表表表31.使用方程28时无因次亥姆霍兹自由能φ 以及它的衍生物的热力学性质之间的关系
表表表表32.32.32.32.方程28中的无因次亥姆霍兹自由能方程以及它的衍生物
有效范围有效范围有效范围有效范围
公式28适用于IAPWS-IF97区域3,定义在以下的温度压力范围内,见图1:
623.15 K ≤ T ≤ T( p )Eq.(6) p( T )Eq.(5) ≤ p ≤ 100 MPa .
除了以上定义的稳定的单相区性质之外,公式28也适用于趋于亚稳定区(过热液
体和过冷蒸汽)接近于饱和液体和饱和蒸汽线的合理值。
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
- 30 -
为了帮助用户对公式28进行计算机核实,表33包含了主要性质的测试值。
表表表表33.33.33.33.为选定T和 ρ 值而从方程28计算得到的热力学性质值 表中给出建议使用8个字节的真值验证所有 ρ和T 的三种组合的程序功能
- 31 -
8 4区区区区方程方程方程方程
这部分包括了所有有关于IAPWS-IF97(饱和线)区域4的基本公式的运用的详细
信息。有关于这部分的基本公式,饱和压力公式,区域1,3的基本公式在边界区
一致性的信息在第10章总结。IAPWS-IF97和IFC-67的计算时间结果对比在第11
章被给出。饱和压力不确定估计在12章给出。
这个方程说明了饱和线方程是一个隐含的二次方程,能够被直接解释为关于饱和
压力ps和饱和温度Ts 的关系式。这个方程记作:
β2ψ
2+n1β
2ψ+n2β
2+n3βψ
2+n4βψ+n5β+n6ψ
2+n7ψ+n8=0, (29)
其中,β=(ps/p*)1/4,ψ= Τs/T*+n9/[ Τs/T*)-n10],p* = 1 MPa ,T * = 1 K
系数n 1到 n 10见表34。
8.1 饱和压力方程饱和压力方程饱和压力方程饱和压力方程
关于公式29中饱和压力的计算方法如下:
Ps/p*=[2C/-B+(B2-4AC)
0.5]4 (30)
其中p* = 1 MPa,
A=ψ2+ n1ψ+ n2,
B=ψ2 n3+ψn4+ n5,
C= n6ψ2+ n7ψ+n8
公式30的系数n i见表34。
表表表表34.34.34.34.无因次饱和区方程29到31的系数值
公式29到31根据公式8采用了p-T在三相点处的值,在标准沸点,在临界点的
取值则是根据公式2,3。
有效范围有效范围有效范围有效范围
公式30沿着整个蒸汽液体饱和线从三相点温度Tt 到临界温度Tc (被推测为
273.15 K)均是有效的,,以至于它包括了温度范围273.15 K ≤ T ≤ 647.096 K .
- 32 -
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户对公式30的计算机程序进行核实,表35给出了选择温度的测试
值。
表表表表35.35.35.35.为选定T 的值而利用方程30计算得到的饱和压力值 表中给出建议使用8个字节的真值验证所有T 的三个值的程序功能
8.28.28.28.2 饱和温度饱和温度饱和温度饱和温度方程方程方程方程
公式29中饱和温度的计算方法为:
Τs/T*={10+D-[(n10+D)2-4(n9+n10D)]0.5}/2 (31)
其中T * = 1 K,并且
D=2G/[-F-F(F2-4EG)
0.5]
其中,
E=β2+n3β+ n6
F= n1β2+n4β+ n7
G= n2β2+ n5β+ n8
β见公式29a,公式31的系数n i见表34。
有效范围有效范围有效范围有效范围
公式31和公式30的适用范围相同,也就是说包含了如下压力范围内的饱和液
体蒸汽线的部分:
611.213 Pa ≤ p ≤ 22.064 MPa
与基本方程的一致性与基本方程的一致性与基本方程的一致性与基本方程的一致性
由于饱和压力方程(公式30)和饱和温度方程(公式31)均是由隐含方程(公
式29)派生得来,并且都是用来描述饱和线,所以两方程具有相互一致性。
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户对公式31的计算机程序进行核实,表36给出了三个选择压力的
- 33 -
测试值。
表表表表35.35.35.35.为选定 p 的值而利用方程31计算得到的饱和温度值 表中给出建议使用8个字节的真值验证所有 p 的三个值的程序功能
- 34 -
9 5区区区区基本基本基本基本方程方程方程方程
这部分包括了所有关于IAPWS-IF97在区域5的基本公式的运用的详细信息。
关于区域 2,5 的边界一致性的信息在第十章中总结。第11章包括了IAPWS-IF97
和IFC-67.的计算时间的对比结果。主要性质的不确定估计在12章中给出。
这个高温区域的基本公式是吉布斯自由能的 g 的根本公式。被定义成了无量纲
形式γ= g/( RT ),并且分为两部分,理想气体部分γ
o ,剩余部分γ
r:
g(p,T)/RT=γ(π,τ)= γo(π,τ)+ γ
r(π,τ), (32)
其中,π= p/p* ,τ= T */T , R在公式1给出。
理想气体γ
o 部分的吉布斯自由能表示方式为:
γo=lnπ+∑
=
6
1i
n
0
iτJ 0
i, (33)
其中,π = p/p* , τ= T */T.p* = 1 MPa .T* = 1000 K。系数n 0
1 和n 0
2 根据公式8在理
想气体部分的具体内能值和焓值调整。公式33的系数n 0
i 和指数j 0
i见表37。
表表表表37. 方程33中计算5区无因次吉布斯自由能的理想气体部分γ0 时的系数与指数值
剩余部分γ
r 的吉布斯自由能形式为:
γr=∑
=
5
1i
niπIiτ
Ji, (34)
其中,π = p/p*,τ = T */T , p* = 1 MPa , T * = 1000 K。
公式34的系数n i 和指数I i , J i见表38。
关于吉布斯自由能和它的派生物的所有热力学性质都可以通过将公式33中
理想气体部分γ
o 的值和剩余部分γ
r 的值进行适当组合后代入公式32中的方法
计算出来。表39给出了有关热力学性质,γ
o ,γ
r 和它们的派生物之间的关系。
所有需要用到的关于吉布斯自由能的理想气体部分和剩余部分的导出物的计算
方法都分别明确的在表40和41中给出。
表表表表38. 方程34中计算5区无因次吉布斯自由能的剩余气体部分γr 时的系数与指数值
- 35 -
表表表表39.使用方程32时无因次吉布斯自由能理想气体部分γo 和剩余部分γr 以及它们衍生物的热力学性质之间的关系
表表表表40.40.40.40.方程33中的无因次吉布斯自由能理想气体部分γo 以及它的衍生物
- 36 -
表表表表44441111....方程34中的无因次吉布斯自由能剩余气体部分γr 以及它的衍生物
有效范围有效范围有效范围有效范围
公式32涵盖了IAPWS-IF97区域5的温度压力范围:
1073.15 K ≤ T ≤ 2273.15 K 0 < p ≤ 10 MPa
在这个范围中,公式32仅仅对纯净的未离解的水有效。任何离解水都应该单
独考虑。
计算机程序核实计算机程序核实计算机程序核实计算机程序核实
为了帮助用户对公式32的计算机程序进行核实,表42给出了主要相关性能测
试值。
表表表表42.42.42.42.为选定 pT和 的值而利用方程32计算得到的热力学性质值 表中给出建议使用8个字节的真值验证所有 ρ和T 的三种组合的程序功能
- 37 -
10101010 区域区域区域区域边界边界边界边界的一致性的一致性的一致性的一致性
对于所有通过区域边界线的水和水蒸汽的热力学性质计算,IAPWS-IF97的
公式沿着相应的区域分界线一定是一致的。对于在这方面所考虑的性质,本节介
绍了根据所谓的布拉格值得到的一致性与容许的不一致性的对比。
10.1 单相区域边界一致性单相区域边界一致性单相区域边界一致性单相区域边界一致性
对于各个单相区之间的边界一致性调查是通过以下基本方程和区域分界线
实现的,见图1。
公式7和28沿着623.15 K温度等温线从压力为16.53 MPa到100 MPa,与区域
1,3间的边界一致。
公式15和28是关于区域2,3的分界线,被定义为B23公式,公式5,温度在623.15
K 和 863.15 K.之间。
公式15和32是关于1073.15 K等温线在压力p ≤ 10 MPa相应的区域2,5间的边
界线。
这三个区域边界线的调查结果在表43中列出。
表表表表43.联合区域内单相区的基本方程间的不一致性
RMSχ∆ (见术语)的值是由沿着相应边界均匀分布的1000个点计算得到的。
ϖ 的允许不一致值不包含在布拉格值内。
10.210.210.210.2 饱和线的一致性饱和线的一致性饱和线的一致性饱和线的一致性
沿着蒸汽-液体饱和线的一致性调查表现为性质p s ,T s 和 g。在基本公式
和饱和线范围内的相关计算,见图1;对于 sp∆ , sT∆ 和 g∆ 的不一致性计算法也
被同时给出。
公式7,15,30在饱和线的温度从Tt = 273.15 K到623.15 K.。
sp∆ = sp Eq.(7), Eq.(15) − sp Eq.(30) (35a)
sT∆ = Ts, Eq.(7), Eq.(15) − Ts, Eq.(31) (35b)
- 38 -
g∆ = g Eq.(7) − g Eq.(15) (35c)
Ps和Ts通过麦克斯韦标准给出的T,p值代入方程7和15计算。g值则是通过公
式30给定的T值和相应的Ps值计算得到。
公式28和30在饱和线的温度从623.15 K到Tc = 647.096 K.。
sp∆ = sp Eq.(28) − sp , Eq.(30) (36a)
sT∆ = sT Eq.(28) − sT Eq.(31) (36b)
g∆ = g.Eq.(28), Eq.(30) − g.Eq.(28), Eq.(30) (36c)
公式7,15,28在饱和线温度为623.15 K.。这是饱和线上唯一的点能满足区
域1和3基本方程有效的范围。
sp∆ = sp Eq.(7), Eq.(15) − sp ,Eq.(28) (37a)
sT∆ = sT Eq.(7), Eq.(15) − sT Eq.(28) (37b)
g∆ = g Eq.(7), Eq.(15) − g Eq.(28) (37c)
这三个性质( sp , sT ,g)都是参照麦克斯韦标准利用相应方程计算求得的。
沿着饱和线一致性的调查结果在表44中总结。除了对【13】布拉格值所允许
的相应不一致性外,实际的不一致性是是用他们的最大和均方根值表征的,
x∆ max 和 RMSx∆ ,饱和线的这两部分是为了 spx = , sT 和 g 。可以看出,相应单相
区基本方程和饱和压力方程的矛盾是微乎其微的。该声明也同样适用于基本方程
7,15,28,在另一个之间而且并不仅仅和饱和压力方程30有关,见表44最后一列。
表表表表44.饱和线上有效基础方程间的不一致性
RMSχ∆ (见术语)的值是由沿着饱和线的两个区的均匀分布的3000个点计算得到的
- 39 -
11 IAPWS-IF97和和和和IFC-67计算时间计算时间计算时间计算时间的的的的比较比较比较比较
对 IAPWS-IF97 一个非常重要的要求就是他的计算速度比 IFC-67 更快。IAP
WS-IF97 与 IFC-67 相比,计算速度调查是基于 IAPWS 一个特殊的程序。
计算时间被测量通过IAPWS的一个标准程序;这个程序在大量的状态点计
算了相应的函数,成比例的分布在每一个区间。测试结构要求PC Intel 486 DX 33
处理器和MS Fortran 5.1编译器。IAPWS-IF97有关的函数被编程短时间的计算。
IFC-67的计算被执行要有ASME程序包,加速不包括所有的不需要的基准测试的
部分。
被测量的计算时间被用来计算计算机时间,速比IFC-67 / IAPWS- IF97,,下
面称作CTR值。这些CTR值以不同的方式决定了区域1,2,4和区域3,5,是典
型的判别哪个快的工程量。亚稳定状态不包含其中。
11.1 区域区域区域区域1,,,,2,,,,4的计算时间调查的计算时间调查的计算时间调查的计算时间调查
的计算时间调查被执行为函数,见表45。每一个函数都与使用频率值有关。
函数的选择与使用频率值都是基于在动力公司和相关企业的调查。
对于区域1,2,4IAPWS-IF97和 IFC-67计算时间对比,这三个区的CTR值
是决定性标准。使用的频率一定要被考虑,整个的CTR值会被计算如下:像之前
描述的,对每一个函数计算时间会确定。这样,这些具有代表意义,通过相应的
使用频率和三个区的16个函数。区域1,2,4的CTR值合计为CTRregions 1, 2, 4 = 5.1 .
(38)
这意味着对区域1,2,4,性能计算要比至少快5倍。
表表表表45.45.45.45. 区域1,2,4的IAPWS-IF97和IFC-67的计算时间调查结果
基于约定的配置MS Fortran5.1编译器的英特尔486 DX33计算机 相关区域的定义见图.1 该计算结果调查值基于由使用频率加权的单一功能的计算时间
- 40 -
表45也包含了合计CTR值,对区域1,2,4每一块。除此之外,对每一个单个
的函数CTR值也被给出。当运用IAPWS-IF97函数依靠p.h和p,s对区域1,2;对区
域4要p,从后续的单个方程计算,或将基本方程与后续方程联系起来。
如果一个更快的处理器被用于基准测试,相似的CTR值也可获得。一个相应
的语句比专用的对编译器而言也是有效的。
11.2 区域区域区域区域3和和和和5的计算时间调查的计算时间调查的计算时间调查的计算时间调查
对于区域3和5,CTR值只与单个函数有关,通过IFC-67与IAPWS-IF97计算
时间的商给出,不需要有关的使用频率值。
IAPWS-IF97的区域3,相当于IFC-67的区域3和4。IAPWS-IF97的区域5,基
于这些函数有关,v ( p, T ), h ( p, T ), 和cp ( p, T ), CTR值由1073.15 K,确定。
表46列出了区域3,5有关的CTR值。大概指出,IAPWS-IF97比IFC-67在区
域3要快至少3倍,对区域5的1073.15 K等温线处要快至少9倍。
表表表表46.46.46.46. 区域3和5的IAPWS-IF97和IFC-67的计算时间调查结果
基于约定的配置MS Fortran5.1编译器的英特尔486 DX33计算机 相关区域的定义见图.1 为 IFC-67 确定的 1073.15K 等温线是有效的
- 41 -
12121212 不确定性估计不确定性估计不确定性估计不确定性估计
比容,等压热能,声速,饱和压力的不确定因素估计是通过IAPWS-IF97相
应的方程计算的。这些估计源自于IAPWS-95,适合于IAPWS-IF97方程的输入值,
除此之外还要考虑IAPWS-IF97,IAPWS-95的差异。因为没有合理的依据,估计
比焓的不确定性,对于性能没有不确定性。然而,等压焓的差异要比等压热能不
确定性要小得多。
对单相区,容差在图3到5中被指出,给出了不同区域的不确定因素的估计。
公差意味着IAPWS判别的可能值的范围,和对它没有统计意义。至于声速和等
压热容量的不确定因素,见图4和5。这说明超过1273 K温度是基于事实,就是这
个范围超过了IAPWS-95的有效性和来自IAPWS-95外推法的输入值。IAPWS-95
不同的测试看出这些外推法趋于合理的数值。
对于饱和压力,不确定性见图6。
图图图图.3..3..3..3.特定值的不确定性, υ∆ /υ ,IAPWS-IF97 相应方程的估计。在更大的关键区域(三角形),不确定性是以压力不确定性百分比的形式给出的。 p∆ / p 。这一区域是被两条等容线围成:0.0019 13 −kgm ,30MPa;0.0069 13 −kgm ,30MPa。不确定性区域的分离线的位置是近似的。
图图图图.4..4..4..4.具体的等压热容不确定性, pc∆ / pc ,IAPWS-IF97 相应方程的估计。临界点周围的三角形定义见图.3.。不确定性区域的分离线的位置是近似的。
- 42 -
图图图图.5..5..5..5.音速的不确定性, ww /∆ ,IAPWS-IF97 相应方程的估计。临界点周围的三角形定义见图.3.。不确定性区域的分离线的位置是近似的。
图图图图.6..6..6..6.饱和压力的不确定性, ss pp /∆ ,饱和压力方程(30)的估计。
- 43 -
13131313 参考文献参考文献参考文献参考文献
- 44 -
14141414 计算程序计算程序计算程序计算程序
shuiwx.for
c-------水和水蒸气的物理性质,根据IAPWS-IF97编写
c***************************************************
function wxpt(p,t,wx)
c***************************************************
c-------计算一定压强和温度下的水的物理性质
c-------输入压强单位是兆帕,温度单位为开
c-------输出参数依次为:压力(兆帕),温度(开),比容(立方米每千克),
c 比焓(千焦每千克),比熵(千焦每千克每开),比内能(千焦每千克),
c 定压比热(千焦每千克每开),定容比热(千焦每千克每开)和声速(米每秒)
c
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
DOUBLE PRECISION wx(9)
if(p>100.0d0.or.t>2273.15d0.or.(p>10.0d0.and.t>1073.150d0)) then
write(*,*) 'wxpt中,压强或温度越界'
else
if (t>1073.15d0) then
wxpt=wxpt5(p,t,wx)
else if (t<=623.15d0) then
ps=bhpt(1,t)
if(p>ps) then
wxpt=wxpt1(p,t,wx)
else
wxpt=wxpt2(p,t,wx)
end if
else if (t>=863.15d0) then
wxpt=wxpt2(p,t,wx)
else
p23=0.34805185628969d3-1.1671859879975d0*t
- 45 -
1 +0.0010192970039326d0*t*t !B23方程
if (p>p23) then
v=vpt3n(p,t)
wxpt=wxvt3(v,t,wx)
else
wxpt=wxpt2(p,t,wx)
end if
end if
end if
end
c********************************************************************
*****
function wxpt1(p,t,wx)
c 区域1:常规水
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension e(34), n(34), m(34),wx(9)
INCLUDE 'XISHU1'
c=0.461526d0
p0=16.53d0
t0=1386.0d0
pi=p/p0
tao=t0/t
fpi=7.1d0-pi
ftao=tao-1.222d0
r=0.0d0
rpi=0.0d0
rtao=0.0d0
rpi2=0.0d0
rtao2=0.0d0
rpitao=0.0d0
do i=1,34
dizeng=e(i)*fpi**n(i)*ftao**m(i)
- 46 -
r=r+dizeng
rpi=rpi-dizeng*n(i)/fpi
rtao=rtao+dizeng*m(i)/ftao
rpi2=rpi2+dizeng*n(i)*(n(i)-1)/fpi**2
rtao2=rtao2+dizeng*m(i)*(m(i)-1)/ftao**2
rpitao=rpitao-dizeng*m(i)*n(i)/ftao/fpi
end do
g=r*c*t !吉布斯自由能
v=rpi*pi*(c*1000.0d0)*t/(p*1.0d6) !比容
h=rtao*tao*c*t !比焓
s=(h-g)/t !比熵
cp=-tao*tao*rtao2*c !定压比热
u=c*t*(tao*rtao-pi*rpi) !内能
cv=cp+c*(rpi-tao*rpitao)**2/rpi2 !定容比热
w=dsqrt(1.0d3*c*t*rpi**2/((rpi-tao*rpitao)**2/
& (tao**2*rtao2)-rpi2)) !声速
wx(1)=p
wx(2)=t
wx(3)=v
wx(4)=h
wx(5)=s
wx(6)=u
wx(7)=cp
wx(8)=cv
wx(9)=w
wxpt1=1.0d0
end
c*****************************************************************
function wxpt2(p,t,wx)
c 区域2:过热蒸汽
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension e0(9), e1(43),n1(43), m0(9),m1(43),wx(9)
- 47 -
INCLUDE 'XISHU2'
c=461.526D-3
p0=1.0d0
t0=540.0d0
pi=p/p0
tao=t0/t
ft=tao-0.5d0
r0=dlog(pi)
r0pi=1.0d0/pi
r0tao=0.0d0
r0pi2=-1.0/pi**2
r0tao2=0.0d0
r0pitao=0.0d0
do i=1,9
dizeng=e0(i)*tao**m0(i)
r0=r0+dizeng
r0tao=r0tao+dizeng*m0(i)/tao
r0tao2=r0tao2+dizeng*m0(i)*(m0(i)-1)/tao**2
end do
r1=0.0d0
r1pi=0.0d0
r1tao=0.0d0
r1pi2=0.0d0
r1tao2=0.0d0
r1pitao=0.0d0
do i=1,43
dizeng=e1(i)*pi**n1(i)*ft**m1(i)
r1=r1+dizeng
r1pi=r1pi+dizeng*n1(i)/pi
r1tao=r1tao+dizeng*m1(i)/ft
r1pi2=r1pi2+dizeng*n1(i)*(n1(i)-1)/pi**2
r1tao2=r1tao2+dizeng*m1(i)*(m1(i)-1)/ft**2
- 48 -
r1pitao=r1pitao+dizeng*n1(i)*m1(i)/pi/ft
end do
r=r0+r1
rpi=r0pi+r1pi
rtao=r0tao+r1tao
rpi2=r0pi2+r1pi2
rtao2=r0tao2+r1tao2
rpitao=r0pitao+r1pitao
g=r*c*t !吉布斯自由能
v=rpi*pi*(c*1.0d3)*t/(p*1.0d6) !比容
h=rtao*tao*c*t !比焓
s=(h-g)/t !比熵
cp=-tao*tao*rtao2*c !定压比热
u=c*t*(tao*rtao-pi*rpi) !内能
a1=1.0d0+pi*r1pi-tao*pi*r1pitao
a2=1.0d0-pi**2*r1pi2
cv=cp-c*a1**2/a2 !定容比热
w=sqrt(1000*c*t*(1.0d0+pi*r1pi)**2/(a2+a1**2/tao**2/rtao2)) !声速
wx(1)=p
wx(2)=t
wx(3)=v
wx(4)=h
wx(5)=s
wx(6)=u
wx(7)=cp
wx(8)=cv
wx(9)=w
wxpt2=2.0d0
end
c********************************************************************
******
function wxvt3(v,t,wx)
- 49 -
c 区域3:临界区
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension e(40), n(40), m(40),WX(10)
INCLUDE 'XISHU3'
c=0.461526d0
t0=647.096d0
rou0=322.0d0
v0=1.0d0/rou0
derta=v0/v
tao=t0/t
fai=e(1)*dlog(derta)
faid=e(1)/derta
fait=0.0d0
faid2=-e(1)/derta**2
fait2=0.0d0
faidt=0.0d0
fpdv=e(1)
do i=2,40
dizeng=e(i)*derta**n(i)*tao**m(i)
fai=fai+dizeng
faid=faid+dizeng*n(i)/derta
fait=fait+dizeng*m(i)/tao
faid2=faid2+dizeng*n(i)*(n(i)-1)/derta**2
fait2=fait2+dizeng*m(i)*(m(i)-1)/tao**2
faidt=faidt+dizeng*n(i)*m(i)/derta/tao
fpdv=fpdv+dizeng*n(i)*(n(i)+1)
end do
p=derta*faid*c*t*1.0d-3/v !压强
u=tao*fait*c*t !内能
s=(tao*fait-fai)*c !比熵
h=(tao*fait+derta*faid)*c*t !比焓
cv=-tao**2*fait2*c !定容比热
- 50 -
a=2.0d0*derta*faid+derta**2*faid2
b=(derta*faid-derta*tao*faidt)**2
cp=cv+c*b/a !定压比热
w=dsqrt((a+c*b/cv)*c*t*1.0d3) !声速
pdv=-fpdv*c*t*1.0d-3/v**2 !压强对比容的导数
wx(1)=p
wx(2)=t
wx(3)=v
wx(4)=h
wx(5)=s
wx(6)=u
wx(7)=cp
wx(8)=cv
wx(9)=w
wx(10)=pdv
wxvt3=3.0d0
end
c********************************************************
function wxpt5(p,t,wx)
c 区域5:高温低压区
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
DOUBLE PRECISION wx(9)
dimension e(11), n(11), m(11)
data e / -.13179983674201D+02, 6.8540841634434d0,
& -.24805148934466D-01, 0.36901534980333d0,
& -.31161318213925D+01, -.32961626538917d0,
& -.12563183589592D-03, .21774678714571D-02,
& -.459428208999D-02, -.39724828359569D-5,
& .12919228289784D-06/
data n /0,0,0,0,0,0,1,1,1,2,3/
data m /0,1,-3,-2,-1,2,0,1,3,9,3/
c=461.526D-3
- 51 -
p0=1.0d0
t0=1000.0d0
fpi=p/p0
ftao=t0/t
r=dlog(fpi)
rpi=1.0d0/fpi
rtao=0.0d0
rpi2=-1.0d0/fpi**2
rtao2=0.0d0
rpitao=0.0d0
do i=1,11
dizeng=e(i)*fpi**n(i)*ftao**m(i)
r=r+dizeng
rpi=rpi+dizeng*n(i)/fpi
rtao=rtao+dizeng*m(i)/ftao
rpi2=rpi2+dizeng*n(i)*(n(i)-1)/fpi**2
rtao2=rtao2+dizeng*m(i)*(m(i)-1)/ftao**2
rpitao=rpitao+dizeng*m(i)*n(i)/ftao/fpi
end do
g=r*c*t !吉布斯自由能
v=rpi*fpi*(c*1.0d3)*t/(p*1.0d6) !比容
h=rtao*ftao*c*t !比焓
s=(h-g)/t !比熵
cp=-ftao*ftao*rtao2*c !定压比热
u=c*t*(ftao*rtao-fpi*rpi) !内能
cv=cp+c*(rpi-ftao*rpitao)**2/rpi2 !定容比热
w=dsqrt(1000.0d0*c*t*rpi**2/((rpi-ftao*rpitao)**2/
& (ftao**2*rtao2)-rpi2)) !声速
wx(1)=p
wx(2)=t
wx(3)=v
wx(4)=h
- 52 -
wx(5)=s
wx(6)=u
wx(7)=cp
wx(8)=cv
wx(9)=w
wxpt5=5.0d0
end
c***************************************************************
function bhpt(i,x)
c------计算饱和温度或饱和压力
c------i=1时,根据温度(开)计算对应的饱和压力(兆帕)
c------i=2时,根据压力(兆帕)计算对应的饱和温度(开)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
parameter(e1=0.11670521452767d4,
& e2=-0.72421316703206d6,
& e3=-0.17073846940092d2,
& e4=0.12020824702470d5,
& e5=-0.32325550322333d7,
& e6=0.14915108613530d2,
& e7=-0.48232657361591d4,
& e8=0.40511340542057d6,
& e9=-0.23855557567849d0,
& e10=0.65017534844798d3)
if(i.eq.1) then
t=x
tao=t+e9/(t-e10)
tao2=tao**2
a=tao2+e1*tao+e2
b=e3*tao2+e4*tao+e5
c=e6*tao2+e7*tao+e8
bhpt=(2.0d0*c/(dsqrt(b**2-4.0d0*a*c)-b))**4
else
- 53 -
p=x
pi=p**0.25d0
pi2=pi**2
e=pi2+e3*pi+e6
f=e1*pi2+e4*pi+e7
g=e2*pi2+e5*pi+e8
d=2*g/(-1.0d0*f-(f**2-4.0d0*e*g)**0.5d0)
bhpt=0.5d0*(e10+d-((e10+d)**2-4.0d0*(e9+e10*d))**0.5d0)
end if
end
c************************************************************
function vpt3n(p,t)
c 根据压强(兆帕)和温度(开)计算比容(立方米每千克)
c 临界压力以上用二分法解方程p=pvt3n(v,t)
c 临界压力以下用牛顿迭代法解方程p=pvt3n(v,t)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension wx(10)
data wx /10*0.0/
if (p<22.064d0) then
tbh=bhpt(2,p) !饱和温度以判别状态
if (t<tbh) then
call wxpt1(p,623.15d0,wx)
v0=wx(3) !液态时初值
else
t23=0.57254459862746d3+
1 dsqrt((p-13.91883977887d0)/0.10192970039326d-2)
call wxpt2(p,t23,wx)
v0=wx(3) !气态时初值
end if
do
call wxvt3(v0,t,wx)
p1=wx(1)
- 54 -
pdv=wx(10)
beishu=-1.0d0/pdv !根据初值确定迭代倍数
a=(p1-p)*beishu
v1=v0+a
if (abs(a)<1.0d-10) exit
v0=v1
end do
vpt3n=v1
else
t23=0.57254459862746d3+
1 dsqrt((p-13.91883977887d0)/0.10192970039326d-2)
call wxpt1(p,623.15d0,wx)
v0=wx(3)
call wxpt2(p,t23,wx)
v1=wx(3) !二分法的两个端点
do
v2=(v0+v1)/2.0d0
if (abs(v1-v0)<1.0d-10) exit
call wxvt3(v2,t,wx)
p1=wx(1)
if (p1>p) then
v0=v2
else
v1=v2
end if
end do
vpt3n=v2
end if
end
c*********************************************************
subroutine bhcspt(i,x,bhcs)
c*********************************************************
- 55 -
c-----计算饱和参数,前十项为饱和水参数,依次为:压力(MPa),温度(K),
c比容(m3/kg),比焓(kJ/kg),比熵(kJ/kgK),比内能(kJ/kg),定压比热(kJ/kgK),
c定容比热(kJ/kgK),声速(m/s)和表面张力(N/M),后十项为饱和汽参数,依次为:
c压力(MPa),温度(K),比容(m3/kg),比焓(kJ/kg),比熵(kJ/kgK),比内能(kJ/kg),
c定压比热(kJ/kgK),定容比热(kJ/kgK),声速(m/s)和汽化潜热(kJ/kg)
c-----i=1时,根据温度(K)计算,
c-----i=2时,根据压强(MPa)计算
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension wx(10),bhcs(10,2)
c计算温度和压强
if (i.eq.1) then
t=x
if (t<273.15d0.or.t>647.096d0) then
write(*,*) 'bhcspt中,温度越界 '
else
p=bhpt(1,t)
end if
else
p=x
if (p<0.00061121d0.or.p>22.064d0) then
write(*,*) 'bhcspt中,压强越界 '
else
t=bhpt(2,p)
end if
end if
c计算其它参数
if (t<=623.15d0) then
call wxpt1(p,t,wx)
bhcs(1:9,1)=wx(1:9)
call wxpt2(p,t,wx)
bhcs(1:9,2)=wx(1:9)
else !在3区,需先迭代解出v
- 56 -
call wxpt1(p,623.15d0,wx)
v0=wx(3) !液态时初值
do
call wxvt3(v0,t,wx)
p1=wx(1)
pdv=wx(10)
beishu=-1.0d0/pdv !根据初值确定迭代倍数
a=(p1-p)*beishu
v1=v0+a
if (abs(a)<1.0d-10) exit
v0=v1
end do
call wxvt3(v1,t,wx)
bhcs(1:9,1)=wx(1:9)
t23=0.57254459862746d3+
1 dsqrt((p-13.91883977887d0)/0.10192970039326d-2)
call wxpt2(p,t23,wx)
v0=wx(3) !气态时初值
do
call wxvt3(v0,t,wx)
p1=wx(1)
pdv=wx(10)
beishu=-1.0d0/pdv !根据初值确定迭代倍数
a=(p1-p)*beishu
v1=v0+a
if (abs(a)<1.0d-10) exit
v0=v1
end do
call wxvt3(v1,t,wx)
bhcs(1:9,2)=wx(1:9)
end if
t0=647.096d0
- 57 -
surf0=1.0d-3
ft=1.0d0-t/t0
bhcs(10,1)=surf0*(235.8d0*ft**1.256d0*(1.0d0-0.625d0*ft))
bhcs(10,2)=bhcs(4,2)-bhcs(4,1)
end
c************************************************
function pvt(v,t)
c************************************************
c 根据比容(立方米每千克)和温度(开)计算压强(兆帕)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension wx(9),bhcs(10,2)
c判断是否越界
if (t>2273.15d0) then
write(*,*) 'pvt中,温度越界'
pvt=0.0d0
return
else if(t<=1073.15d0) then
call wxpt(100.0d0,t,wx)
v0=wx(3)
else
call wxpt5(10.0d0,t,wx)
v0=wx(3)
end if
if(v<v0) then
write(*,*) 'pvt中,比容越界 '
pvt=0.0d0
return
else
continue
end if
c分区
if(t>1073.15d0) then
- 58 -
pvt=pvt5(v,t)
else if(t<=623.15d0) then
call bhcspt(1,t,bhcs)
v1=bhcs(3,1)
v2=bhcs(3,2) !根据饱和线分区
if(v<v1) then
pvt=pvt1(v,t)
else if(v>v2) then
pvt=pvt2(v,t)
else
pvt=bhcs(1,1)
end if
else if(t>863.15d0) then
pvt=pvt2(v,t)
else
p23=0.34805185628969d3-1.1671859879975d0*t
1 +0.0010192970039326d0*t**2 !根据B23方程分区
call wxpt2(p23,t,wx)
v0=wx(3)
if(v<=v0) then
call wxvt3(v,t,wx)
pvt=wx(1)
else
pvt=pvt2(v,t)
end if
end if
end
c*******************************************************
function pvt1(v,t)
c---------1区,方法是用牛顿迭代法解方程v=wxpt1(p,t,wx(3))
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension wx(9)
- 59 -
c确定迭代初值
p0=bhpt(1,t)
do
call wxpt1(p0,t,wx)
v0=wx(3)
call fcond1(p0,v0,t,pdt,rodp)
vdp=-rodp*v0**2
beishu=-1.0d0/vdp !根据初值确定迭代倍数
a=(v0-v)*beishu
p1=p0+a
if (abs(a)<1.0d-10) exit
p0=p1
end do
pvt1=p1
end
c************************************************
function pvt2(v,t)
c ------2区,方法是用牛顿迭代法解方程v=wxpt2(p,t,wx(3))
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension wx(9)
p01=4.61526d-4*t/v !根据理想气体方程确定初值
if (t>=623.15d0) then
p02=0.34805185628969d3-1.1671859879975d0*t
1 +0.0010192970039326d0*t**2 !根据B23方程确定初值
else
p02=bhpt(1,t) !根据饱和线确定初值
end if
if(p01<=p02) then
p0=p01
else
p0=p02
end if
- 60 -
if(p0>100) then
p0=100.0d0
end if
do
call wxpt(p0,t,wx)
v0=wx(3)
call fcond2(p0,v0,t,pdt,rodp)
vdp=-rodp*v0**2
beishu=-1.0d0/vdp !根据初值确定迭代倍数
a=(v0-v)*beishu
p1=p0+a
if (abs(a)<1.0d-10) exit
p0=p1
end do
pvt2=p1
end
c************************************************
function pvt5(v,t)
c ----5区,方法是用迭代法解方程v=wxpt5(p,t,wx(3))
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
dimension wx(9)
p0=4.61526d-4*t/v !根据理想气体方程确定初值
vdp=-4.61526d-4*t/p0**2
beishu=-1.0d0/vdp !根据初值确定迭代倍数
do
call wxpt5(p0,t,wx)
v0=wx(3)
a=(v0-v)*beishu
p1=p0+a
if (abs(a)<1.0d-10) exit
p0=p1
end do
- 61 -
pvt5=p1
end