我以前也遇到过类似的问题,Dymola FMUs,我最好的猜测是某些东西没有正确卸载,最终导致问题。
我建议您将代码更改为:
model = load_fmu("MOdel_0IV_0curves.fmu")## LOAD THE FMU
def fun2optim(theta):## Funtion to optimize with the initial guess of paramameter values theta
global model
model.reset()
res = model.simulate(input=foo(theta),final_time=1)
results_VV=np.array([]) ###SAVE THE OUTPUT IN ARRAY
for i in range(200,400):
out=(res[output_IV[i]])
results=out[0::5] #Dymola FMU has 5 same IV curve points
results_VV=np.append(results_VV,results)
return(results_VV)
这样就不会每次都重新加载FMU(只需重置它),这也会提高性能。