编者按:该文件被选为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中央文件交换。恢复.
1.0.0.0 | 新版本的小补丁 |
|
新版本有小的更新。 |
||
更新蒸汽和水混合物功能T_ps的单元错误。 |
||
广泛的测试。 |
||
*英语单位实施!!! |
||
版本2.2 |
启发:理想的兰尼斯循环GUI,IAPWS_IF97,甲烷溶解度,理想朗肯循环,理想再生朗肯循环,理想再热朗肯循环,理想再热回热朗肯循环,理想的再热再生朗肯循环,一个开,一个闭,理想的再生朗肯循环,一个开放,一个封闭的FWH,陈氏关联式壁温计算,水蒸汽折射率,水的热力学状态图,XSteamW-XSteam的矢量化包装器,中型
维维安(查看资料)
根本没有工作。一直说第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);”行。请检查此项以进行验证。
太郎karimii.(查看资料)
当我想运行代码时发生了这个错误
类型为“char”的输入参数的未定义函数“call”。
“无标题”中的错误(第2行)
呼叫XSTEAM('H_S',100);
谁知道为什么?
请让我知道我的错误
谢尔盖·贝尔雅夫斯基(查看资料)
粘度功能在2相区域不起作用。我试图在29kPa下计算蒸汽粘度并获得南部。
杰尔德尼伊斯(查看资料)
蒂莫西·洛杉矶(查看资料)
我们对代码进行了评级⅗ 扣分主要是因为用户友好。对代码开发缺乏解释,并且没有足够数量的注释来解释代码的功能。此外,输出不包括单位,因此无论您想找到哪个值,都必须使用zip中给出的单独文档来查找单位在代码的开头应该有一个关于此代码对哪些混合物有效或无效的解释。总的来说,代码是可行的,但后续操作有点粗糙。
蒂莫西·洛杉矶(查看资料)
阮de Villiers(查看资料)
功能做得很好,但是我注意到了几个小问题。在特定温度和压力下,该函数将返回非物理值(或更常见的是NaN)。例如,运行XSteam(“h_pT”,900900)返回NaN,尽管所述值在函数的给定工作范围内。这很可能是IAPWS公式的一个问题(在相同条件下检查其他在线计算器会返回类似的非物理结果),但是,如果给出一对有问题的值,则最好有一个非物理结果的内置检查,这会导致错误。
格里格拉顾宾(查看资料)
六曹(查看资料)
感谢您的出色工作。但如果您可以将其转换为SI系统的完整形式,即压力以帕斯卡(Pa)测量,温度以开尔文(K)测量,则会更方便。
方兴隆(查看资料)
Rudi Jauhar Musyafa.(查看资料)
戴维德·维亚罗(查看资料)
戴维德·维亚罗(查看资料)
戴维德·维亚罗(查看资料)
有趣的程序,但我发现它有点限制,因为每个函数的输入参数的数量
Salem Salem.(查看资料)
你好
有没有人能帮我得到液体的粘度?似乎只有计算蒸汽的粘度!
BLE(查看资料)
努尔Mazliyana奥斯曼(查看资料)
大家好,我在使用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。
谢谢:-)
米甲
Ahmed Shams El-Din(查看资料)
我找到了答案
>>只需在此处下载zipfile并将其文件复制到matlab文件夹中的文档或matlab在计算机上使用的任何路径
Ahmed Shams El-Din(查看资料)
我可以直接在matlab上写,就像
xsteam (' h_S ', 100)
Jan Janosovsky(查看资料)
Mostafa Ayman Mohamed Naguib Sadek(查看资料)
这是非常有用的。谢谢你:)
莱昂纳多·保利(查看资料)
很好,但在800摄氏度以上的温度下就不起作用了!
阿巴斯halasah(查看资料)
丹尼尔·佩雷斯(查看资料)
Antonio CabreraGarcía-Doncel(查看资料)
伊哈布·法拉格(查看资料)
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/
bouazza卜拉欣(查看资料)
你好先生,
我想知道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
当做
马克·米科夫斯基(查看资料)
你可以通过使用arrayfun (//www.tianjin-qmedu.com/help/matlab/ref/arrayfun.html)或使用IAPWS_IF97 (//www.tianjin-qmedu.com/matlabcentral/fileexchange/35710-iapwsif97-functional-form-with-no-slip)
马克·米科夫斯基(查看资料)
@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(查看资料)
Antoine Bandue.(查看资料)
您好,有两个函数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执行的无数模拟,它被向量化并进行了充分的测试。我希望你觉得它和我一样有用。
andrea baricci.(查看资料)
摩根五月(查看资料)
非常棒,我自己也在做类似的事情,突然发现了这个。说到节省时间,我确实有一个问题,在第2496行,程序是否应该读取High_Bound=2563.59200e+5而不是High_Bound=2563.592004+5??只是好奇。
王再颂(查看资料)
天啊。这个程序为我节省了很多做热力学作业的时间。非常感谢!
帕特里克(查看资料)
非常准确,谢谢。
太棒了…这正是我想要的。
非常感谢你提供的信息?
谢谢!
博伊尔阵痛
非常好!!非常感谢!
非常好!!非常感谢!
正是我需要的,非常感谢
正是我需要的
请在下方评论。温度线在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)的优秀新表,现在可以在亚马逊网站上买到。(在搜索框中输入标题以定位)
我需要帮助。。。。。。。。。。。。。。。。。
非常有用。作者一定有很多空闲时间,150kb的代码不是几个小时的工作。
一般条款
我喜欢这个计划
干得好!干得好。
伟大的计划和优秀的结构。
干得好,谢谢。
水数据,这真的会节省我很多工作写表格插值到我的程序。一个非常棒的节目!
我有两个小的改进:
-我希望不同的功能作为独立的m文件,而不是命令。
-我同意前面的评论员的观点,如果函数可以矢量化,那就更好了。
然而,这是一个小问题,这个程序做了它应该做的,而且它使用简单,结构良好。这个节目价值五星。
1颗星只是为了平衡作者给自己5颗星的评价。谢谢你的建议,乌尔斯!
这没关系,但(这是一个大问题),在未来,不要给你自己的提交评分为5/5;有些人可能会因为这种不恰当的行为而被冒犯和讨厌
我们
我终于在添加我的档案时成功了,我就第一天赞同所有积极的评级。
我会考虑向矢量化功能。
MS Excel的X Steam和“spiffy figure”也是开源的,可以从www.x-eng.com但我会在下次更新时将它们添加到ZIP文件中。
简单且给出精确的结果。
如果在一个长循环中调用这个函数,缺乏向量化可能会减慢速度。然而,这是我选择降低评级的唯一原因。文档远远高于平均水平,所以在我的书中仍然是5分。
项目的真正不错的结果
-特别的帮助(包括PDF,引导)
那会更好
-如果它是矢量化的
-如果可以很容易地复制漂亮的图形(见上文)
-如果…XSteam宏用于MS Excel。。。(如“帮助”部分所述)随软件包一起提供
但这只是夸夸其谈
我们