Siconos
From Wikipedia, the free encyclopedia
Stable release
4.3.0
/ 5 May 2020
| Developer(s) | INRIA |
|---|---|
| Stable release | 4.3.0
/ 5 May 2020 |
| Repository | github |
| Written in | C++, C, Python |
| Operating system | Linux, Mac, Windows |
| Type | Framework |
| License | Apache License 2.0 |
| Website | siconos |
SICONOS is an open source scientific software primarily targeted at modeling and simulating non-smooth dynamical systems (NSDS):[1]
- 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
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.
The software is based on 3 main components[2]
- 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.[3][4]