Opened 9 years ago
Last modified 7 years ago
#3440 closed defect
Mixed system detection — at Version 7
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 (7)
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
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 |
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?