影响翻译时间的因素

Sco*_*t G 5 modelica

我遇到了开发模型的问题,其中翻译时间(快速模拟但翻译时间太长)已经成为一个严重的问题,并且可以使用一些见解,所以我可以考虑解决这个问题.

所以问题是:

影响模型翻译时间和解决问题的想法有哪些主要因素?

例如,可能产生影响的事情:

  • for 循环vs矢量化方法 - 测试它的基本模型似乎没有影响任何东西
  • 使用input变量与参数
  • 注释的影响(例如Evaluate=true)
  • 或者运气不好,这是依赖工具的(Dymola,OMEdit等):(
  • 使用许多connect()- 这似乎是一个因素(也许是主要因素),因为它迫使翻译人员完成所有繁重的工作

非常感谢任何见解.

Sco*_*t G 1

如果自然开放式的话,显然这个问题的答案。当计算时间可能成为一个因素时,需要考虑很多事情。

对于分布式模型(例如,有限差分),使用简单模型然后使用connect方程以适当的顺序链接它们并不是生成模型的最佳方法。经验表明,这种方法会显着地将翻译时间延长到难以忍受的程度。最好使用与 MSL 动态管道相同的方法创建分布式模型(不完全一样,但类似)。

connect当分布式元素的数量增加到更大的数量时,改变所描述的方法在转换时间(较大模型的数量级,>~100,000 个方程)上比使用语句要快得多。这是使用 Dymola 2017 和 2017FD01 进行测试的。

其他人指出的一些可能有助于获取更多信息的相关材料如下: