Opened 5 years ago
Last modified 3 years ago
#5574 new defect
Failed to solve linear system of equations because of wrong dynamic state selection
Reported by: | Owned by: | Lennart Ochel | |
---|---|---|---|
Priority: | blocker | Milestone: | 1.19.0 |
Component: | Backend | Version: | v1.13.2 |
Keywords: | linear system of equations solver | Cc: | christian@… |
Description
Dear OM-team,
I hope I have assigned correctly the solver problem to Backend.
I developed the enclosed small library about DC braking of induction machines for my lectures.
There are 4 variants / layouts:
Y3 and Y2 simulate without complaints.
D2 and D3 fail (but they simulate in Dymola 2020).
I have no idea why the linear solver fails - could be a problem of index reduction?
Please analyze the problem:
- This should improve OM quality.
- This would enable me to let students simulate the applications.
In case of any questions, do not hesitate to contact me.
Many thanks & best regards,
Anton Haumer
Attachments (1)
Change History (11)
by , 5 years ago
Attachment: | IMC_DCBraking.mo added |
---|
comment:1 by , 5 years ago
comment:2 by , 5 years ago
I tested the examples
- IMC_DCBraking.DCBraking_D2
- IMC_DCBraking.DCBraking_D3
and they both fail in the actual nightly build version
Connected to OpenModelica 1.14.0~dev-26584-gae23951 Connected to OMSimulator unknown-linux
with the old and the new frontend and the simulation flag -d=newInst
. In all cases the compilations finishes and the simulation fails.
comment:3 by , 5 years ago
Priority: | high → blocker |
---|---|
Summary: | Failed to solve linear system of equations → Failed to solve linear system of equations because of wrong dynamic state selection |
I tried the IMC_DCBraking.DCBraking_D2
example. The state selection includes four statically selected states and one dynamic state, selected in a set of cardinality two. Unfortunately, OMC won't tell me who these states are, if I turn on -d=bltdump
OMEdit crashes. Why this happens should be investigated, BTW.
I compared the solution with Dymola, which selects the same static states, and one dynamic state selected among imc.i_0_s
, imc.idq_sr[1]
, and imc.idq_sr[2]
.
At runtime, Dymola selects imc.i_0_s
as state, which keeps a value below 1e-14 for the whole simulation.
Conversely, OMC selects imc.idq_sr[2]
- I checked that the numerical values of the dynamic state and of imc.idq_sr[2]
are the same. imc.i_0_s
grows very quickly to 1e14, then the simulation stops.
It looks like
- there are some issues with the dynamic state selection (one less candidate w.r.t. Dymola)
- there are some issues with the initial selection of the active dynamics state (the selected one leads to a singularity)
Probably related to #5459 and/or #4143. @Karim, while you try to solve them, would you mind monitoring this one as well?
comment:5 by , 5 years ago
Milestone: | 1.14.0 → 1.15.0 |
---|
Releasing 1.14.0 which is stable and has many improvements w.r.t. 1.13.2.
This issue, previously marked as blocker for 1.14.0, is rescheduled to 1.15.0
comment:6 by , 5 years ago
Milestone: | 1.15.0 → 1.16.0 |
---|
Release 1.15.0 was scrapped, because replaceable support eventually turned out to be more easily implemented in 1.16.0. Hence, all 1.15.0 tickets are rescheduled to 1.16.0
comment:8 by , 4 years ago
Milestone: | 1.17.0 → 1.18.0 |
---|
Retargeted to 1.18.0 after 1.17.0-dev.beta2 release
Toni, have you tried with the latest nightly build? There's been a lot of improvements since the last official release.