Siconos

SICONOS is an Open Source scientific software primarily targeted at modeling and simulating non-smooth dynamical systems (NSDS): Other applications are found in Systems and Control (hybrid systems, differential inclusions, optimal control with state constraints), Optimization (Complementarity problem and Variational inequality) Biology Gene regulatory network, Fluid Mechanics and Computer graphics, etc.
 * Mechanical systems (Rigid body or solid) with Unilateral contact and Coulomb friction as we find in Non-smooth mechanics, Contact dynamics or Granular material.
 * Switched Electrical Circuit such as Power converter, Rectifier, Phase-locked loop (PLL) or Analog-to-digital converter
 * Sliding mode control systems

Components
The software is based on 3 main components
 * Siconos/Numerics (C API). Collection of low-level algorithms for solving basic Algebra and optimization problems arising in the simulation of nonsmooth dynamical systems
 * Linear complementarity problem (LCP)
 * Mixed linear complementarity problem (MLCP)
 * Nonlinear complementarity problem (NCP)
 * Quadratic programming problems (QP)
 * Friction-contact problems (2D or 3D) (Second-order cone programming (SOCP))
 * Primal or Dual Relay problems
 * Siconos/Kernel. API C++ that allows one to model and simulate the nonsmooth dynamical systems. It contains
 * Dynamical systems classes : first order one, Lagrangian systems, Newton-Euler systems
 * Nonsmooth laws : complementarity, Relay, Friction, Contact, impact
 * Siconos/Front-end (API Python) Mainly an auto-generated SWIG interface of the API C++ which a special support for data structure.

Performance
According to peer reviewed studies published by its developers, Siconos was approximately five times faster than Ngspice or ELDO (a commercial SPICE by Mentor Graphics) and 250 times faster than PLECS when solving a buck converter.