Sunday, April 3, 2011

Is there any other Simulator with ideal components?

Recently I tested PLECS: the last non-SPICE type simulator for switching circuits I'm aware of. As I expected, it could not simulate none of my test circuits: voltage multiplier, charge pump, circuits with discontinuous inductor current.

I was surprised, since they do have true "ideal" components: switches and diodes with zero/infinite impedance. However, in almost all circuits you have to add either small resistor in series, or large resistor in parallel to those components, so that I don't understand what is the use of those components at all. You cannot, for example, instantaneously connect voltage source and capacitor charged to different voltage: it has to be done through non-zero resistor or limited current source. Same for interrupting current through the inductor. For "ideal" diodes there is special parameter "turn-on threshold", which could be different than diode forward voltage. Some circuits simply stuck in the middle of simulation: same "old good SPICE" convergence problem? This is very confusing.

Originally PLECS was designed to work with MATLAB as Simulink toolbox; stand-alone simulator is kind of a new product. This probably explains very poor interface and lack of many useful and, in fact, required features. For instance, you have to define initial conditions for all capacitors and inductors. I don't think this is acceptable for real engineering tool.

Anyway... so far, I don't know any simulator offering "ideal" component (or even close to "ideal"), and what is more important, providing reliable and fast simulation with those components. I tend to state that NL5 is the only one capable to do that. I'm not aware of any (reasonable) circuits that can not be simulated with NL5: it passed all the tests I designed, and I do not hear any complains from users. They are either happy or shy...

Dear NL5 users, please report problems you have: it would help further improving NL5 and make it more robust and useful for you and for thousands of other users! And please don't forget to download latest builds and revisions: you will definitely find something new and exiting.


  1. Simplis (as well as everybody else, except NL5) does not allow zero/infinite impedances. They are adding some very small/very high resistors, and most of user are not aware of that.