Opened 8 years ago
Last modified 8 years ago
#4418 new defect
Incorrect results are obtained if the residual is insensitive to the tear variables
Reported by: | Owned by: | somebody | |
---|---|---|---|
Priority: | high | Milestone: | Future |
Component: | *unknown* | Version: | v1.11.0 |
Keywords: | Cc: | Patrick Täuber |
Description (last modified by )
Similar to ticket:4416 but the underlying causes are different, and the tool also shows slightly different behavior.
Incorrect results are obtained if the residual is insensitive 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_2.mo
An in-depth discussion why this is happening is given in Section 3.2 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 in the end that everything went OK, even though many variables have rubbish values. It did emit some obscure warnings during the intermediate computations. The warnings hardly tell anything to non-experts.
You cannot fix this in the traditional setup. As with ticket 4416, 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 (2)
comment:1 by , 8 years ago
Cc: | added |
---|
comment:2 by , 8 years ago
Description: | modified (diff) |
---|