Opened 7 years ago

#4560 new defect

BackendDAE.adjacencyRowEnhanced fails with array function

Reported by: Willi Braun Owned by: Lennart Ochel
Priority: high Milestone: Future
Component: Backend Version:
Keywords: Cc:

Description

loadString("
package ticket4545
  model Test_vector
    Real x[2](each start = 0, each fixed = true);
    discrete Real u[2](each start = 0, each fixed = true);
    Real y[2];
    Real d;
function f
  input Real x[2];
  input Real y1;
  input Real y2;
  output Real outA[2];
  output Real out;
algorithm
  for i in 1:2 loop
    outA[i] := 3*x[i] - y1*y2;
   end for;
  out := sum(outA);
end f;
  equation
    for i in 1:2 loop
      der(x[i]) = u[i]+y[i];
      y[i] = 0.5*x[i];
    end for;
  algorithm
    (u, d) := f(x, y[1], y[2]);
    when sample(0,1) then
      for i in 1:2 loop
        u[i] := u[i] - y[i];
      end for;
    end when;
  end Test_vector;
end ticket4545;
");
getErrorString();

simulate(ticket4545.Test_vector);
getErrorString();

ErrorString:

"Notification: It was not possible to check the given initialization system for consistency symbolically, because the relevant equations are part of an algebraic loop. This is not supported yet.
Error: Internal error BackendDAE.adjacencyRowEnhanced failed for eqn:
algorithm
  (u, d) := ticket4545.Test_vector.f({x[1], x[2]}, y[1], y[2]);
  $whenCondition1 := false;
Error: Internal error BackendDAEUtil.getAdjacencyMatrixEnhancedScalar failed

Change History (0)

Note: See TracTickets for help on using tickets.