在不影响状态选择的情况下集成 Modelica 变量

integrate Modelica variable without influencing state selection

我想随时间积分一个 Modelica 变量,只是为了方便绘图和 post-处理。我想要随时间积分的变量是压缩机的功率,以便我获得总能量。第一个想法是添加这些行:

Modelica.Units.SI.Power P_comp;
Modelica.Units.SI.Energy E_comp;
equation
P_comp = der(E_comp);

这是推荐的方法,还是有(更好的?)替代方法?预计会影响动态状态的选择吗?

假设这两行是唯一使用 E_comp 的行。

基本上 E_comp 将成为它自己独立的状态选择块的一部分,并且那里的更改不应影响任何其他内容。

但是,状态选择由许多算法和试探法组成,因此很难正式保证任何更改都不会影响它。 我可以想象一些奇怪的可能性会打破这个,但我认为没有人实现它们 - 我没有看到它们的用例(除了像这样搞砸的情况)。

如果你不是积分而是想要区分一个信号,它会更加混乱。