-
Notifications
You must be signed in to change notification settings - Fork 62
Prefer tearing variables with start value for initialization #3079
base: master
Are you sure you want to change the base?
Conversation
The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2019-05-07_14-31-46. |
There are two models in the testsuite that give bad results:
|
As I understand, the discussion there refers to variables that have some non-zero start attribute, no matter how it is defined. The requirement here is different: I would try to favour the choice of those variables who have a start attribute explicitly set in the model (or in one of its ancestor) by modifiers, as in the case of the electrical model mentioned in the ticket, see the source code. The rationale is that if the modeller adds such a modifier explicitly, it is because he/she wants to influence the convergence, so ignoring it in general is not a good idea, as this specific case clearly demonstrates. |
I checked the Hudson report, there are 32 failure cases. Do you mean these two are the ones where wrong simulation results are produced, while all the other ones are just different diagnostic outputs? |
Exactly. Most of the test do no longer show the warning about iteration variables without start values. It is only the two tests which produce bad results:
|
Well, this seems in fact a very positive outcome, isn't it? 😄
I'll have a look at it ASAP.
This attribute is not coming from the source code, but was added by some OMC backend step. I have currently no idea why OMC would rather avoid using a tearing variable that the modeller gave a start value, but I will check that as well. |
I had a closer look at the BLT this test case. Vector Now, according to the proposal of ticket:5458, since the whole vector However, once the BLT analysis gets to this point, the sub-vector @lochel I'm not sure why this PR should break such a case, maybe the modified algorithm in this PR tries too hard to select all the variables with start modifiers in the array, including the ones that have already been matched, and fails for that reason. No reason to do that, preferred doesn't mean mandatory. Can you please check? As to the other problematic test case, I guess the root cause of the issue is similar, please check again once the previous case has been dealt with. |
Related Issues
ticket:5458
Purpose
Prefer tearing variables with start value for initialization.