首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PyFMI加载多个模型

使用PyFMI加载多个模型
EN

Stack Overflow用户
提问于 2014-09-23 23:55:00
回答 1查看 476关注 0票数 3

我正在尝试使用pyfmi在主算法中实例化几个模拟从站。

例如:

代码语言:javascript
复制
models = []
for path in fmuList:
    models.append(pyfmi.load_fmu(path))

我得到的问题是,最终会引发一个异常:

代码语言:javascript
复制
***FMUException: Failed to instantiate slave.

pdb跟踪调试器中调用相同的for循环我看到每个模型都被成功加载,但是,每个模型都被加载到内存中的相同位置。例如:

代码语言:javascript
复制
<pyfmi.fmi.FMUModelCS1 object at 1xxxxxxxxx>
<pyfmi.fmi.FMUModelCS1 object at 1xxxxxxxxx>
...

如何使用pyfmi正确实例化多个FMU?

EN

回答 1

Stack Overflow用户

发布于 2020-02-03 16:18:38

我也有同样的问题。pyfmi似乎无法更改工作目录,因此不同的模型使用具有相同套接字和变量文件的相同文件夹'Output_EPExport_Slave‘。您必须手动更改工作目录。

请改用:

代码语言:javascript
复制
from   os                            import chdir
from   pyfmi                         import load_fmu
fmus        = {}
for id in id_list:
    chdir(fmu_path+str(id))
    fmus[id]  = load_fmu('f_' + str(id)+'.fmu',fmu_path+str(id))
    fmus[id].initialize(start_time,final_time)

这样,调用模型也更容易。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25999554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档