如何在 Dymola 的脚本文件中使用多线程?

Mar*_*vel 1 modelica dymola

我试图在Dymola中使用.mos文件进行多次模拟,因此我使用了for循环,但是它无法在我的计算机上打开多线程,我想问是否有一个函数可以让我在 .mos 文件中打开多线程?我已经知道“扫描参数”可以打开多线程,但我想使用.mos文件,因为我需要在几个不同的模型上进行模拟,而我只能在一个模型上使用“扫描参数”?

在此输入图像描述

Mar*_* A. 5

我不认为 .mos 文件可以实现多线程/并行化,就像 Python(MultithreadingExample.py在“完整用户手册”中查找)或 Java(在“完整用户手册”中查找MultithreadingExample.java)一样。

但有一个函数可以做你想做的事:simulateMultiResultsModel。Dymola 用户手册中对其进行了更详细的描述(请参阅“Dymola 中的内置功能”部分)。最重要的一段说:

默认情况下,该函数在 CPU 的多个内核上并行运行模拟。默认情况下,使用所有核心,但如果需要,可以通过设置 flag 来指定并行运行的数量Advanced.ParallelSimulations。默认值为 0,表示使用所有核心。将其设置为 1 将禁用并行化;因为它只能在一个核心上运行

  • 具体来说,这种情况下的调用将是:simulateMultiResultsModel(“solar1....”,initialNames = {“step.height”},initialValues = [1:15]) (2认同)
  • 感谢您的补充,非常有帮助。一些吹毛求疵:我认为应该是simulateMultiResultsModel("solar1....",initialNames={"step.height"},initialValues=[1:5])... (2认同)