Opened 8 years ago

Last modified 8 years ago

#4416 new defect

Incorrect results are obtained if the residual is overly sensitive to the tear variables.

Reported by: Ali Baharev <ali.baharev@…> Owned by: somebody
Priority: high Milestone: Future
Component: *unknown* Version: v1.11.0
Keywords: Cc: Patrick Täuber

Description

Incorrect results are obtained if the residual is overly sensitive to the tear variables. An example triggering this behavior is available at:

https://github.com/baharev/failure-modes-of-tearing/blob/master/tearing_enabled/example_1.mo

An in-depth discussion why this is happening is given in Section 3.1 of

https://github.com/baharev/failure-modes-of-tearing/blob/master/failure_modes_of_tearing.pdf

Note that OpenModelica must fail on this example; that is just unavoidable. The issue here is that OpenModelica does not recognize that it has failed, and incorrectly claims that everything went OK, even though many variables have completely rubbish values.

You cannot fix this in the traditional setup. Probably the best thing to do is to substitute the solution vector back into the original system, and check whether the original system is satisfied too. If not, stop and report failure, and tell the user to turn off tearing, and use sparse linear algebra instead.

I am available for discussion in person at the 12th International Modelica Conference 2017; I will stay at the Clarion Congress Hotel.

Change History (1)

comment:1 by Lennart Ochel, 8 years ago

Cc: Patrick Täuber added
Note: See TracTickets for help on using tickets.