图像缩略图

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

版本1.0.0.0(192 KB) 马格努斯Holmgren
水属性符合完整的IAPWS IF-97标准。
4.6
81评级

326下载

更新2007年8月1日

查看许可证

编者按:该文件被选为MATLAB Central推荐商品

www.x-eng.com基于“1997年水蒸汽工业配方的国际性协会”的MATLAB蒸汽和水性能(IAPWS IF-97)。IF-97标准的全面实施,可提供0的范围内的蒸汽和水性质。-1000 bar和0-2000°C。提供热力学性质是:

温度
压力

比容
密度
比熵
比内能
比等压热容
比等容热容
音速
粘度
蒸汽分数

所有属性都可以在输入p和T已知、p和h已知、h和s已知以及一些压力和密度已知的情况下计算。X Steam是IF-97公式的完整实现,包括所有区域和所有向后函数,以获得良好的计算速度。该程序以压力和焓作为动态模拟的输入进行速度优化。

例子:
XSTEAM('H_PT',1,20)将水焓返回1巴和20次DEGC。84.0118 KJ / kg

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

XSteam('w_pt',1,20)返回1 bar和20℃下的声速1483.4米/秒

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

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

X Steam表也可以作为MS Excel脚本,OOO Sripts,动态链路Libary .dll。请拜访www.x-eng.com.

新版本2.5

引用作为

Magnus holmgren(2020)。蒸汽,水和蒸汽的热力学性质。(//www.tianjin-qmedu.com/matlabcentral/fileexchange/9817-x-steam-thermodynamic-properties-of-water-and-steam),MATLAB中央文件交换。恢复.

评论和评级(121)

维维安

根本没有工作。一直说第1750行无效?

首先:我同意这里大多数人的观点:惊人的代码,对化学工程师非常有用。我非常感谢有机会使用它。
其次:我尝试计算焓作为压力和熵的函数,但结果与我的期望不符。
当我在熵不变的情况下降低压强时,我希望焓会趋于一个确定的,几乎恒定的值,p-h图表明了这一点,但是相反,当压强降低时焓会呈指数级下降。我认为这不是正确的行为

对于Xsteamus封装,代码很大,导热率在高压下不正确地转换,即1000-2250 psia。有机会可以解决这个问题吗?谢谢!

内森q

这个代码真是太棒了,如果它能包含热膨胀系数,它将是一个完整的包!

执行代码时,所有函数都不工作。
有什么需要修改的吗?

最好从温度和熵直接到焓

该代码对于获得所需的水和蒸汽热力学性质非常有用。但是,了解代码的局限性对于正确使用它很重要。这些限制包括理解代码中使用的单位和可用的参数范围。该准则没有足够的注释来明确这些重要限制。当前,如果输入参数超出允许范围,则输出为“NaN”。给出错误的原因可以让用户在使用代码时有一个更流畅的过程。如果有错误消息解释为什么不能接受某些输入,那么代码将更加友好。在每个输出中显示单位也将增强用户友好性。还注意到缺乏解释代码如何工作和开发的注释。包括评论可以让我们更深入地了解为什么某些东西被用来寻找期望的输出。通过理解某些属性作为另一个属性的函数是如何变化的,代码也会更有帮助。为此,可以实施绘图。由于这些原因,该评级为5颗星中的4颗星。

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

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

这段代码在寻找水的热力学性质方面非常有价值,无需筛选大量的表格,我要感谢作者创建了这段代码!不同的函数允许我们使用各种输入,如温度、压力、焓、熵等,来发现热力学性质。为了使XSteam更加用户友好,可以进行两项重大改进。第一种方法是在XSteam中包含显示输出单位的代码行。即使文件交换包含一个带有输出单位的PDF,但包含具有给定值的单位会更方便用户。第二,根据第1.14节Kappa,没有找到Kappa的实际代码,只是表示一个空白部分。

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

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

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

粘度功能在2相区域不起作用。我试图在29kPa下计算蒸汽粘度并获得南部。

我们对代码进行了评级⅗ 扣分主要是因为用户友好。对代码开发缺乏解释,并且没有足够数量的注释来解释代码的功能。此外,输出不包括单位,因此无论您想找到哪个值,都必须使用zip中给出的单独文档来查找单位在代码的开头应该有一个关于此代码对哪些混合物有效或无效的解释。总的来说,代码是可行的,但后续操作有点粗糙。

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

六曹

感谢您的出色工作。但如果您可以将其转换为SI系统的完整形式,即压力以帕斯卡(Pa)测量,温度以开尔文(K)测量,则会更方便。

方兴隆

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

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

BLE

大家好,我在使用Xsteam进行函数调用时遇到了一个问题。当我单独在matlab.m中使用时,X steam工作正常。但是当我使用用户定义的matlab函数在simulink中插入matlab.m时,它无法使用Xsteam的函数调用进行计算。万博1manbetx

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

大家好,

是否有任何流体气体表?我不处理纯净水,我的系统包含,有时候,有时蒸汽,有时都是两者。我想知道是否有可能有流体燃气台?

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

林柏松

你好,
我是新来的,但希望享受你们的服务。然而,我得到的价值与我在steam table的硬拷贝或上面所述的不同。
例如:
1) XSteam('TSat_p',1)=101.6943而不是我们都知道的99.6?
2) XSteam('rho_ph',13000)=4.3661e-04,而不是0.4056 kg/m3
3) XSteam('h_pt',1,20)=答案是NaN。。。。。。

原因可能是什么?请帮忙

干得好!
请问,这个程序可以扩展到1000 bar以上的ice VII(从2到20GPa)的热力学性质计算吗?

你好所有的,

当我将压力和温度作为MATLAB功能内的变量发送压力和温度时,代码完美地工作。
但是当我的Simulink模型运行相同的函数时,我得到的错误提示是“期望一个标量万博1manbetx”。在IF或WHILE语句或逻辑操作符中不支万博1manbetx持非标量。相反,使用ALL将矩阵逻辑转换为它们的标量等价。”

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

非常感谢。
Prithvi.

siimonc

我以前的问题得到了解决。拒绝将提取的文件夹和提取的文件复制粘贴到文档/ matlab中存在差异

很棒的代码,非常有用,我可以疑问吗?我可以获得液态蒸汽混合物的声音速度吗?

函数返回NaN。

谢谢:-)

米甲

我找到了答案
>>只需在此处下载zipfile并将其文件复制到matlab文件夹中的文档或matlab在计算机上使用的任何路径

我可以直接在matlab上写,就像
xsteam (' h_S ', 100)

这是非常有用的。谢谢你:)

很好,但在800摄氏度以上的温度下就不起作用了!

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

XSTEAM中出现错误(第221行)
有趣=低(有趣的);
欢迎帮助修复此错误。
谢谢
伊哈布

有趣是未定义的词!

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

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

'操作数目||&& &&运算符必须敞开逻辑标量值。“

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

我需要T区间1273K-1873K和P0.1-300MPa的蒸汽密度。XSteam为温度高达2000℃但P<100 bar的温度提供了稳定性。有什么建议吗?

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

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

问候语,

位于

XSteam('rho_pT',1.5287111.9187)
显示为楠。请让我知道原因。

不仅密度,所有其他属性都显示为NaN

谢谢magnus。我想用这一模拟使用它,但是,我无法使用它。我使用的代码如下所万博1manbetx示,但我得到了错误:

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

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

蒸台

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

哎呀!Internet Explorer无法连接到www.x-eng.com
尝试重新加载:www.x-eng.com

当做

@Daniel Vecchio-你可以试试NIST化学WebBook(http://webbook.nist.gov/chemistry/fluid/威斯康星大学EES(http://fchart.com/ees/),TRNSYS也来自威斯康星州(http://sel.me.wisc.edu/trnsys/)或白杨(http://www.aspentech.com/s manbetx 845products/aspen-properties.aspx.).祝你好运,并将你的发现发布给他人。

你好,好材料!。

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

谢谢

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

非常好的资源,但如果矢量化,并且如果它有用于计算建模的热力学导数,则会更好。

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

xsteamus.m.

%***命名法******************************************************************************************
%首先是想要的属性,然后是a uu,然后是想要的输入属性。
% 例子。T_PH是温度,作为压力和焓的函数。
%有关有效函数的列表,请参见下文或XSteam For MS Excel。
%温度(摄氏度)
%压力(巴)
%h焓(kJ/kg)
%v比体积(m3/kg)
%rho密度
%s比熵
%比内能
%比等压热容
%比等容热容
%音速
%我的粘度
热导率
%表面张力
%x蒸汽分数
%vx蒸汽体积分数

以撒

使用“帮助Xsteam”或“帮助Xsteamus”不会输出所用的单位:

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

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

我在pdf中找到了国际单位制,但如何找到英制单位呢?

@AntoineTambue“XSteamUS”使用英制单位,而“XSteam”(没有“US”)使用SI或公制单位。输入“help XSteamUS”或“help XSteamUS”便可以看到所使用的单位。

我知道这是一个古老的好东西,我非常欣赏Magnus Holmgren的工作。因此我谦恭地提交IAPWS_IF97。米(//www.tianjin-qmedu.com/matlabcentral/fileexchange/35710)它的灵感来源于XSteam,但使用IAPWS原版进行了彻底改造,以实现矢量化,并包括衍生工具w.r.t.焓和压力。如果你对IAPWS_IF97.m有什么评论,我很乐意听听。谢谢你的考虑。

内森q

您好,有两个函数xsteam和xsteamus。两种功能有什么区别?我已经测试了这两个函数,他们给了我不同的答案。
干杯

阿里

有史以来最好的工具!

里昂

很好工具!
非常适合将其压缩到单个.m文件中。

杰出的

罗里

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

维萨

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

维萨

在2006年7月19日的“X Steam for Matlab.pdf”和2007年5月4日的“XSteam.m”评论行139-142中:
%饱和蒸汽导热系数
%tcV_p饱和液体导热系数
%饱和蒸汽导热系数
%饱和液体导热系数

应该是;
%饱和液体导热系数
%饱和蒸汽导热系数
%饱和液体导热系数
%饱和蒸汽导热系数
我想是吧?

马格纳斯,

感谢您的全面实施,并提供了极好的帮助!

汤姆

康秀英

正是我需要的,非常感谢

再见,马格纳斯,

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

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

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

如何在Simulink中使用XSteam 万博1manbetx?

谢谢Magnus Holmgren为您出色的工作!使用您的工作作为灵感,我完全重新编码了所有IAPWS IF97(区域5),包括一些最新的文档,包括我需要一些非线性2相模拟所需的热力学衍生物。我终于发布了它:
//www.tianjin-qmedu.com/matlabcentral/fileexchange/35710-iapwsif97-functional-form-with-no-slip
根据IF97中的测试点和附带的文档,以及我使用IF97执行的无数模拟,它被向量化并进行了充分的测试。我希望你觉得它和我一样有用。

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

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

非常准确,谢谢。

阿曼布雷尔

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

亚舍克乌拉

非常感谢你提供的信息?

朱向斌

谢谢!

威廉庄园

博伊尔阵痛

Lourenco克劳福德

非常好!!非常感谢!

Lourenco克劳福德

非常好!!非常感谢!

博格丹·马库

正是我需要的,非常感谢

乔纳斯安德森

正是我需要的

马里奥·勒贝

马格努斯Holmgren

请在下方评论。温度线在ph图上的饱和线断开。(然而h_pt不适用于蒸汽和水的混合物,因为在该区域温度不随焓变化。答案变得NaN。温度可以吗?T为p的饱和温度,因为h未定义。)我觉得你把数字弄混了。

xsteamus('psat_t',700)= 3.0928896229137e + 03 psia
XSteamUS('hV_t',700)=9.9063684424454e+02 btu/lb
XSteamUS('hV_p',3.092889629137E+03)=9.9063684424454e+02 btu/lb

艾伦·扎迪拉卡

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

大卫·安德森

完美的
简单、准确。

穆罕默德·卡泽米

皮波冥王星

乔瓦尼·托内尔

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

吉姆·梅谢尔

这是一项非凡而出色的努力。特别是获得函数P和h、h和s性质的能力。
然而,尚不清楚作者如何声明,如果基于if 97,可以在2000摄氏度以下找到特性。据我所知,这些只适用于800摄氏度。学生们仍然需要一个紧凑的印刷蒸汽表,他们可以带着它去考试。阿肖克·马尔霍特拉(Ashok Malhotra)推出了一款名为“工程蒸汽表”(Engineering Steam Tables)的优秀新表,现在可以在亚马逊网站上买到。(在搜索框中输入标题以定位)

Tatek Zewdir.

我需要帮助。。。。。。。。。。。。。。。。。

戴夫·阿布拉莫维奇

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

朱建

一般条款

Poomjai Sa adchom

我喜欢这个计划

杰夫·巴斯克

干得好!干得好。

塔米尔Suliman

伟大的计划和优秀的结构。

迈克Baldea

干得好,谢谢。

郑东辉

约翰·麦肯齐

水数据,这真的会节省我很多工作写表格插值到我的程序。一个非常棒的节目!
我有两个小的改进:
-我希望不同的功能作为独立的m文件,而不是命令。
-我同意前面的评论员的观点,如果函数可以矢量化,那就更好了。
然而,这是一个小问题,这个程序做了它应该做的,而且它使用简单,结构良好。这个节目价值五星。

杜安Hanselman

1颗星只是为了平衡作者给自己5颗星的评价。谢谢你的建议,乌尔斯!

URS(美国)Schwarz

这没关系,但(这是一个大问题),在未来,不要给你自己的提交评分为5/5;有些人可能会因为这种不恰当的行为而被冒犯和讨厌
我们

马格努斯Holmgren

我终于在添加我的档案时成功了,我就第一天赞同所有积极的评级。
我会考虑向矢量化功能。
MS Excel的X Steam和“spiffy figure”也是开源的,可以从www.x-eng.com但我会在下次更新时将它们添加到ZIP文件中。

约翰卡尔森

简单且给出精确的结果。

约翰·德雷科

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

URS(美国)Schwarz

项目的真正不错的结果
-特别的帮助(包括PDF,引导)
那会更好
-如果它是矢量化的
-如果可以很容易地复制漂亮的图形(见上文)
-如果…XSteam宏用于MS Excel。。。(如“帮助”部分所述)随软件包一起提供
但这只是夸夸其谈
我们

更新

1.0.0.0

新版本的小补丁

新版本有小的更新。

更新蒸汽和水混合物功能T_ps的单元错误。
只对英语单元重要。

广泛的测试。
固定失踪;。
通过压力和密度调用函数。

*英语单位实施!!!
*修复了Region_ph加速功能的小错误。
* my_ph未在区域4中定义。

版本2.2
*新增功能:
* p_hrho.
*普朗特数
*广泛的测试。
*修复了Cp_ph中的错误