modelica - 如何使用 Dymola 命令窗口中的功能?
问题描述
我正在使用 Dymola,并尝试在命令窗口中使用 Modelica 标准库提供的函数,但似乎无法使用它们,也无法声明特定类型的变量。我想知道我可以在 Dymola 的命令窗口中使用的命令是否有某种限制。我应该在哪里找到所有允许的命令?
我尝试使用 Modelica.Media 中的一些函数,似乎输入变量超出范围,但我尝试了很多次和不同的单位系统。我发现我不能在命令窗口中声明压力类型的变量,但Modelica.Media.Water.IF97_Utilities.h_pT()
要求我需要提供变量aspressure
和enthalpy
类型,这是我不能在命令窗口中使用该功能的原因吗?
Modelica.Media.Water.IF97_Utilities.h_pT(1e6,800,1)
Failed to expand Modelica.Media.Water.IF97_Utilities.h_props_pT(
1000000.0,
800,
Modelica.Media.Common.IF97BaseTwoPhase(
phase = 1,
region = 1,
p = 1000000.0,
T = 800.0,
h = 9.577648835649013E+20,
R = 461.526,
cp = 1.8074392528071426E+20,
cv = -3.7247229288028774E+18,
rho = 5.195917767496603E-13,
s = 1.2052984524009106E+18,
pt = 645518.9415389205,
pd = 6.693617079374418E+18,
vt = 357209983199.2206,
vp = -553368.7088215105,
x = 0.0,
dpT = 645518.9415389205
)).
Failed to expand Modelica.Media.Water.IF97_Utilities.h_pT(1000000.0, 800, 1).
解决方案
问题是你给函数一个无效的输入。根据您提供的屏幕截图和日志,Dymola 似乎没有为此提供错误消息。我在 OpenModelica 中尝试过,得到:
Modelica.Media.Water.IF97_Utilities.h_pT(100e5, 500e3)
[Modelica 4.0.0/Media/Water/IF97_Utilities.mo:2245:9-2246:77] Error: assert triggered: IF97 medium function g5: input temperature (= 500000 K) is higher than limit of 2273.15K in region 5
通过使用限制内的值,它返回一个值:
Modelica.Media.Water.IF97_Utilities.h_pT(100e5, 1e3)
推荐阅读
- automation - 在控制台应用程序中使用 MFC 类
- c - LLVM Clang 下划线链接问题
- angularjs - ng-disabled 不适用于列数据字段中的值
- php - 为什么 PHP 在数组中保存不止一种类型?
- django - Django Allauth 注册阻止登录
- jsp - 跨站点脚本 JSP(使用 cout 标签而不是 out.print)
- firebase - 使用 firebase 密码重置链接打开我的应用程序的特定屏幕
- macos - 如何通过 AppleScript 从剪贴板复制所有信息
- scala - 字符串形式的scala eval函数
- c# - 避免在 foreach 循环中等待