DACCOSIM NG en bref

Quel type de code ?

C'est une plateforme pratique de co-simulation à l'échelle système pour des systèmes complexes (type systèmes énergétiques), basée sur le standard FMI-CS 2.0, avec génération de code en Java.

Pour qui ?

Tout industriel ayant besoin de modéliser et simuler des systèmes complexes en 0D/1D (systèmes cyber-physiques de grandes taille, multi-physique, multi-domaine)

À quoi sert-il ?

DACCOSIM NG permet de simuler des systèmes de grande taille, systèmes que Dymola ou OpenModelica par exemple ne peuvent pas appréhender. De plus, DACCOSIM NG est multi-langage puisqu'il accepte en entrée tout composant FMU initialement développé en Modelica, CEI 61131-3, UML exécutable, Java, C/C++, …

Un exemple ?

DACCOSIM NG a servi à développer de nouvelles méthodes de pilotage d'un système complexe, tel qu'un système énergétique combinant un réseau de distribution électrique, un réseau de chaleur, des bâtiments intelligents, de la cogénération, etc. Il a permis l'intégration système de nouveaux algorithmes et automates distribués sur une zone géographique donnée avant un déploiement industriel.

Informations générales

DACCOSIM NG a été conçu et développé par EDF et CentraleSupélec (France) au sein de l'institut RISEGrid (France) avec la participation de SIANI (Espagne), Monentia SL (Espagne) et EIFER (Allemangne).
 
  

co-simulation made simpler

Points techniques

Environnement de simulation

Environnement de développement et de simulation de systèmes complexes par couplage de composants basés sur la partie Co-Simulation du standard FMI (fmi-standard.org).

Plateforme d'exécution

Windows, Linux et tout système d'exploitation capable d'exploiter des fichiers .jar (Java).

Couplage possible avec d'autres codes ?

En entrée, DACCOSIM NG utilise tout binaire exporté comme une FMU depuis des environnements FMI tels que Dymola, OpenModelica, ControlBuild, Papyrus, etc. En post-traitement, DACCOSIM NG utilise l'outil OMPlot de la suite libre OpenModelica pour visualiser les résultats de co-simulation.

Le code possède-t-il une Interface ?

Oui la saisie des graphes de co-simulation est entièrement graphique (GUI) mais l'outil peut aussi être exécuté en batch (CLI) grâce à un script de commandes au format propriétaire.

Licence

DACCOSIM NG est un logiciel libre. Vous pouvez le redistribuer et / ou le modifier selon les termes de la Licence Publique Générale Limitée GNU telle que publiée par la Free Software Foundation, soit la version 3 de la Licence.

Description détaillée

DACCOSIM NG est un environnement de co-simulation (au sens de la norme FMI) capable d'offrir des méthodes d'intégration numérique à pas fixe ou variable (Euler, Adams-Bashforth, QSS) qui tire parti des principales fonctionnalités de la norme FMI-CS 2.0 (interpolation des entrées et des sorties, estimation d'erreurs, retours arrière, ...). L'outil offre également deux méthodes de co-initialisation dont l'une est basée sur l'algorithme de Newton-Raphson.

Les développements sont réalisés en Java nécessitant un JRE version 8. Le code exploite implicitement les briques logicielles de la suite JavaFMI (https://bitbucket.org/siani/javafmi) mais l'installation est très simple puisque seuls deux fichiers .jar sont à déposer sur la machine hôte. De plus il existe un installateur sous Windows. A noter également qu'il est très facile d'échanger des modèles de co-simulation complets entre plusieurs machines possèdant DACCOSIM NG grâce à un format propriétaire d'échange de données.

Les données d'entrée de la plateforme sont un ensemble de codes binaires appelés FMU selon la norme FMI. De très nombreux outils de modélisation peuvent aujourd'hui exporter un code exécutable de type FMU (Dymola, OpenModelica, ControlBuild, Papyrus, etc.). Voir le site FMI : fmi-standard.org/tools.

Les résultats d'une co-simulation avec DACCOSIM NG sont comparables à ceux qu'il est possible d'obtenir depuis des logiciels comme Dymola ou OpenModelica mais à une échelle de taille supérieure, pouvant facilement dépasser le million d'équations algébro-différentielles.