Opened 7 years ago

Last modified 5 years ago

#4143 assigned defect

Initialization of systems with dynamic state selection is not handled properly

Reported by: casella Owned by: Karim.Abdelhak
Priority: blocker Milestone: 2.0.0
Component: Backend Version:
Keywords: Cc:

Description

Lennart Ochel wrote me:

There is no approach in OpenModelica to select properly the initial states for the state sets yet [for the initialization of dynamic state selection]. Right now we choose the states randomly that are used for the initialization phase.

This should be fixed for the 2.0.0 release.

Attachments (1)

TestDynamicSelection.mo (722 bytes) - added by casella 5 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 7 years ago by casella

In the meantime while a proper solution is found for this issue, in case of failure couldn't we just re-try with some other random choice for a certain number of attempts? That would already be much better than an one-shot try

comment:2 Changed 6 years ago by casella

  • Owner changed from lochel to Karim.Abdelhak
  • Status changed from new to assigned

Karim has some ideas, will discuss them with Willi and Bernhard

comment:3 Changed 5 years ago by casella

@Karim, could you post a comment here with an update on the status of this issue?

Thanks!

comment:4 Changed 5 years ago by Karim.Abdelhak

An alpha version for better initialization of models with dynamic state selection is available via the flag "--initialStateSelection", currently only working for C. Is there a model for which it can be tested?

Changed 5 years ago by casella

comment:5 Changed 5 years ago by casella

The attached models are textbook examples - when the point mass is close to the x-axis, one should use y and vy as states, while x and vx should be used when close to the y-axis.

It seems that the current runtime can already select the right initial state in both cases, of course I couldn't easily find a case that fails (Murphy's law).

comment:6 Changed 5 years ago by casella

See also #5574

Note: See TracTickets for help on using tickets.