Clone wiki

daccosim / Home

What is DACCOSIM NG?

DACCOSIM NG is an environment to develop and run co-simulation use cases supported by JavaFMI, a suite of tools for interoperability using the co-simulation part of FMI standard. DACCOSIM allows the design and execution of co-simulations, providing mechanisms to develop co-simulation graphs.

Getting started

DACCOSIM NG project has two components: an Editor (Graphical User Interface) and a Shell (Command-Line Interface). Following sections briefly explain how to use them. Detailed information can be found here. Additionally, we have these tutorials:

DACCOSIM NG Editor

The editor allows the design of co-simulation graphs using a graphical interface. To do so, blocks must be dragged from the palette (on the left) into the canvas (in the center). If an FMU block is dragged, the FMU file that is to be used will be asked by the editor. Once all blocks are placed in the canvas, their data exchanges can be defined through arrows. To define an arrow, just drag from the center of the source block and drop it in the center of the target block.

editoroverview.png

Once the co-simulation graph is defined, the correctness of the graph can be checked by using the button check.png. In case there is something wrong, the editor will indicate what is the problem.

In the button llave.png, the execution can be configured: start and stop time, kind of stepper, variables to export...

After configuring the co-simulation graph, it can be executed by clicking in play.png.

DACCOSIM NG Shell

The Shell allows the execution of co-simulation graphs using a command-line interface. The arguments that can be used in this CLI are:

  • input:[file.simx]
  • multithreaded:[true/false]
  • debugMode:[true/false]
  • outputBuffer:32 (expressed in KB))

An example of use is:

java -jar shell.jar input:file.simx multithreaded:false

Features

  • Co-initialization: consistent system-wide initial values setting for all the components thanks to a parallelized Newton-Raphson algorithm
  • Co-execution: co-simulation execution either with constant or adaptive steppers using single-step or multiple-steps methods
  • Architecture: designed to execute co-simulations either on multi-core machines or distributed on multi-machine environment
  • Matryoshka: efficient encapsulation of a co-simulation into a parallel FMU
  • Domain Specific Language: large-scale co-simulation design via text files that can be automatically generated by third-party tools

Recent publications

DACCOSIM NG: co-simulation made simpler and faster

Downloads

All the releases are available here

Contributors

  • Jean-Philippe Tavella (EDF Lab Paris-Saclay, France).
  • Dr José Évora-Gómez (Monentia, Las Palmas de GC, Spain).
  • Pr Stéphane Vialle (LRI, GeorgiaTech‐CNRS, CentraleSupelec, Université Paris‐Saclay, France).
  • Dr José-Juan Hernández (SIANI, Universidad de Las Palmas de Gran Canaria, Spain).
  • Dr Mathieu Caujolle (EDF Lab Paris-Saclay, France).
  • Dr Enrique Kremers (EIFER, European Institute for Energy Research, Germany).

DACCOSIM is a collaborative project between EDF (France), CentraleSupélec (France), EIFER - European Institute for Energy Research (Germany), SIANI institute (Spain) and Monentia S.L. (Spain).

Distribution and license

DACCOSIM Project is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License.

DACCOSIM Project is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with DACCOSIM. If not, see http://www.gnu.org/licenses.

Updated