Project Proposal

Project Information

Project: Siconos
Internal Release Number: 1.0
Last update: September 15, 2005
Attached Worksheets:
Related Documents:

General Description

What is the Relation to the SICONOS project ?

SICONOS is the European Project IST2001-37172, funded by the Commission of the European Communities, from September 1, 2002, to August 31, 2006.

It is a project of the Information Society Technologies programme, fifth framework programme (FP5). This project's goal is the study of complementarity dynamical systems (a class of hybrid dynamical systems).

It gathers scientists from various communities : Mechanics, Applied Mathematics, Systems and Control, and Numerical Analysis and from various European countries : United Kingdom, Netherlands, Italy, Switzerland, Spain and France.

The name SICONOS comes from the title of the project : Modeling, Simulation and Control of Non-smooth Dynamical Systems.

For example, a Non Smooth Dynamical System could be a system that incorporates friction and/or impacts for a mechanical one, or switchings for an electrical one.

The strategic aim of this project is the development of novel algorithms and numerical routines for the qualitative analysis, simulation and feedback control of non-smooth complementarity dynamical systems. The output of SICONOS will be an integrated numerical software package for the virtual prototyping of systems with discontinuities and development of novel control techniques for this class of dynamical systems. Therefore, this project is clearly focused on the development over 4 years of a user-friendly, versatile and computationally effective numerical tool for non-smooth systems, validated through its application to 3 key engineering problems : power electronic converters, walking robots and automotive systems.

This project is divided into 7 work-packages : LMGC, INRIA and more particularly BIPOP team, are involved in WP2. Originally, the objectives of the Work Package 2 were defined in the Annex 2 of the project as follows :
  1. Development of numerical methods for:
    1. robust zero-crossing detection.
    2. time integration of complementarity systems.
    3. solution continuation and bifurcation detection for complementarity problems.
    4. Control design and validation.
  2. Designing an object-oriented algorithm structure to get:
    1. sufficient flexibility and potential incorporation of various classes of systems.
    2. real-time constraints for virtual reality applications.
    3. openness for easy insertion of new modules.
    4. link with other control applications.

What is the Relation with the predecessor project : Lmgc90 ?

The goal of this project is not redeveloping existing numerical routines, but providing framework for non-smooth problems. Particularly we want to reuse :

Especially, we will use Scilab, numerical libraries (LAPACK, ...) and modules of Lmgc90.

What are the main functionalities ?

Lmgc90 is an existing platform for modeling interaction problems developed in FORTRAN90 in LMGC. This software is made of a library of components (F90 modules) which can be used through a macro-language named CHIC. For the basic algebra computations, this software relies on public numerical libraries such as LAPACK95, LAPACK and BLAS.

Although this software was designed in an oriented object way, one drawback is that Fortran 90 is not a real object-oriented language (lack of inheritance, template programming, dynamic polymorphism, ... ). Indeed, it could be difficult to add new modules and maintain the code.

The Siconos software is dedicated to the Modeling, Simulation, Analysis and Control of non smooth dynamical systems, i.e., abstract evolution problem where the non smooth character is crucial. To put it more precisely, six major sets of functionalities have been identified :

What is the type of Users ?

The development of the software has to take into account the diversity of users. For each types of users, several constraints in terms of development has to be taken into account :

What is the target system ?


The target system on hardware and operating system will be : More precision is given in portability requirements section.

Model Description

In this section we present more precisely the six major functionalities of the Siconos software. In this section the relation between the functionalities are explicitly stated. The six major functionalities of the platform are recalled in the Table and figure below.

The six major functionalities of the Siconos Platform

Name of the module Functionality
Siconos/Numerics Low level numerical tools
Siconos/Kernel Modelling and numerical simulation
Siconos/Frontend Command interactive user interface
Siconos/Analysis Analysis of solution
Siconos/Control Control design and validation
Siconos/Imse Integrated modeling and Simulation Environment
Siconos Functionnalities

Siconos/Numerics. Low-level numerical tools

Siconos/Kernel. Modelling and Simulation tools

This module has to perform several major functionalities of the Siconos software. This module is devoted to the modeling and the simulation of a physical process in the framework of the non smooth dynamical systems theory (NSDS).

The functionalities of this module may be stated as follows:

  1. Modeling:
    • Define and describe several canonical model for general NSDS
      • Linear complementarity systems (LCS)
      • Lagrangian dynamical system with constraints
      • Piecewise Smooth systems
      • Higher order sweeping process
      • Projected dynamical systems
      • Unilateral differential inclusions
      • Differential variational inequalities
      • Discrete time system

      Several NSDS listed above (e.g LCS) may be decomposed in a smooth dynamical system, a set of relations between input/output variables and the state variables and a set of Non Smooth law which are listed below.

    • Define and describe several canonical model for smooth dynamical systems SDS and the boundary conditions (IVP, BVP, ...)
      • Linear Time invariant System (LTI)
      • Non Linear System
      • Lagrangian system
      • Implicit System and differential Algebraic system
      • Define and describe several canonical model for relations between input/output variables and the state variables.
      • Linear Time invariant relation
      • Lagrangian relations (Jacobian)
      • Non linear relations ...
    • Define and describe several canonical model for non smooth Law
      • Complementarity problem
      • Relay system
      • Friction-type law,
    • Formalization of input systems into canonical model (general NSDS, SDS, Relations and non smooth laws)
    • Analysis of coherence of the input systems
    • Translation between the canonical models (general NSDS, SDS, and non smooth laws)
    • Interface with description model tools (Plug-ins)(Existing modelling software, C F77 function, Matlab or Scilab function.
  2. Simulation

    This module features the reformulation and the organization of the canonical model provided by the formalization part to realize the simulation. A numerical simulation is composed of :

    • A time integrator method : Time-stepping or Event-Driven schemes.
    • Evaluation or prediction of relations at discrete time.
    • Formalization of a one-step basic problem (LCP, QP, etc ...).
    • Choice of a numerical method for solving the one step problem.
    • Interface with siconos/numerics.
    • Input/ Output of specific parameters for numerical strategies.
  3. Data representation and Save/Restart

    The Siconos platform works with its own internal data structure, stored in the various attributes of the instantiated objects. This internal data structure will consist of :

    • data for the modeling,
    • data for the simulation.
  4. Therefore, a specific storage structure must be defined and constitutes the Siconos specific files. This storage structure has to be very close to the object oriented data structure. The use of xml and associated tools (DOM) seems impossible to circumvent.

    If the Siconos specific files do not contain the complete representation of the formalized model, it needs to specify how to construct this representation, i.e. the name of the plug-in and the identifier of the data files for this plug-in.

    Indeed, there are 3 ways to inform the internal data structure :

    • The complete representation of the problem is loaded by reading Siconos specific and self-contained files. This way corresponds to a stand alone use of the platform.
    • The complete representation of the problem is loaded partially by reading Siconos specific files. In order to complete the missing part, the user has to provide the information using the API in interactive mode (object-oriented scripting language or the xxxlab interface).
    • The complete representation of the problem is given by mixed files : external files describing the physical problem and its state and Siconos specific files describing the model formalization and the numerical simulation. This way corresponds to a mixed use of the platform, in combination with an external software.

    There are 2 ways to save the internal data structure :

    • Using the Siconos specific and self-contained files,
    • Using mixed files: Siconos specific files and files saved by the external software.

    Furthermore, the structure of the Siconos specific files must be able to represent all the above way to read and to save the data. It means that even for a mixed representation, the location of the external files must be specified in the Siconos specific files.

    Using these various mechanisms of reading and saving data, one can translate storage structure from external files to Siconos specific files.

    This files must be exhaustive to allow a backup and a restart of a simulation at any specified time.

    The Engine must allow the user to trace internal variables during a simulation. These values of the internal variables could be exported in various formats for other post-processing softwares.

Siconos/Front-End.

This module provides the interface between the user and the platform. This interface have to fulfill several tasks :

This Front-End will be realized by two APIs :

Siconos/Control.

TBD

Siconos/Analysis.

TBD

Siconos/Imse.

TBD