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 Lennart Ochel)

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 Adrian Pop, 9 years ago

Cc: Lennart Ochel Willi Braun added

comment:2 by Niklas Worschech, 9 years ago

Description: modified (diff)

comment:3 by Niklas Worschech, 9 years ago

Cc: Volker Waurich added

comment:4 by Volker Waurich, 9 years ago

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?

comment:5 by Lennart Ochel, 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 Willi Braun, 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 Lennart Ochel, 9 years ago

Description: modified (diff)
Owner: changed from somebody to Lennart Ochel
Status: newaccepted
Note: See TracTickets for help on using tickets.