Modelica 如何正确更改模型文本的输出间隔

Modelica 如何正确更改模型文本的输出间隔,modelica,openmodelica,Modelica,Openmodelica,当我在模型中引入注释来设置输出间隔时,这些设置似乎只是第一次在OpenModelica会话中模拟模型。例如,如果我创建这个模型 model IntervalTest Real y(start = 1, fixed = true); Real v(start = 1, fixed = true); equation der(y) = v; der(v) = -100 * y; annotation( experiment(StartTime = 0, StopTime

当我在模型中引入注释来设置输出间隔时,这些设置似乎只是第一次在OpenModelica会话中模拟模型。例如,如果我创建这个模型

model IntervalTest
  Real y(start = 1, fixed = true);
  Real v(start = 1, fixed = true);
equation
  der(y) = v;
  der(v) = -100 * y;
  annotation(
    experiment(StartTime = 0, StopTime = 67, Tolerance = 1e-06, Interval = 0.01),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", outputFormat = "mat", s = "dassl"));
end IntervalTest;
并首次模拟,输出间隔正确设置为10毫秒。但是当我将
Interval
更改为0.001时,保存模型并进行模拟,输出间隔保持在10ms。无论是关闭所有结果和打印窗口,还是关闭模型窗口,甚至从OpenModelica卸载整个项目文件并随后重新加载,都不会将输出间隔更改为我在模型中设置的值

只有在关闭OpenModelica并重新打开它之后,才会遵守新的输出间隔。当然,在使用“模拟设置”对话框时,可以手动更改输出间隔,但我很少想使用它,因为它不是永久性的


那么,从模型文本中立即更改模拟设置的正确方法是什么?如果我在模型文本中将上述振荡器模型的刚度值从100更改为25(
der(v)=…
),则模拟结果将相应更改(即,更改为振荡器频率的一半),但如果我使用
间隔
执行相同操作,则不会更改。我是否误解了
注释背后的逻辑?

此问题现已解决。请参阅。

这似乎是一个bug。你能帮我开张罚单吗?这样我就不会忘记修好了。你的票单看起来很不错…;-)我希望我能帮助,但我的C++知识已经变得有点生锈多年。