Opened 10 years ago

Closed 10 years ago

Last modified 7 years ago

#3081 closed defect (fixed)

Inverse solving of algorithms

Reported by: Lennart Ochel Owned by: Lennart Ochel
Priority: high Milestone: 1.9.4
Component: Backend Version: trunk
Keywords: Cc:

Description (last modified by Lennart Ochel)

There is one model in the test suite that cannot get initialized with the symbolic initialization, since there is no support for inverse solving of algorithms:

testsuite/openmodelica/modelicaML/watchdog.mos

The following model can be used as simplified test case:

model A
  Real x, y, z;
  Real der_x, der_y, der_z;
equation
  der_x = der(x) + 1;
  der_y = der(y) + 2;
  der_z = der(z) + 3;
initial equation
  der(x) = 0;
  der(y) = 0.5;
  der(z) = 0;
algorithm
  der_x := x;
  der_y := der_x + y;
  der_z := der_y + z;
end A;

The output is the following:

Error: Internal error Inverse Algorithm needs to be solved for {y,z,x} in 
algorithm
  der_x := x;
  der_y := der_x + y;
  der_z := der_y + z;
This has not been implemented yet.
Error: Internal error function createSingleAlgorithmCode failed!
Error: Internal error function createOdeSystem failed for component Algorithm 4 {7, 5, 9}
Error: Internal error function createEquationsForSystem1 failed for component Algorithm 4 {7, 5, 9}
Warning: No system for the symbolic initialization was generated. A method using numerical algorithms will be used instead.

Change History (5)

comment:1 by Lennart Ochel, 10 years ago

Description: modified (diff)

comment:2 by Lennart Ochel, 10 years ago

Status: newaccepted

comment:3 by Lennart Ochel, 10 years ago

Resolution: fixed
Status: acceptedclosed

Fixed with pull request #77.

comment:4 by Dietmar Winkler, 9 years ago

Milestone: Futurepre1.9.4

It doesn't make sense to keep closed ticket in the "Future" milestone that were simply forgotten to assign to the correct milestone in the past.

comment:5 by Martin Sjölund, 7 years ago

Milestone: pre1.9.41.9.4

Removing the pre1.9.4 milestone in favor of 1.9.4.

Note: See TracTickets for help on using tickets.