NL5 Circuit Simulator

NL5 is a mixed-signal electronic circuit simulator with ideal and piecewise-linear components. 
History.
The first generation of NL ("non-linear") analog simulator was developed in the late 1980s for different types of computers and operating systems. In early 1990s, NL migrated to MS-DOS and Windows based personal computers. For many years it was a proprietary tool of a few research labs and small companies, used to design control systems, measurement equipment, and power supplies. The first publicly available version of NL5 (the "fifth generation" of NL) was released on January 1, 2009.
Components.
NL5 uses simple analog components and models, including ideal components:
Non-linear components are represented as piecewise-linear, or as a function (simulated with one step delay). For mixed-signal systems, system-level, and behavioral modeling NL5 uses simple basic digital, function, C-code, and DLL components. Practically all parameters of NL5 components can be set to positive, negative, zero, or infinity value. NL5 schematic may have arbitrary, even unrealizable topology, with floating nodes, "voltage loops", etc. 
Analysis.
NL5 performs transient simulation using modified nodal analysis and trapezoidal integration. A special algorithm is in place to handle simulation with ideal components (e.g. zero/infinite resistance and instantaneous switching).
NL5 performs 3 types of AC analysis: 
Licensing.
Without a license, NL5 works in a demo mode, with full functionality and limited number of circuit components. Free licenses are available for educational institutions and students (1 year license). Different types of temporary and permanent licenses are available for individuals and companies.