我想在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的值,我需要更改什么?
答案 0 :(得分: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;
我怀疑你遇到的问题是该工具无法识别出这是一个真正的常量。这种方法(未经测试,BTW)可能会解决这个问题。但无论如何,您绝对应该向您的工具供应商报告,以确保他们了解它。