From: Clifford W. <cli...@cl...> - 2007-12-25 17:24:40
Attachments:
multivib.sch
multivib.dpl
|
Hey, I've spend the whole day tring to do a transient simulation of a simple multi vibrator. The simulation just hangs or returns bogus results with the normal transistor model. I've now tried with the the BC549 Model and set the initial voltage of one of the transistor bases to 0.8V, which looks already close to what I'd expected. But the simulation aborts after some time with the following error message: --snip-- WARNING: Unphysical model parameter Nf = 0.996496 in BJT `BC549_1' WARNING: Unphysical model parameter Nr = 0.993 in BJT `BC549_1' WARNING: Unphysical model parameter Nc = 0.996 in BJT `BC549_1' WARNING: Unphysical model parameter Nf = 0.996496 in BJT `BC549_2' WARNING: Unphysical model parameter Nr = 0.993 in BJT `BC549_2' WARNING: Unphysical model parameter Nc = 0.996 in BJT `BC549_2' WARNING: Unphysical model parameter Nf = 0.996496 in BJT `BC549_1' WARNING: Unphysical model parameter Nr = 0.993 in BJT `BC549_1' WARNING: Unphysical model parameter Nc = 0.996 in BJT `BC549_1' WARNING: Unphysical model parameter Nf = 0.996496 in BJT `BC549_2' WARNING: Unphysical model parameter Nr = 0.993 in BJT `BC549_2' WARNING: Unphysical model parameter Nc = 0.996 in BJT `BC549_2' WARNING: TR1: inserted virtual resistance at node `_net2' connected to [_Rc#BC549_2,C2,BC549_2,R4] WARNING: TR1: inserted virtual resistance at node `_emitter#BC549_1' connected to [_Re#BC549_1,BC549_1] WARNING: TR1: inserted virtual resistance at node `_emitter#BC549_2' connected to [_Re#BC549_2,BC549_2] WARNING: TR1: inserted virtual resistance at node `_net1' connected to [_Rc#BC549_1,C1,BC549_1,R1] WARNING: TR1: inserted virtual resistance at node `_collector#BC549_2' connected to [_Cbcx#BC549_2,_Rc#BC549_2,BC549_2] WARNING: TR1: inserted virtual resistance at node `_base#BC549_1' connected to [_Rbb#BC549_1,BC549_1] WARNING: TR1: inserted virtual resistance at node `_collector#BC549_1' connected to [_Cbcx#BC549_1,_Rc#BC549_1,BC549_1] WARNING: TR1: inserted virtual resistance at node `_base#BC549_2' connected to [_Rbb#BC549_2,BC549_2] ERROR: TR1: Jacobian singular at t = 6.531e-02, aborting transient analysis --snap-- I have to admit that I don't know anything about the math behind this simulations, so I can't tell whats going on here. Depending on resistor and capacitor values this message pops up earlier or later. is there anything I can do about it? I also havent found anything in the qucs documentation about stuff like this (e.g. which Integration Method has what pros and cons, I'm just mentioning this topic because I got much worse results using the standard Integration Method and it is better since I switchd to 'Euler'). Is there any documentation on this topics? yours, - clifford PS: I have attached my multivib.sch and multivib.dpl files for reference. PPS: I haven't tried this circuit in real. But I am _pretty_ sure that it should work fine and that the resistor/capacitor values make sense.. -- bash -c "gcc -o mysdldemo -Wall -O2 -lSDL -lm -pthread -x c <( echo -e ' #include <SDL/SDL.h>\n#include <complex.h>\nint main(){SDL_Surface*s;SDL_Event e;int x,y,n;SDL_Init(SDL_INIT_VIDEO);s=SDL_SetVideoMode(640,480,32,0);for(x=0; x<640;x++)for(y=0;y<480;y++){float _Complex z=0, c=((x-400)/200.0) + ((y-240)/ 200.0)*1.0fi;for(n=1;n<64;n++){z=z*z+c;if(cabsf(z)>2){((Uint32*)s->pixels)[x+y *640]=n<<3;n=99;}}}SDL_UpdateRect(s,0,0,s->w,s->h);do SDL_WaitEvent(&e); while (e.type!=SDL_QUIT&&e.type!=SDL_KEYDOWN);SDL_Quit();return 0;}' ); ./mysdldemo" |
From: Bastien R. <rou...@gm...> - 2007-12-25 17:45:50
Attachments:
multivib.sch
|
Le mardi 25 d=E9cembre 2007, Clifford Wolf a =E9crit=A0: > Hey, > > I've spend the whole day tring to do a transient simulation of a simple > multi vibrator. The simulation just hangs or returns bogus results with t= he > normal transistor model. I've now tried with the the BC549 Model and set > the initial voltage of one of the transistor bases to 0.8V, which > looks already close to what I'd expected. > > But the simulation aborts after some time with the following error messag= e: > > --snip-- > WARNING: Unphysical model parameter Nf =3D 0.996496 in BJT `BC549_1' > WARNING: Unphysical model parameter Nr =3D 0.993 in BJT `BC549_1' > WARNING: Unphysical model parameter Nc =3D 0.996 in BJT `BC549_1' > WARNING: Unphysical model parameter Nf =3D 0.996496 in BJT `BC549_2' > WARNING: Unphysical model parameter Nr =3D 0.993 in BJT `BC549_2' > WARNING: Unphysical model parameter Nc =3D 0.996 in BJT `BC549_2' > WARNING: Unphysical model parameter Nf =3D 0.996496 in BJT `BC549_1' > WARNING: Unphysical model parameter Nr =3D 0.993 in BJT `BC549_1' > WARNING: Unphysical model parameter Nc =3D 0.996 in BJT `BC549_1' > WARNING: Unphysical model parameter Nf =3D 0.996496 in BJT `BC549_2' > WARNING: Unphysical model parameter Nr =3D 0.993 in BJT `BC549_2' > WARNING: Unphysical model parameter Nc =3D 0.996 in BJT `BC549_2' > WARNING: TR1: inserted virtual resistance at node `_net2' connected to > [_Rc#BC549_2,C2,BC549_2,R4] WARNING: TR1: inserted virtual resistance at > node `_emitter#BC549_1' connected to [_Re#BC549_1,BC549_1] WARNING: TR1: > inserted virtual resistance at node `_emitter#BC549_2' connected to > [_Re#BC549_2,BC549_2] WARNING: TR1: inserted virtual resistance at node > `_net1' connected to [_Rc#BC549_1,C1,BC549_1,R1] WARNING: TR1: inserted > virtual resistance at node `_collector#BC549_2' connected to > [_Cbcx#BC549_2,_Rc#BC549_2,BC549_2] WARNING: TR1: inserted virtual > resistance at node `_base#BC549_1' connected to [_Rbb#BC549_1,BC549_1] > WARNING: TR1: inserted virtual resistance at node `_collector#BC549_1' > connected to [_Cbcx#BC549_1,_Rc#BC549_1,BC549_1] WARNING: TR1: inserted > virtual resistance at node `_base#BC549_2' connected to > [_Rbb#BC549_2,BC549_2] ERROR: TR1: Jacobian singular at t =3D 6.531e-02, > aborting transient analysis --snap-- > > I have to admit that I don't know anything about the math behind this > simulations, so I can't tell whats going on here. > > Depending on resistor and capacitor values this message pops up earlier or > later. Add a small resistor vin serie with capacitor. It is a classical mistake in= =20 this kind of circuit to not put dissipative element. If you do not put=20 dissipative element slope is too high for good simulation and you will get= =20 divide by zero. Regards Bastien Joined: corrected circuit > is there anything I can do about it? I also havent found anything in the > qucs documentation about stuff like this (e.g. which Integration Method h= as > what pros and cons, I'm just mentioning this topic because I got much wor= se > results using the standard Integration Method and it is better since I > switchd to 'Euler'). > > Is there any documentation on this topics? > > yours, > - clifford > > PS: I have attached my multivib.sch and multivib.dpl files for reference. > > PPS: I haven't tried this circuit in real. But I am _pretty_ sure that it > should work fine and that the resistor/capacitor values make sense.. =2D-=20 "ROUCARIES Bastien" roucaries.bastien@gmail.= com =2D------------------------------------------------------------------------= =2D----- DO NOT WRITE TO rou...@gm... OR BE BLACKLISTED |
From: Clifford W. <cli...@cl...> - 2007-12-25 18:02:54
|
Hi, On Tue, Dec 25, 2007 at 06:47:14PM +0100, Bastien ROUCARIES wrote: > > ERROR: TR1: Jacobian singular at t = 6.531e-02, > > aborting transient analysis > > > > I have to admit that I don't know anything about the math behind this > > simulations, so I can't tell whats going on here. > > > > Depending on resistor and capacitor values this message pops up earlier or > > later. > > Add a small resistor vin serie with capacitor. It is a classical mistake in > this kind of circuit to not put dissipative element. If you do not put > dissipative element slope is too high for good simulation and you will get > divide by zero. I've added 50 Ohm resistors in series with my capacitors and now I do get: ERROR: TR1: Jacobian singular at t = nan, aborting transient analysis t = nan ??? looking at the data generated by the simulation it should be something like t = 0.007. I also don't think that this should make much of a difference.. or am I wrong when I assume that the BC549 model always has at least some B-E resistence? So even if there is no C-E resistance (which I woukd consider a bug in the device model), the capacitors would never be discharged or charged without a load-resistor.. yours, - clifford -- [..] If it still doesn't work, re-write it in assembler. This won't fix the bug, but it will make sure no one else finds it and makes you look bad. |
From: Stefan J. <st...@gr...> - 2007-12-26 19:58:47
|
Am Di, 25.12.2007, 18:20, schrieb Clifford Wolf: > Hey, Hello! > I've spend the whole day tring to do a transient simulation of a simple > multi vibrator. Oscillators are sometimes difficult to simulate. > The simulation just hangs or returns bogus results with > the > normal transistor model. I've now tried with the the BC549 Model and set > the initial voltage of one of the transistor bases to 0.8V, which > looks already close to what I'd expected. > > But the simulation aborts after some time with the following error > message: > ... > > I have to admit that I don't know anything about the math behind this > simulations, so I can't tell whats going on here. > > Depending on resistor and capacitor values this message pops up earlier or > later. > > is there anything I can do about it? I also havent found anything in the > qucs documentation about stuff like this (e.g. which Integration Method > has > what pros and cons, I'm just mentioning this topic because I got much > worse > results using the standard Integration Method and it is better since I > switchd to 'Euler'). > > Is there any documentation on this topics? Unfortunately not. All of the transient simulation options may have effects on the simulation behaviour. I just tried to change "relaxTSR" with your example and then the simulation went through... Cheers, Stefan. |
From: Bastien R. <rou...@gm...> - 2007-12-26 21:14:55
|
Le mercredi 26 d=E9cembre 2007, Stefan Jahn a =E9crit=A0: > Am Di, 25.12.2007, 18:20, schrieb Clifford Wolf: > > Hey, > > Hello! > > > I've spend the whole day tring to do a transient simulation of a simple > > multi vibrator. > > Oscillators are sometimes difficult to simulate. > > > The simulation just hangs or returns bogus results with > > the > > normal transistor model. I've now tried with the the BC549 Model and set > > the initial voltage of one of the transistor bases to 0.8V, which > > looks already close to what I'd expected. > > > > But the simulation aborts after some time with the following error > > message: > > ... > > > > I have to admit that I don't know anything about the math behind this > > simulations, so I can't tell whats going on here. > > > > Depending on resistor and capacitor values this message pops up earlier > > or later. > > > > is there anything I can do about it? I also havent found anything in the > > qucs documentation about stuff like this (e.g. which Integration Method > > has > > what pros and cons, I'm just mentioning this topic because I got much > > worse > > results using the standard Integration Method and it is better since I > > switchd to 'Euler'). > > > > Is there any documentation on this topics? > > Unfortunately not. > > All of the transient simulation options may have effects on the > simulation behaviour. I just tried to change "relaxTSR" with your > example and then the simulation went through... In my school we teach in this case to put capacitor between CE or to put a= =20 small resistor in serie with capacitor./ What do you think about this kind = of=20 workarround? (Because it will smooth the tranfert function) BTW what is relaxTSR?. Regards Bastien > Cheers, Stefan. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Qucs-help mailing list > Quc...@li... > https://lists.sourceforge.net/lists/listinfo/qucs-help =2D-=20 "ROUCARIES Bastien" roucaries.bastien+qucs@gmail.= com =2D------------------------------------------------------------------------= =2D----- DO NOT WRITE TO rou...@gm... OR BE BLACKLISTED |
From: Stefan J. <st...@gr...> - 2007-12-26 21:23:09
|
Am Mi, 26.12.2007, 22:16, schrieb Bastien ROUCARIES: Hi! >> All of the transient simulation options may have effects on the >> simulation behaviour. I just tried to change "relaxTSR" with your >> example and then the simulation went through... > > In my school we teach in this case to put capacitor between CE or to put a > small resistor in serie with capacitor./ What do you think about this kind > of > workarround? (Because it will smooth the tranfert function) Indeed it works in some cases. > BTW what is relaxTSR?. It relaxes the "Time Step Raster". With set to yes, time point calculation is not forced to hit the exact time points requested in the simulation (start stop steps), but allows simulation to choose a time point near that point. With the option set to "no" kind of break points are introduced to hit exact point points. Cheers, Stefan. |