Gekko и CoolProp

Я использую GEKKO и CoolProp для моделирования тепловых систем. При попытке использовать функции CoolProp в уравнениях модели (как показано ниже для изоэнтропического расширения) я получаю сообщение об ошибке относительно типа переменной: должно быть действительное число, а не GKVariable. Может ли кто-нибудь помочь мне с этой проблемой?

from gekko import GEKKO
import CoolProp.CoolProp as CP 
#
p1 = 2e5
T1 = 300.0 + 273.15
p2 = 1e5
eta = 0.80
fluid = 'H2O'
#
h1 = CP.PropsSI('H','T',T1,'P',p1,fluid)
s1 = CP.PropsSI('S','T',T1,'P',p1,fluid)
#
m = GEKKO()
h2 = m.Var()
h2s = m.Var()
T2 = m.Var()
#
m.Equation(eta * (h1 - h2) - (h1 - h2s) == 0)
m.Equation(h2s - CP.PropsSI('H','S',s1,'P',p2,fluid) == 0)
m.Equation(h2 - CP.PropsSI('H','T',T2,'P',p2,fluid) == 0)
#
m.options.IMODE = 1  #Steady state
m.options.SOLVER = 3 # solver (IPOPT) 
m.solve(disp=False)
#
print(T2.value[0])

Заранее спасибо.


person Rafael Barbosa    schedule 10.07.2020    source источник


Ответы (1)