Open
Description
I want to use Pyomo + Casadi to simulate an ODE system. The problem is that my ODE has a cosine of a continuous set.
m.x = ContinuousSet(bounds=(0,100))
m.y = Var(bounds=(0,100))
m.px = Var(m.x,bounds = (200000,500000))
m.dpdx = DerivativeVar(m.px,wrt=m.x,initialize=0)
m.y.fix(1)
m.px[0].fix(1)
def ODE_rule(m,x):
return m.dpdx[x] == m.y*m.px[x] + cos(x) - m.y*sin(x)
m.drop_pressure = Constraint(m.x,rule=ODE_rule)
sim = Simulator(m, package='casadi')
tsim, profiles = sim.simulate(numpoints=200,integrator = 'idas')
If I use Scipy the simulator works but if I use Casadi it gives me an error:
TemplateExpressionError: Evaluating uninitialized IndexTemplate ({x})
I need to use Casadi because I have algebraic equations in my model. Somebody could help me?