Opened 9 years ago
Closed 7 years ago
#3440 closed defect (fixed)
Mixed system detection
Reported by: | Niklas Worschech | Owned by: | Lennart Ochel |
---|---|---|---|
Priority: | critical | Milestone: | Future |
Component: | Backend | Version: | trunk |
Keywords: | mixed system | Cc: | Nils Menager, Lennart Ochel, Willi Braun, Volker Waurich |
Description (last modified by )
Using the MSL mass with stop and friction with a force (see example below), Dymola detects a mixed system, which is handled as nonlinear system in OpenModelica. When looking at the equations, there is one linear equation, which depends on a boolean variable. Is there a mixed system detection and handling in OpenModelica?
model TestModel Modelica.Mechanics.Translational.Components.MassWithStopAndFriction massWithStopAndFriction(m=1); Modelica.Mechanics.Translational.Sources.Force force; Modelica.Blocks.Sources.Sine sine; equation connect(force.flange, massWithStopAndFriction.flange_a); connect(sine.y, force.f); end TestModel;
Change History (15)
comment:1 by , 9 years ago
Cc: | added |
---|
comment:2 by , 9 years ago
Description: | modified (diff) |
---|
comment:3 by , 9 years ago
Cc: | added |
---|
comment:4 by , 9 years ago
follow-up: 8 comment:5 by , 9 years ago
I removed the mixed systems a while back, since they were not supported anyway but caused some problems. I will come up with a proper implementation therefore, once I managed the separation of the continuous and discrete simulation.
comment:6 by , 9 years ago
Currently we assume that all systems can be solved with non-discrete iteration variables what is actually achieved by tearing methods. The mixed system flag indicate that the system has some discrete relation which should switch at events points.
comment:7 by , 9 years ago
Description: | modified (diff) |
---|---|
Owner: | changed from | to
Status: | new → accepted |
comment:8 by , 9 years ago
Replying to lochel:
Do you know how long it will take to develop the proper implementation? Because right now, unfortunately, it is not possible to simulate models with friction in an appropriate time with OpenModelica.
comment:9 by , 9 years ago
Milestone: | Future → 1.9.4 |
---|
No, sorry, it's hard to make an estimation. Anyway, I'll try to fix this for the next release.
comment:13 by , 8 years ago
Milestone: | 1.11.0 → 1.12.0 |
---|
Milestone moved to 1.12.0 due to 1.11.0 already being released.
comment:14 by , 7 years ago
Milestone: | 1.12.0 → Future |
---|
The milestone of this ticket has been reassigned to "Future".
If you think the issue is still valid and relevant for you, please select milestone 1.13.0 for back-end, code generation and run-time issues, or 2.0.0 for front-end issues.
If you are aware that the problem is no longer present, please select the milestone corresponding to the version of OMC you used to check that, and set the status to "worksforme".
In both cases, a short informative comment would be welcome.
comment:15 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
I found no function in the SimCode-generation that generates a SimCode.SES_MIXED().
It seems there is no mixed system type anymore, only SimCode.SES_NONLINEAR and SimCode.SES_LINEAR. There are Boolean attributes which say that such a SimEqSystem is mixed, but not distinction between discrete and continuous vars is available.
Is there any reason for that?