Skip to content

Pyomo+Casadi Error Cos + ContinuousSet #1612

Open
@Alves663

Description

@Alves663

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?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions