首页 > 解决方案 > 如何将 Dymola 实验开始时间和停止时间作为变量引用?

问题描述

对于简单的测试模型,我通常使用类似于以下的语法:

// Assuming the start time is 0 and stop time is 1
x = xMin + (xMax - xMin) * time;
y = f(x);

无论模拟设置如何都是正确的,我想使用:

x = xMin + (xMax - xMin) * (time - startTime) / (stopTime - startTime);
y = f(x);

但是,我不确定如何引用 Simulation Setup / General 表单中定义的值。

我试过简单地引用 StartTime、startTime、starttime、timestart、timeStart 等,但没有成功。

我知道可以使用注释设置 StartTime 和 StopTime,但这些值仅在第一次打开模型时设置,因此可能无法真正反映模拟的开始时间和停止时间。

标签: modelicadymola

解决方案


目前无法访问 Dymola 内部模拟的停止时间以在模型中使用,但您可以通过以下方式获取开始时间:

  parameter Real startTime(fixed=false);
initial equation
  startTime=time;

请注意,如果您使用 Simulation>Continue>Continue,startTime则不会更新,而是继续使用其原始值。


推荐阅读