I found the problem in my simulation. I had to add a small capacitor between the anode of diode D6 and ground g. The model works in Dymola but still not in OpenModelica because of the data structure problem that Adrian pointed out.
Thanks. Pranesh -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Pranesh Rao Sent: Tuesday, December 09, 2008 8:09 AM To: [email protected] Subject: RE: Problem with OpenModelica simulation Adrian, Thank you for your help. I will look at the model and see what I am missing - perhaps a decoupling capacitor or something. Again, thanks. Pranesh Rao -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Adrian Pop Sent: Tuesday, December 09, 2008 5:12 AM To: [email protected] Subject: Re: Problem with OpenModelica simulation Hi, Some of the fixed data structures inside the simulation runtime need to be increased. They should actually be dynamic, but that's another story. I'll generate a new nightly-build in a couple of days and let you know when is available. The generated system of equations seems to be singular so you might also need to do some changes in your model. Maybe some other people on the list can help you with that. Cheers, Adrian Pop/ Pranesh Rao wrote: > Hi, > > > > I am trying to simulate the following model using OpenModelica 1.4.4 and > the Modelica 3.0 library: > > > > model br3ph1 "three phase diode bridge feeding R-L load (source > inductance present)" > > constant Real PI = Modelica.Constants.pi; > > Modelica.Electrical.Analog.Sources.SineVoltage > src_a(V=120.0,phase=0,freqHz=60.0); > > Modelica.Electrical.Analog.Sources.SineVoltage > src_b(V=120.0,phase=-2*PI/3,freqHz=60.0); > > Modelica.Electrical.Analog.Sources.SineVoltage > src_c(V=120.0,phase=2*PI/3,freqHz=60.0); > > Modelica.Electrical.Analog.Basic.Resistor rs[3](each R=0.1) "source > resistance"; > > Modelica.Electrical.Analog.Basic.Inductor ls[3](each L=1e-3) "source > inductance"; > > Modelica.Electrical.Analog.Ideal.IdealDiode D1,D2,D3,D4,D5,D6; > > Modelica.Electrical.Analog.Basic.Resistor r_l(R=1) "load resistance"; > > Modelica.Electrical.Analog.Basic.Inductor l_l(L=0.1) "load inductance"; > > Modelica.Electrical.Analog.Basic.Ground g; > > > > Real v_out, i_out; > > > > equation > > connect(src_a.p,rs[1].p); > > connect(src_b.p,rs[2].p); > > connect(src_c.p,rs[3].p); > > connect(src_a.n,src_b.n); > > connect(src_b.n,src_c.n); > > connect(src_c.n,g.p); > > > > connect(rs[1].n,ls[1].p); > > connect(rs[2].n,ls[2].p); > > connect(rs[3].n,ls[3].p); > > > > connect(ls[1].n,D1.p); > > connect(D1.p,D4.n); > > > > connect(ls[2].n,D3.p); > > connect(D3.p,D6.n); > > > > connect(ls[3].n,D5.p); > > connect(D5.p,D2.n); > > > > connect(D1.n,D3.n); > > connect(D3.n,D5.n); > > connect(D5.n,r_l.p); > > connect(r_l.n,l_l.p); > > connect(l_l.n,D2.p); > > connect(D2.p,D6.p); > > connect(D6.p,D4.p); > > > > v_out = r_l.p.v - l_l.n.v; > > i_out = r_l.p.i; > > end br3ph1; > > > > When I run it using > > > > simulate(br3ph1,stopTime=1.0, numberOfIntervals=5000) > > > > I get a Simulation failed message. The output.log file contains the > following: > > > > Assertion failed: current_state.real_buffer_ptr +n < NR_REAL_ELEMENTS, > file memory_pool.c, line 99 > > This application has requested the Runtime to terminate it in an unusual > way. > > Please contact the application's support team for more information. > > I am new to Modelica so this could well be operator error. Any help > would be much appreciated. > > > > Regards, > > > > Pranesh Rao > _____________________________________________________________________ Adrian Pop | Ph.D. Open Source Modelica Consortium | Technical Coordinator Department of Computer Science | http://www.ida.liu.se/~adrpo Linköping University | phone:+46 76 2343499/+46 13 285781 S-581 83 Linköping, Sweden | fax: +46 13 142231 OSMC & LiU/IDA/PELAB | office: 3B:478
