首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主仿真中的PyFMI多输入

主仿真中的PyFMI多输入
EN

Stack Overflow用户
提问于 2021-08-21 07:53:13
回答 1查看 301关注 0票数 1

我试图通过使用Master来模拟两个FMU,其中一个将输入作为CSV文件。我尝试了以下几点:

代码语言:javascript
复制
from pyfmi import load_fmu
from pyfmi import Master
import pandas as pd

electricity_network = load_fmu(r"C:\Users\kosmy\Pandapower_Reduced.fmu")
pv = load_fmu(r"C:\Users\kosmy\Photovoltaics.Model.PVandWeather_simple.fmu")

load_file = r"C:\Users\kosmy\load_prof_sec_res.csv"
load = pd.read_csv(load_file)

models = [electricity_network, pv] 

connections = [(pv, "P_MW", electricity_network, "P_pv1"),
               (pv, "P_MW", electricity_network, "P_pv2")]

master_simulator = Master(models, connections)

input_object = [((electricity_network, 'P_load1'), load), 
                ((electricity_network, 'P_load2'), load)]
 
res = master_simulator.simulate(final_time = 86400, input = input_object)

我得到了以下错误:

代码语言:javascript
复制
Traceback (most recent call last):

  File "C:\Users\kosmy\run_csv_pyfmi.py", line 29, in <module>
    res = master_simulator.simulate(final_time = 86400, input = input_object)

  File "src\pyfmi\master.pyx", line 1474, in pyfmi.master.Master.simulate

  File "src\pyfmi\master.pyx", line 1369, in pyfmi.master.Master.specify_external_input

TypeError: tuple indices must be integers or slices, not tuple

显然,我没有给输入正确的格式,但我还没有找到一个示例来演示使用Master时的正确格式。

在这种情况下,有人知道如何使用输入吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-01 14:19:11

代码语言:javascript
复制
def load(t):
    return 10, math.cos(t)

input_object = ([(electricity_network, 'P_load1'),(electricity_network, 'P_load2')],load)

另一个选择是

代码语言:javascript
复制
data = np.transpose(np.vstack((t,u,v)))
input_object = (['InputVarI','InputVarP'],data)

error while creating a 2-tuple as input for model.simulate() of fmu model with pyfmi

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

https://stackoverflow.com/questions/68871151

复制
相关文章

相似问题

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