1

我想在 Modelica 中创建一个新的中型模型。所有介质模型都有一个类型温度,具有最小值、最大值、开始和标称属性。我想将最低温度设置为存储在其中的值fluidLimits.TMIN(这是 FluidLimits 记录的一个实例),但我总是收到警告,指出 min 属性被忽略,因为它具有非文字值。写作min=Modelica.Constants.small反而有效。请参阅下面我的中型模型定义的第一行:

partial package SomeMediumModel
  extends Modelica.Media.Interfaces.PartialTwoPhaseMedium(
    Temperature(min=fluidLimits.TMIN, max=600));

  constant FluidLimits fluidLimits;
  ...
end SomeMediumModel;

是否有如何使用 FluidLimits 记录的示例?为了使 min 接受来自 fluidLimits.TMIN 的值,我必须进行哪些更改?

4

1 回答 1

1

我不太确定为什么这不起作用。在我看来它应该起作用,因为它fluidLimits是一个常数。我猜FluidLimits是记录?

这似乎是一个潜在的错误。我会把它报告给你的工具供应商,看看他们怎么说。与此同时,一个潜在的解决方法是定义一个这样的

partial package SomeMediumModel
  extends Modelica.Media.Interfaces.PartialTwoPhaseMedium(
    Temperature(min=FluidLimitsPackage.TMIN, max=600));

  package FluidLimitsPackage
    constant Modelica.Constants.Temperature TMIN=275;
  end FluidLimitsPackage;
  ...
end SomeMediumModel;

我怀疑您遇到的问题是该工具无法识别这确实是一个常数。这种方法(未经测试,顺便说一句)可能会解决这个问题。但无论如何,您绝对应该将其报告给您的工具供应商,以确保他们知道这一点。

于 2011-08-03T14:37:55.023 回答