首页 > 解决方案 > 如何使用 Dymola 命令窗口中的功能?

问题描述

我正在使用 Dymola,并尝试在命令窗口中使用 Modelica 标准库提供的函数,但似乎无法使用它们,也无法声明特定类型的变量。我想知道我可以在 Dymola 的命令窗口中使用的命令是否有某种限制。我应该在哪里找到所有允许的命令?

在此处输入图像描述

我尝试使用 Modelica.Media 中的一些函数,似乎输入变量超出范围,但我尝试了很多次和不同的单位系统。我发现我不能在命令窗口中声明压力类型的变量,但Modelica.Media.Water.IF97_Utilities.h_pT()要求我需要提供变量aspressureenthalpy类型,这是我不能在命令窗口中使用该功能的原因吗?

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).

在此处输入图像描述

在此处输入图像描述

标签: modelicadymola

解决方案


问题是你给函数一个无效的输入。根据您提供的屏幕截图和日志,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)

推荐阅读