.. _related_projects:

Related Projects and Platforms
==============================

.. rubric:: Control Engineering Softwares


* `Modelica <http://www.modelica.org/>`_, Modeling of Complex Physical Systems. The object-oriented modeling language Modelica is designed to allow convenient, component-oriented modeling of complex physical systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented subcomponents. The free Modelica language, free Modelica libraries and Modelica simulation tools are available, ready-to-use and have been utilized in demanding industrial applications, including hardware-in-the-loop simulations. The development and promotion of Modelica is organized by the non-profit Modelica Association. `More, see overview article ... <http://www.modelica.org/documents/ModelicaOverview14.pdf>`_.

* `Orocos, <http://www.orocos.org>`_ , a European project, started in 2001. It aims at producing an open source software framework, by providing a functional basis for general robots control.

* `Motion Strategy Library <http://msl.cs.uiuc.edu/msl/index.html>`_ : "allows easy development and testing of motion planning algorithms for a wide variety of applications."

* `NICONET <http://www.win.tue.nl/niconet/>`_ is a European thematic network project with the aim of formalising and extending current collaboration with respect to robust numerical software for control systems analysis and synthesis.

.. rubric:: Engineering Mechanics Softwares

**Multibody systems**

* `mjbWorld <http://www.martinb.com/>`_ (GPL license) is a program for 3D simulation of dynamics.
* `DynaMechs <http://dynamechs.sourceforge.net/>`_, a GPL library for simulation of multibody dynamics.
* `MBDyn <http://www.aero.polimi.it/projects/mbdyn/>`_, a Multi Body Dynamics analysis system.

**Structures and Finite element applications**

* `LMGC90 <https://git-xen.lmgc.univ-montp2.fr/lmgc90/lmgc90_user/wikis/home>`_ a free and open source software dedicated to multi-physics simulation of discrete material and structures. Siconos/numerics can be used as a solver for those problems.
* `IFER <http://www.engr.usask.ca/%7Emacphed/finite/fe_resources/fe_resources.html>`_ - Internet Finite Element Resources
* `OpenFem <http://www.openfem.net>`_ is an open-source software freely distributed under the terms of the `GNU Lesser Public License <http://www.fsf.org/copyleft/lesser.html>`_ (LGPL). It is also a registered trademark of `INRIA <http://www.inria.fr>`_ and `SDTools <http://www.sdtools.com>`_.
* `FreeFem++ <http://www.freefem.org/ff++/index.htm>`_, which is an implementation of a language dedicated to the finite element method. It enables you to solve Partial Differential Equations (PDE) easily.
* `GETFEM++ <http://www.gmm.insa-tlse.fr/getfem/>`_
* `Zebulon <http://www.nwnumerics.com>`_ is an advanced object oriented FEA program with many non-linear solution capabilities. The program is designed to be flexible for the user and provide solution options not found in other codes. We are aggressively developing cutting edge methods and multi-physics applications. The program is designed to be both easy to learn, and powerful to use.

* `OOfelie <http://venus.arcride.edu.ar/oofelie.html>`_ Object Oriented Finite Elements Led by Interactive Execution. This project is the result of a collaboration between the Computational Mechanics Group of INTEC and the Laboratoire de Techniques Aéronautiques et Spatiales, University of Liege, Belgium. The objective of this work is to define the architecture of a new finite element program using the C++ programming language. The program is built around an interpreter, which allows the user to define interactively either data as well as algorithms. The program may thus be very easily configured to new computational strategies. See also `the non official site <http://garfield.ltas.ulg.ac.be/oo_meta/fr_oometa.htm>`_.

**Hybrid Systems**


* `Virtual Action Group on Hybrid Dynamic Systems for CACSD <http://www-er.df.op.dlr.de/cacsd/hds/index.shtml>`_, Technical Committee on Computer Aided *Control* System Design. IEEE Technical Committee on <b>Hybrid</b> Dynamical <b>Systems</b>

* `DAEPACK <http://yoric.mit.edu/daepack/daepack.html>`_ a component library for combined symbolic/numeric analysis of FORTRAN models.

.. rubric:: General Softwares and Libraries for Scientific Computing

* `SciLinux: Environment for Scientific Computing on GNU/Linux <http://scilinux.sourceforge.net/>`_
  
* `Lapack <http://www.netlib.org/lapack/>`_, `scalapack <http://www.netlib.org/scalapack/>`_
  
* `The GNU Scientific Library <http://sources.redhat.com/gsl/>`_  a free numerical library for C
  
* `Numerical Recipes <http://www.nr.com/>`_
  
* `CLN Class Library for Numbers <http://www.ginac.de/CLN/>`_
  
* `LinAl home page <http://linal.sourceforge.net/LinAl/Doc/linal.html>`_
  
* `Scientific Applications on Linux (SAL)  <http://sal.kachinatech.com/>`_ is a collection of information and links to software of interest to scientists and engineers.
  
* `GAMS <http://www.numis.northwestern.edu/ftp/pub/list-packages.html>`_
  
* `Mathtools.net: The technical computing portal <http://www.mathtools.net/>`_
  
* `Freely available software for linear Algebra on the Web a survey <http://www.netlib.org/utk/people/JackDongarra/la-sw.html>`_
  

.. rubric:: Scientific Computing in C++


* `The Object Oriented Numerics Page <http://oonumerics.org/oon>`_
  
* `LAPACK++: Linear Algebra Package in C++ <http://gams.nist.gov/lapack++/>`_
  
* `Object Oriented Programming Paradigms in Scientific Computin <http://www-hpc.jpl.nasa.gov/PEP/nortonc/thesis.html>`_
  
* `Blitz++ <http://www.oonumerics.org/blitz/>`_
  
* `GMM++ <http://www.gmm.insa-tlse.fr/getfem/gmm.html>`_
  
* `TNT <http://gams.nist.gov/tnt/>`_, an interface for scientific computing in C++. It provides a distinction between interfaces and implementations of *TNT* components.
  
* `The Matrix Template Library <http://www.osl.iu.edu/research/mtl/>`_

.. rubric:: Scientific Computing in Python

* `SciPy <http://www.scipy.org>`_ an open source library of scientific tools for Python. SciPy supplements the Numeric module, gathering a variety of high level science and engineering modules together as a single package. Within SciPy are modules for graphics and plotting, optimization, integration, special functions, signal and image processing, genetic algorithms, ODE solvers, and others. There is also an experimental "compiler" that takes a Numeric array expression in Python and compiles it to C++ code on the fly.

* `Swig: Simplified Wrapper and Interface Generator <http://www.swig.org/>`_, a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. *...*
  
* `Numerical Python <http://www.numpy.org/>`_ Numerical Python adds a fast, compact, multidimensional array language facility to Python.
  
* `Scientific Python <http://dirac.cnrs-orleans.fr/plone/software/scientificpython/>`_ Konrad Hinsen's Scientific Python is a module library for scientific computing. In this collection you will find modules that cover basic geometry (vectors, tensors, transformations, vector and tensor fields), quaternions, automatic derivatives, (linear) interpolation, polynomials, elementary statistics, nonlinear least-squares fits, unit calculations and conversions, Fortran-compatible text formatting, 3D visualization via VRML, two Tk widgets for simple line plots and 3D wireframe models. Scientific Python also contains Python interfaces to the netCDF library (implementing a portable binary format for large arrays) and the Message Passing Interface, the most widely used communications library for parallel computers. Konrad Hinsen's course, `Python for Scientists <http://dirac.cnrs-orleans.fr/%7Ehinsen/courses.html>`_ shows how to use scientific python

.. rubric:: Specific Developments for Non Smooth Systems


None of the links of this page corresponds to a member of the project.

**Complementarity problems and Variational inequalities**

* `CPNET: Complementarity Problem Net <http://www.cs.wisc.edu/cpnet/>`_
* `Complementarity Problems <http://plato.la.asu.edu/topics/problems/mcp.html>`_
* `Professor Michael C. Ferris <http://www.cs.wisc.edu/%7Eferris/>`_
* `Richard W. Cottle <http://www.stanford.edu/dept/MSandE/faculty/rwc/>`_
* `Jong-Shi Pang's Home Page <http://www.mts.jhu.edu/%7Epang/>`_
  
**Optimization & Mathematical programming**

* `Steve Wright <http://www.cs.wisc.edu/%7Eswright/>`_
* `NEOS Server for Optimization <http://www.neos-server.org>`_ - The NEOS Server solvers represent the state-of-the-art in optimization software.
* `Optimization Software <http://www-fp.mcs.anl.gov/otc/Guide/softwareGuide/>`_: linear and nonlinear programming.
* `AMPL Modeling Language for Mathematical Programming <http://www.ampl.com/>`_, modeling language and system for formulating, solving and analyzing large-scale optimization (mathematical programming) problems.
* `GAMS Modeling Language for Mathematical Programming <http://www.gams.com/>`_, modeling language and system for formulating, solving and analyzing large-scale optimization (mathematical programming) problems. Siconos can call GAMS to solve an optimization problem.

**Numerical time integration**

* `David Stewart <http://www.math.uiowa.edu/%7Edstewart/>`_
