﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
2178	non-linear sytem solver failed	Christian Schubert	Willi Braun	"Hi, 

we'll probably get a new company using OpenModelica if we can get the model attached to simulate properly.
It is a simple circuit made from components from Modelica.Electrical.Analog and Modelica.Blocks.
Currently it fails, solving a non-linear system when a step input is applied. The non-linear system in question is a combination of a hysteresis-block and an ideal switch.

This is what the system looks like:
{{{
torn nonlinear Equationsystem:
1: output  DC1_2.hysteresis.y:DISCRETE() .Transrech.Versuche.SprungRunter.mitBremsChopper, .Transrech.Modell, .Modelica.Blocks.Logical.Hysteresis, .Modelica.Blocks.Interfaces.BooleanOutput type: Boolean 
2: output  DC1_2.and1.y:DISCRETE()  ""Connector of Boolean output signal"".Transrech.Versuche.SprungRunter.mitBremsChopper, .Transrech.Modell, .Modelica.Blocks.Logical.And, .Modelica.Blocks.Interfaces.BooleanOutput type: Boolean 
3:  DC1_2.R2.v:VARIABLE()  ""Voltage drop between the two pins (= p.v - n.v)"".Transrech.Versuche.SprungRunter.mitBremsChopper, .Transrech.Modell, .Modelica.Electrical.Analog.Basic.Resistor, .Modelica.SIunits.Voltage type: Real 
4:  DC1_2.R2.i:VARIABLE()  ""Current flowing from pin p to pin n"".Transrech.Versuche.SprungRunter.mitBremsChopper, .Transrech.Modell, .Modelica.Electrical.Analog.Basic.Resistor, .Modelica.SIunits.Current type: Real 
5:  DC1_2.idealClosingSwitch.i:VARIABLE()  ""Current flowing from pin p to pin n"".Transrech.Versuche.SprungRunter.mitBremsChopper, .Transrech.Modell, .Modelica.Electrical.Analog.Ideal.IdealClosingSwitch, .Modelica.SIunits.Current type: Real 
1:  DC1_2.I_L.v:VARIABLE()  ""Voltage drop between the two pins (= p.v - n.v)"".Transrech.Versuche.SprungRunter.mitBremsChopper, .Transrech.Modell, .Modelica.Electrical.Analog.Sources.SignalCurrent, .Modelica.SIunits.Voltage type: Real 
2:  DC1_2.idealClosingSwitch.s:VARIABLE(protected = true )  ""Auxiliary variable"".Transrech.Versuche.SprungRunter.mitBremsChopper, .Transrech.Modell, .Modelica.Electrical.Analog.Ideal.IdealClosingSwitch, .Real type: Real 
1/1 (1): DC1_2.hysteresis.y = DC1_2.I_L.v > DC1_2.hysteresis.uHigh or pre(DC1_2.hysteresis.y) and DC1_2.I_L.v >= DC1_2.hysteresis.uLow
2/2 (1): DC1_2.and1.y = DC1_2.hysteresis.y and DC1_2.enableBremsChopper
3/3 (1): DC1_2.R2.v = DC1_2.I_L.v - DC1_2.C2.v
4/4 (1): DC1_2.R2.v = DC1_2.R2.R_actual * DC1_2.R2.i
5/5 (1): DC1_2.idealClosingSwitch.i = DC1_2.idealClosingSwitch.s * (if DC1_2.and1.y then 1.0 else DC1_2.idealClosingSwitch.Goff)
1/1 (1): DC1_2.I_L.v = DC1_2.idealClosingSwitch.s * (if DC1_2.and1.y then DC1_2.idealClosingSwitch.Ron else 1.0)
2/2 (1): DC1_1.u + DC1_2.R2.i + DC1_2.idealClosingSwitch.i - DC1_2.L1.i = 0.0
}}}

Both Dymola and SimulationX simulate it without any warnings.

Maybe someone could have a look at it."	defect	closed	high	1.9.0	Run-time	trunk	fixed	non-linear sytem solver	
