图片缩略图

蒸汽,水和蒸汽的热力学性质。

version 1.0.0.0 (192 KB) by 马格努斯·霍姆格伦
完整的IAPWS IF-97标准。
4.6
81年评级

197下载

更新2007年8月01

查看许可协议

编者按:该文件被选为MATLAB Central本周精选

www.x-eng.com,基于“国际水和蒸汽工业配方特性协会1997 (IAPWS IF-97)”的蒸汽和水特性Matlab。IF-97标准的全面实施,在0-1000 bar和0-2000°C范围内提供非常精确的蒸汽和水性能。假设热力学性质为:

温度
压力

具体的体积
密度
比熵
比内能
比等压热容
比等容热容
声速
粘度
蒸汽比例

所有的性质都可以通过输入来计算,已知的p和T,已知的p和h,已知的h和s还有一些已知的压强和密度。X Steam完全实现了IF-97公式,包括所有区域和所有向后函数,以获得良好的计算速度。代码是速度优化的压力和焓作为动态模拟的输入。

例子:
XSteam('h_pt',1,20)返回水在1bar和20℃时的焓值。84.0118 kJ /公斤

XSteam('rho_ph',13000)返回1 bar和3000 kJ/kg下的蒸汽密度。0.4056 kg/m3

XSteam('w_pt',1,20)返回1巴和20摄氏度时的声速。1483.4米/秒

XSteam('tSat_p',1)返回1巴99.6059摄氏度的饱和温度

X蒸汽表是替代纸表和高级计算的完美工具。X Steam表格是开源的,并且是免费的。

X蒸汽表也可作为MS Excel脚本,OOo脚本,动态链接库。dll。请访问www.x-eng.com

新版本2.5

引用为

马格努斯·霍姆格伦(2021年)。蒸汽,水和蒸汽的热力学性质。(//www.tatmou.com/matlabcentral/fileexchange/9817-x-steam-thermodynamic-properties-of-water-and-steam), MATLAB中央文件交换。检索

评论和评级(124

艾哈迈德·霍萨姆

阿德汗Abdelrahman

焓的函数工作吗?特别的h_ps ? ?它给了我不合理的价值!!...

Miika Wallius

错误:调用XSteam('h_pt',800554)会创建一个无限循环。

维维安

根本不工作。一直说1750行是无效的吗?

尤里werges

首先,我分享了大多数人的观点:惊人的代码,对化学工程师非常有用。我很感激能有机会使用它。
第二:我尝试计算焓作为压强和熵的函数,但结果与我的预期不相符。
当我在恒定熵下降低压强时,我预计焓会达到一个确定的,几乎恒定的值,这是p-h图所示,但相反,当压力降低时,焓会呈指数下降。我认为这不是正确的行为

马赫迪摩

垦利布朗

代码是伟大的,然而对于XSteamUS包,导热系数不正确转换在高压,即1000-2250 psia。有办法解决这个问题吗?谢谢!

蒂姆Rupnow

内森问

埃尔顿拿撒勒

这个代码真是太棒了,如果能加入热膨胀系数,那就是一个完整的包了!

埃尔顿拿撒勒

在执行代码时,没有一个函数是工作的。
有什么需要修改的吗?

亚历山大Dearman

直接从温度和熵变成焓是很好的

丹妮拉·德拉托瑞

这个代码对于获得所需的水和蒸汽的热力学性质是非常有用的。然而,为了正确地使用代码,理解代码的局限性是很重要的。这些限制包括理解代码中使用的单元和可用的参数范围。该代码没有足够的注释来明确这些重要的限制。目前,如果输入参数超出了允许的范围,' NaN '就是输出。给出错误的原因可以让用户在使用代码时有一个更平稳的过程。如果有错误消息解释为什么某些输入不能被接受,代码将会更加用户友好。在每个输出中显示单位也会提高用户友好性。同样值得注意的是,在解释代码是如何工作和如何开发的过程中缺乏注释。包括评论将使人们更深入地了解为什么要用某些东西来寻找所需的产出。 The code could also be more helpful by giving an understanding of how certain properties change as a function of another property. To do this, plots could be implemented. For these reasons, the rating is a 4 out of 5 stars.

克里希纳阿南德

这段代码在寻找水的热力学性质方面非常有价值,而不必筛选大量的表格,我要感谢作者创建了这段代码!非常有用的化学工程师!不同的函数允许我们使用不同的输入,如温度、压力、焓和熵来发现热力学性质。为了使XSteam更加用户友好,可以进行两项重大改进。首先,有每个特定功能的输入和输出单位,而不必一直滚动到顶部或底部,这将是非常有用的。第二,与各种不同的输入相比,看看我们的计算值在哪里会很好,因此整合一个整体图可能会为用户创建一个更令人兴奋的界面。

Keir Lawrie

该代码的详细性和全面性使其得以构建,为输入和输出提供了许多选项。该代码在用户友好性方面存在一些小问题。该代码的输出没有显示所需属性的单位,这可以通过添加displa在第2.1节中,T1_prho的函数使用对分法计算输出,当可以实现更精确的方法(如fsolve)时。总体而言,代码运行良好,但需要一些实践来学习正确的格式和术语。

布拉德利塔哈

马克·因凡特

这段代码在寻找水的热力学性质时非常有价值,而不必筛选大量的表格,我想感谢创建这段代码的作者!不同的函数允许我们使用不同的输入,如温度、压力、焓、熵等,来找到热力学性质。为了让XSteam更加用户友好,我们可以做两个重大的改进。首先是在XSteam中包含显示输出单元的代码行。尽管文件交换包含带有输出单元的PDF,但包含带有给定值的单元会对用户更友好。其次,在第1.14节Kappa下,没有实际的代码来查找Kappa,只是表示一个空白的部分。

猛禽的

首先,我要感谢作者的重要贡献。

其次,我想指出,对于英制单位(XSteamUS.m),导热系数(tc)的计算是不正确的。我认为这是由于过早地从公制转换而来。将特定体积从公制转换为英制,然后将最终输出从公制转换为英制。因此,“fromSIunit_tc”代码采用基于英语的密度;而不是必要的度量。解决方法是注释掉1.16热导率部分中的“v=toSIunit_v(v);”行。请检查此项以进行验证。

hooman karimii

当我想运行代码时发生了这个错误
未定义的函数'call'为'char'类型的输入参数。
无题错误(第2行)
调用xsteam (h_S, 100);
谁知道为什么?
请让我知道我的错误

谢尔盖Belyavsky

在两相区,粘度函数不起作用。我试图计算在29 kPa时的蒸汽粘度,并得到NaN。

Chiel de Nijs

蒂莫西洛杉矶

我们对代码⅗的评分主要是因为用户友好。缺少对代码开发的解释,也没有足够数量的注释来解释代码做了什么。此外,输出不包括单元,因此无论您想要找到哪个值,都必须使用zip文件中给出的单独文档来查找单元。在代码的开头应该有一个解释,说明什么混合的代码是有效的或无效的。总的来说,代码是可行的,但是后续操作有点粗糙。

蒂莫西洛杉矶

阮德维利尔斯

功能做得很好,但是我注意到了几个小问题。在特定温度和压力下,该函数将返回非物理值(或更常见的是NaN)。例如,运行XSteam(“h_pT”,900900)返回NaN,尽管所述值在函数的给定工作范围内。这很可能是IAPWS公式的一个问题(在相同条件下检查其他在线计算器会返回类似的非物理结果),但是,如果给出一对有问题的值,则最好有一个非物理结果的内置检查,这会导致错误。

Zdenek Kubin

六曹

谢谢你的出色工作。但是如果你能把它转换成完整的SI系统,那就更方便了。在SI系统中,压强以帕斯卡(Pa)为单位,温度以开尔文(K)为单位。

兴隆方

鲁迪Jauhar Musyafa

大卫。Viaro

大卫。Viaro

大卫。Viaro

有趣的程序,但我发现它有点有限,因为每个函数的输入参数的数量

塞伦塞勒姆

你好,
有没有人能帮我弄到液体粘度?似乎只计算蒸汽粘度!

祝福

嗨,大家好,我有一个问题使用Xsteam的函数调用。X蒸汽工作很好,当我在matlab中使用。m。但是当我插入matlab。m在sim金宝appulink中使用用户定义matlab函数,没有使用Xsteam的函数调用进行计算。

洛根接触

蒸汽,水和蒸汽的热力学性质是一个非常有用的函数,它允许人们计算许多有用的热力学量,作为特定参数的函数,如压力、焓、熵和体积分数。该代码是健壮的,可以从广泛的初始输入返回值,这使得该代码在许多工程设计和分析问题中非常有用。这段代码有一些小的用户友好性问题,因为它没有指定单元,也没有指定底层方程在每个区域是否有效(它只返回NAN)。源代码中没有足够的注释,因此很难理解某些开发。while循环的基本参数计算公差存在不一致,导致误差难以量化。错误在附件中列成表格,但没有给出总体显著性水平。为了帮助用户,代码可以更清晰,结构也更有逻辑,但总的来说,它是计算水和蒸汽的热力学性质的好工具。

Jarturun Sukthong

穆罕默德Ouallal

大家好,

有流体-气体表吗?我处理的不是纯净水,我的系统有时包含空气,有时包含蒸汽,有时两者都包含。我想知道是否可以有一个流体-气体表?

亚许Trivedi

当我运行程序时,它说
XSteam(fun, In1, In2)
未定义函数或变量“fun”。
有什么问题吗?

Bosong林

本·克劳德UWIHANGANYE

你好
我是新来的,但希望享受你们的服务。然而,我得到了不同的价值比较,我有什么硬拷贝的蒸汽表或什么已经上面陈述。
例如:
1) XSteam('TSat_p',1) =101.6943而不是99.6,我们都知道?
2) XSteam('rho_ph',1,3000) =4.3661e-04而不是0.4056 kg/m3
3)XSteam('h_pt',1,20) =答案是NaN......

可能是什么原因呢?请帮助

马鲁阿ROUABAH

伟大的工作!
请问,这个程序可以扩展到计算超过1000巴的ice VII(从2到20GPa)的热力学性质吗?

希特勒万岁”

普里特维苏雷什

大家好,,

当我将压力和温度作为变量发送到一个Matlab函数内时,代码完美地工作。
但是当我的Simulink模型运行相同的函数时,我得到的错误是“需要标量。IF或金宝appWHILE语句或逻辑运算符不支持非标量。相反,使用ALL将矩阵逻辑转换为其标量等价物。”金宝app

谁能帮我一下吗?即使压力和温度的值是标量,我也会得到这个错误。

谢谢你!

西蒙克

我之前的问题解决了。事实证明,将提取的文件夹和提取的文件复制粘贴到Documents/MATLAB中是有区别的

米甲Roubalik

很棒的代码,非常有用,有问题吗?我能得到汽液混合物的声速吗?

函数返回NaN。

谢谢:-)

米哈尔

我找到了答案
>>只是下载zipfile在这里和复制它的文件到matlab文件夹的文档或matlab使用计算机上的任何路径

我可以直接在matlab上写出来
XS团队('h_S',100)

扬·亚诺索夫斯基

这非常有帮助。谢谢:)

莱昂纳多Paoli

很好,但它在800℃以上的温度下不工作!

马赞哈拉萨

丹尼尔·佩雷斯

伊法拉克

2016年4月11日,星期一
你好
当我尝试运行xsteam时。我在r2016a得到以下关于乐趣的错误
输入参数不足。

XSteam中的错误(第221行)
乐趣=较低(乐趣);
欢迎帮助修复此错误。
谢谢。
伊哈

rouf awad

乐趣是一个未定义的词!!

???输入参数“fun”未定义。

彼得Pauska

感谢您提供的代码!
是否可以使用向量作为in1和in2?如果执行此操作,我将收到一条错误消息:

' ||和&&操作符的操作数必须可转换为逻辑标量值。'

恋人aditya

凯文·肖诺弗

有办法计算或确定等熵膨胀指数吗?

西蒙

我需要T区间1273 K-1873 K和P 0.1-300 MPa的蒸汽密度。XSteam提供温度在2000℃以下,但P<100 bar时的密度。任何建议吗?

马克Mikofski

如果您正在寻找替代XSteam,请考虑-//www.tatmou.com/matlabcentral/fileexchange/35710-iapws-if97-functional-form-with-no-slip-它是矢量化的、更新的,并记录在这里:http://mikofski.github.io/IAPWS_IF97/

布阿扎·布拉希姆

你好,先生,
我想知道Xsteam用作输入值SI值的函数,因为在pdf中有一个包含单位的表,但我不知道它们是输入单位还是输出单位。

问候,

桑帕斯

XSteam(“rho_pT”,1.5287,111.9187)
显示为NaN。请让我知道原因。

不仅密度,而且所有其他性质都显示为NaN

Tarek Sobh

谢谢你,马格努斯。我想用Simulink使用这个,但是,我不能..金宝app我使用的代码如下,但我得到错误:

函数h10 = fcn(t10)
h10=XSteam('hV_T',t10);

如果有人能帮忙,我将不胜感激。

SteamTable

我无法连接到x steam站点。收到以下错误消息:

哦!Internet Explorer无法连接www.x-eng.com
试着重新加载:www.x-eng.com

问候

马克Mikofski

您可以通过使用arrayfun调用XSteam来提高长循环的速度(//www.tatmou.com/help/matlab/ref/arrayfun.html)或使用IAPWS_IF97(//www.tatmou.com/matlabcentral/fileexchange/35710-iapwsif97-functional-form-with-no-slip

马克Mikofski

@Daniel Vecchio -你可以试试NIST Chem WebBook (http://webbook.nist.gov/chemistry/fluid/),美国威斯康辛大学土木工程学院(http://fchart.com/ees/), TRNSYS也来自威斯康辛州(http://sel.me.wisc.edu/trnsys/)或白杨(http://www.aspentech.com/下载188bet金宝搏products/aspen-properties.aspx).祝你好运,并将你的发现发表出来以帮助他人。

丹尼尔·维奇

你好,优秀的材料!

我正在寻找一个类似的工具来获得制冷剂的特性。
你知道有什么可用的吗?

谢谢

马克Mikofski

为了获得XSteam和XSteamUS的帮助,您需要打开源代码并删除前三行,或者至少删除空行。MATLAB只会使用第一个连接的注释块返回帮助,但是XSteam和XSteamUS在' %h_prho behöver T_prho för samtliga region !!!! '后面都有一个空行因此,这是唯一返回为“帮助”的行。

马克Mikofski

很好的资源,但如果它被矢量化,并且有用于计算建模的热力学导数,那就更好了。

马克Mikofski

打开源代码,查看第23-41行,每个文件的单元都在那里

XSteamUS.m

% * * *命名法 ******************************************************************************************
%首先是需要的属性,然后是_,然后是需要的输入属性。
%的例子。T_ph是温度作为压强和焓的函数。
% For a list of valid functions se belbelow or XSteam For MS Excel。
温度(℃)
压力(bar)
焓值(kJ/kg)
% v比体积(m3/kg)
%密度ρ
比熵
比热力学能
比等压热容
%比等容热容
声速
%我的粘度
%热导率
%表面张力
蒸汽馏分% x
vx蒸汽体积分数

艾萨克

使用'help XSteam'或'help XSteamUS'不会输出所使用的单位:

> >帮助XSteamUS
你是一个很好的收信人!!!!

> >帮助XSteam
你是一个很好的收信人!!!!

我在pdf中找到了单位制单位,但是我怎么找到英制单位呢?

马克Mikofski

@AntoineTambue“XSteamUS”使用英制单位,而“XSteam”(不带“US”)使用SI或公制单位。键入“help XSteam”或“help XSteamUS”查看使用的单位。

马克Mikofski

我知道这是一个古老而美好的故事,我非常欣赏马格努斯·霍姆格伦的作品。因此,我谦恭地提交IAPWS_IF97.m(//www.tatmou.com/matlabcentral/fileexchange/35710),它的灵感来自XSteam,但完全使用了IAPWS原始的矢量化和包括衍生的w.r.t.焓和压力。如果您在IAPWS_IF97上有注释。我很想听听。谢谢你的考虑。

亚尼克·莫兰

好工具

内森问

安东尼Tambue

你好,有两个功能XSteam和XSteamUS。这两个函数有什么区别?我已经测试了这两个函数,它们给出了不同的答案。
干杯

阿里

有史以来最好的工具!

利昂

非常好的工具!
将其压缩到一个.m文件中是非常棒的。

马奈尔·索里亚

优秀的! !

罗里

出色的工作!你用这个伟大的工具让我的生活变得无比轻松!

关于我之前的评论:
代码按照它应该的方式计算tcL和tcV。
只有文档是相反的。

在19.7.2006的“XSteam for Matlab.pdf”和4.5.2007的“XSteam。注释行139-142:
饱和蒸汽的导热系数
%饱和液体导热系数
饱和蒸汽热导率
%tcV_T饱和液体导热系数

应该是;
饱和液体导热系数
%tcV_p饱和蒸汽导热系数
%tcL_T饱和液体导热系数
%tcV_T饱和蒸汽导热系数
,我猜?

托马斯•克拉克

马格努斯,

感谢您对这一全面实施的出色帮助!

汤姆

马可ricotti

康秀英

这正是我需要的,谢谢

马里亚诺·Nemec

再见马格努斯,

多年前,我欣赏并使用了您的excell工作表(2.6版)。

有一个新版本,我可以从哪里得到它?

丹·埃滕伯格

你好,程序很好,但是我需要计算0ºC下的蒸汽和冰值。有人能帮我吗?

安德鲁Yablokov

如何在Simulink中使用XSteam?金宝app

马克Mikofski

感谢Magnus Holmgren的出色工作!利用你的工作作为灵感,我完全重新编码了所有的IAPWS IF97(除了区域5),包括一些最新的文档,包括一些非线性两阶段建模所需的热力学导数。我终于把它贴在这里:
//www.tatmou.com/matlabcentral/fileexchange/35710-iapwsif97-functional-form-with-no-slip
根据IF97和随附文档中的测试点以及我使用它进行的大量模拟,它是矢量化的,并经过了全面测试。我希望你能发现它和我一样有用。

安德里亚Baricci

摩根可能

非常棒,我自己也在做类似的事情,当我偶然发现这个。谈到节省时间,我有一个问题,在第2496行程序应该读取High_Bound = 2563.59200e+5而不是High_Bound = 2563.592004+5??只是好奇。

杰森王

我的天啊这个程序在每次热力学作业上为我节省了很多时间。非常感谢!

帕特里克

坚实和精确,谢谢。

阿曼brar

太棒了……这正是我想要的。

ashek ullah

非常感谢你提供的信息?

Xiangbin朱

谢谢!

威廉Hounks

博阵痛

克劳福德酒店

非常好! !非常感谢!

克劳福德酒店

非常好! !非常感谢!

Bogdan Marcu

这正是我需要的,谢谢

乔纳斯·安德森

这正是我所需要的

马里奥lebbe

马格努斯·霍姆格伦

评论如下。温度线在ph图上的饱和线处不会偏离路线。(但是h_pt对蒸汽和水的混合物无效,因为该区域的温度不随焓变化。答案变为NaN。温度不能是p的饱和温度,因为h是未定义的。)我想你把数字弄错了一点。

XSteamUS('pSat_t',700) = 3.0928896229137e+03 psia
XSteamUS('hV_t',700) = 9.9063684424454e+02 btu/lb
XSteamUS('hV_p',3.0928896229137e+03) = 9.9063684424454e+02 btu/lb . XSteamUS('hV_p',3.0928896229137e+03

艾伦Zadiraka

很高兴发现蒸汽性能如此之好。这样我就不用再创造自己的了。唯一的问题是,在较高的压力下,ph图(英文单位)的饱和线上的温度线不会断裂;3097 psia的sat线给出989.2 BTU/Lb,而3097 psia和700F的sat线给出981.5 BTU/Lb。

大卫·安德森

完美的。
简单,准确。

默罕默德·齐米。

皮波·冥王星

Giovani Tonel

在第1428行==> err=check();

吉姆Mechell

这是一项非凡而出色的努力。特别是获得函数P和h、h和s性质的能力。
然而,不清楚作者如何声明,如果基于if 97,可以找到高达2000摄氏度的属性。据我所知,这些属性仅适用于高达800摄氏度。学生仍然需要一个紧凑的打印蒸汽表,他们可以随身携带进行测试或考试。一个优秀的新表称为Ashok Malhotra的“工程蒸汽表”现在可以在Amazon.com上找到。(在搜索框中键入标题以定位它)

TATEK ZEWDIR

我需要帮助 .................

戴夫·阿布拉莫维奇

非常有用的。作者一定有很多空闲时间,150kb的代码不是几个小时的工作。

朱剑

一般Conmments

Poomjai Sa-adchom

我喜欢这个节目

杰夫Buske

干得好!做得很好。

塔米尔·苏利曼

优秀的程序和结构。

迈克·巴尔达

优秀的工作。谢谢你!

全郑

约翰·麦肯齐

水数据,真的会节省我大量的工作,写表格的插值到我的程序。一个非常棒的程序!
我有两个小改进:
-我希望不同的功能作为单独的m文件,而不是命令。
-我同意之前的审稿人的观点,如果函数是向量化的就好了。
然而,?如果出现小问题,程序做什么呢?应该是这样的吗?it’它使用简单而且结构良好。这个项目值五星级。

杜安·汉塞尔曼

1星只是为了平衡作者给自己5星的评级。谢谢你的建议!

乌尔斯(美国)施瓦兹

没关系-但是(这是一个很大的但是)-以后,不要给你自己的投稿打分5/5;有些人可能会对这种不恰当的行为感到非常生气和讨厌
我们

马格努斯·霍姆格伦

我终于成功地添加了我的文件,并在第一天就收到了所有积极的评价。
我将考虑对函数进行矢量化。
用于MS Excel的X Steam和“漂亮的图形”也是开源的,可以从上面下载www.x-eng.com但我会在下次更新时将它们添加到ZIP文件中。

约翰卡尔森

简单,给出精确的结果。

约翰D 'Errico

如果你在一个长循环中调用它,矢量化的缺乏可能会减慢速度。然而,这是我可能选择降低这个速度的唯一原因。文档远远高于平均水平,所以在我的书中仍然是5。

乌尔斯(美国)施瓦兹

这是一个非常好的项目
-特别帮助(包括PDF,以启动)
那会更好
-如果它被向量化了
-如果这个漂亮的人物可以很容易地复制(见上文)
-如果…XSteam macros for MS Excel…(如帮助部分所述)随包而来
但这只是在咆哮
我们