没有更多的延迟记忆 - 这是什么意思?

时间:2018-06-19 07:57:32

标签: dymola

我尝试模拟一个拥有约200名消费者的区域供热系统。可以模拟115没有错误,但将消费者数量增加到230给我错误信息:

The following error was detected at time: 0
The maximum number of delays (= 2000) is reached.
No more delay memory is available

FixInitials:Init

我正在使用容差为1e-6的CVODE。

这是什么意思?

1 个答案:

答案 0 :(得分:0)

根据我的测试,你不能在一个模型中使用超过2000个延迟块(我与Modelica.Blocks.Nonlinear.FixedDelay一起使用)。您的消费者模型是否依赖于延迟块?在这种情况下,达到此限制是有意义的。

我不知道改变这个限制的方法,我的猜测是它在某个地方是硬编码的。因此,如果可能的话,您可能需要更改模型以减少延迟。

简短说明:我使用了一个非常简单的测试模型,当使用1000个延迟块范围内的东西时,它给我带来了非常糟糕的性能。所以我认为性能方面是这个限制的原因。因此,无论如何重新制作模型都是有意义的 - 至少在性能方面......

相关问题