title: Pyomo.dae - Solving a system of DAEs with Casadi solver
body: <p>i am trying to solve a system of DAE using pyomo.
  This is a toy example</p>
  <pre class="lang-py prettyprint-override"><code>from pyomo.environ import *
  from pyomo.dae import *
  
  m = ConcreteModel()
  
  m.r = ContinuousSet(bounds = (0., 1.))
  m.t = ContinuousSet(bounds = (0., 5.))
  m.c = Var(m.r, m.t)
  m.dcdt = DerivativeVar(m.c, wrt = m.t)
  
  discretizer = TransformationFactory('dae.finite_difference')
  discretizer.apply_to(m, nfe=20, wrt = m.r, scheme = 'BACKWARD')
  
  # setting initial conditions
  m.c[:, 0].fix(5)
  
  def _dae_rule(m, r, t):
      return 0 == - m.c[r, t] - m.dcdt[r, t] # note that rewriting to ODE is not desired
  
  m.ode = Constraint(m.r, m.t, rule = _dae_rule)
  
  sim = Simulator(m, package = &quot;casadi&quot;)
  tsim, profiles = sim.simulate(numpoints=100, integrator=&quot;idas&quot;)
  
  </code></pre>
  <p>Unfortunately, execution leads to the error message</p>
  <pre><code>DAE_Error: Currently the simulator may only be applied to Pyomo models with a single ContinuousSet
  </code></pre>
  <p>How so? Only <code>m.t</code> is a ContinuousSet?</p>
  <p>Manually deleting the ContinuousSet, instead using a DiscreteSet in the first place yields the error message</p>
  <pre><code>DAE_Error: Cannot simulate a differential equation with multiple DerivativeVars
  </code></pre>
  <p>I don't understand. Every equation only depends on its own derivative?</p>
  <p>Also, if i were to also discretize <code>m.t</code> can i then use any alternative solver that might work?</p>
  <p>Thank you very much :)</p>