首页 > 解决方案 > 如何正确更改模型文本的输出间隔

问题描述

当我在模型中包含用于设置输出间隔的注释时,这些设置似乎仅在第一次在 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)=...Interval我误解了背后的逻辑annotations吗?

标签: modelicaopenmodelica

解决方案


此问题现已修复。请参阅https://trac.openmodelica.org/OpenModelica/ticket/5359


推荐阅读