我在 Jupyter 笔记本中使用 pyfmi 来运行模拟,我喜欢以交互方式工作并评估参数等的增量变化。很久以前,我发现有必要引入一个字典,作为参数和初始值的“容器”。现在我想知道是否有一种方法可以摆脱这个“容器”,毕竟它在一定程度上是“模型”的平行结构?
典型的工作流程如下所示:
create a diagram where results from different simulations below should be shown
model = load_fmu(fmu_model)
parDict['model.x_0'] = 1
parDict['model.a'] = 2
for key in parDict.keys(): model.set(key,parDict[key])
sim_res = model.simulate(10)
plot results...
model = load_fmu(fmu_model)
parDict['model.x_0'] = 3
for key in parDict.keys(): model.set(key,parDict[key])
sim_res = model.simulate(10)
plot results...
有一个函数 model.reset() 可以在编译时将状态恢复为默认值而无需再次加载,但您需要做的不仅仅是以下操作
model.reset()
parDict['model.x_0'] = 3
for key in parDict.keys(): model.set(key,parDict[key])
sim_res = model.simulate(10)
plot results...
所以,这是行不通的……在所有参数和初始值都需要恢复之后,我们仍然需要 parDict,但我们可以避免使用 load-command。