我尝试模拟一个拥有约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。
这是什么意思?
答案 0 :(得分:0)
根据我的测试,你不能在一个模型中使用超过2000个延迟块(我与Modelica.Blocks.Nonlinear.FixedDelay
一起使用)。您的消费者模型是否依赖于延迟块?在这种情况下,达到此限制是有意义的。
我不知道改变这个限制的方法,我的猜测是它在某个地方是硬编码的。因此,如果可能的话,您可能需要更改模型以减少延迟。
简短说明:我使用了一个非常简单的测试模型,当使用1000个延迟块范围内的东西时,它给我带来了非常糟糕的性能。所以我认为性能方面是这个限制的原因。因此,无论如何重新制作模型都是有意义的 - 至少在性能方面......