Modelica 达到系统稳定状态时测试的全局测量

Modelica 达到系统稳定状态时测试的全局测量,modelica,dymola,openmodelica,Modelica,Dymola,Openmodelica,当我盯着屏幕上慢慢向右移动的蓝色小线看的时候,我开始想,在Dymola/OpenModelica中有一个功能会很好(如果它还不存在的话) 我想到的特性将监视系统的行为,并在达到稳定状态时报告,或者在达到稳定状态时终止模拟。我想这可以用来监控所有状态变量的导数,以及当它们都等于零时(在用户定义的公差范围内)。显然,对于简单的模型,这可以由用户完成,但对于复杂的模型,这需要一个“幕后”的自动化功能 我可以想到几个用例: 当您想要生成用于重新启动另一个模拟的稳定状态解决方案时,这将避免需要模拟很长时间

当我盯着屏幕上慢慢向右移动的蓝色小线看的时候,我开始想,在Dymola/OpenModelica中有一个功能会很好(如果它还不存在的话)

我想到的特性将监视系统的行为,并在达到稳定状态时报告,或者在达到稳定状态时终止模拟。我想这可以用来监控所有状态变量的导数,以及当它们都等于零时(在用户定义的公差范围内)。显然,对于简单的模型,这可以由用户完成,但对于复杂的模型,这需要一个“幕后”的自动化功能

我可以想到几个用例:

  • 当您想要生成用于重新启动另一个模拟的稳定状态解决方案时,这将避免需要模拟很长时间,并且假设您模拟的时间足够长
  • 如果有一个函数/变量等,比如解决方案中内置的时间,那么模型可能会引用该变量来增加打开/关闭行为的延迟,例如控制器逻辑,在达到稳定状态之前,您不希望打开该逻辑
  • 这似乎是一个相当简单的功能,但可能非常有用


    像这样的功能存在吗?或者你能想出好的理由来解释为什么它不存在/不应该存在吗?

    据我所知,OpenModelica中还没有这种功能,但听起来很容易实现。我开了一张罚单,等我们有时间实施时再看:

    感谢您的回复!第一点已经由我们的一位后端/运行时开发人员实现,您可以从明天开始在夜间构建中使用它。OM开发社区给我留下了深刻的印象!拇指仰卧起坐