一些普通的Modelica建议?
我们已经建立了一个模型,其中包含〜2000个方程和三个来自测量数据的输入矢量。使用OpenModelica,模拟的尝试已经开始在翻译阶段(它运行了几个小时,过去不到一分钟),现在我经常“失去与omc.exe的连接”。是否有可能出现累积性降低翻译/编译性能的事情?
一般来说,有没有什么好的经验法则可以让模拟更轻更快?我意识到,根据耦合,附加的方程式可以指数地增加所得方程组的大小 - 这可能是一个问题吗?
感谢您的想法!
答案 0 :(得分:1)
不应该花那么长时间。好像是一个bug。 您可以在此处报告此错误: https://trac.openmodelica.org/OpenModelica(新票)。 如果您的模型是公开的,您可以将其发布到那里,否则您可以私下联系OpenModelica团队。
答案 1 :(得分:0)
我在代码中做了一些清理工作;并将重复12x(模块)的部分降低到~180个方程;在这个过程中,我减少了输入向量的大小(以及模块所指的2D查找表)相当多 - 它们都降低到几百个值。它现在正在工作 - 模拟在合理的时间内运行,每次运行几分钟。
由于所有这些表都是在Modelica函数中定义的(正如您所指出的,Tiller先生)可能缩小它们有助于提高性能。我假设所有的数据都只是在一个存储器阵列中传播而没有经过任何实际处理,但也许情况并非如此......时间更多地了解在在这种环境下(一如既往)。
感谢您的帮助!