如何在modelica中隐藏接口的结果?



我运行了一个由几个接口(热端口)组成的块的模型。端口的尺寸是可变的,有时可以达到20x20…当我运行模拟时,计算被执行(很慢),但最糟糕的部分是当模拟完成时,必须准备所有的数据(结果).

在结果列表中有每个接口的20x20 !这需要几分钟才能出现。我不需要知道端口的值,我想隐藏它。

我试过了:

  • Modelica.Thermal.HeatTransfer.Interfaces。HeatPort_a F6[Nw, Nh] annotation(HideResult = true,)放置(可见= true,变换(原点={120,-94},范围={{-10,-10},{10,10}},旋转= 0),iconTransformation(原点={150,120},范围={{-10,-10},{10,10}},旋转= 0));

但是它仍然显示结果…

而且,我不能使用">protected";因为我需要在全局模型中访问端口,而且还需要访问计算块的一些变量。

你有什么解决办法吗?

谢谢你的帮助:)

HideResult注释正是为了这个目的。

我在OpenModelica v1.19.2中尝试了一个最小的例子,结果与预期的一样。

model HideResult
Real public_var = 1;
Real hidden_var = 2 annotation(HideResult=true );
equation
end HideResult;

我猜你的问题与热端口的阵列定义有关。您可以将HideResult注释应用于连接器定义中的单个变量。

这意味着定义您自己的连接器类并在那里应用注释。

如果您保持其他一切不变(变量的类型和名称),您的自定义连接器是100%兼容的。

最新更新