在OpenModelica的结果变量浏览器中看到的StateSet变量的目的是什么

时间:2019-02-24 10:42:00

标签: modelica openmodelica

当我模拟下面的模型时,我得到了标记为$STATESET1的其他变量,这些变量显然是自动生成的。

从用户的角度来看,这些变量的目的是什么?通常,我只对解决方案感兴趣,而不对特定解决方案所实现的特定策略感兴趣,对吗?因此,这难道不是仅当打开某种类型的模型调试而不是普通OpenModelica用户可以利用的东西时才输出的东西吗?如果存在多个“状态集”(例如$STATESET1$STATESET2),该怎么办:给定通用名称,我应该如何知道这些变量与模型之间的关系?更具体地说,$STATESET1.x[:]是什么?原始模型或展平模型中的任何内容均未对此有所提示。

model StateSetTest
  import SI = Modelica.SIunits;
  Real[3] q(start = zeros(3), each fixed = true);
  Real q4(start = 1);
  Real[3] w(start = zeros(3), each fixed = true);
  SI.Torque[3] TResult;
equation
  q * q + q4 * q4 = 1;
  w = 2.0 * (q4 * der(q) - der(q4) * q - cross(der(q), q));
  der(w) = TResult;
  TResult = zeros(3);
end StateSetTest;

enter image description here

1 个答案:

答案 0 :(得分:3)

它们用于动态状态选择,即在仿真过程中更改状态。是的,用户并不是真正需要它们。我想我们可以从OMEdit中过滤掉它们。我将为此开张罚单。