What is DACCOSIM NG?
DACCOSIM NG is an environment to develop and run co-simulation use cases powered by JavaFMI (fmu-wrapper and fmu-builder), a suite of tools for interoperability using the Co-Simulation part of the FMI standard.
DACCOSIM NG allows the design and execution of co-simulations, providing mechanisms to develop co-simulation graphs.
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 in the last version of user's guide. Additionally, we have these tutorials:
- DACCOSIM NG: Tank-Barrel tutorial
- DACCOSIM NG: from native model with OpenModelica to co-simulation with DNG
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.
Once the co-simulation graph is defined, the correctness of the graph can be checked by using the button . In case something is wrong, the Editor will indicate what is the problem.
With the button , the execution can be configured: start and stop time, stepping mode, variables to export...
After configuring a co-simulation graph, it can be executed by clicking .
DACCOSIM NG Shell
The Shell allows the execution of co-simulation graphs using a command-line interface. The main arguments that can be used in this CLI are:
- outputBuffer:32 (expressed in KB))
An example of use is:
java -jar shell.jar input:file.simx multithreaded:false
- Co-initialization: consistent system-wide initial values setting for all the components thanks to a parallelized Iterative Propagation or Newton-Raphson algorithm.
- Co-execution: co-simulation execution either with constant or variable 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 (next future).
- Matryoshka: efficient encapsulation of a co-simulation into a parallel super-FMU containing inner FMUs.
- Domain Specific Language: large-scale co-simulation design via text files that can be automatically generated by third-party tools like Python.
- The future FMI 3.0 'early return' feature is proposed in advance on the standard (with Dymola FMUs only).
- A post-mortem viewer is proposed based on the OMPlot tool distributed in the Open Modelica suite. Hermite interpolation is available for better accuracy of results.
Downloads and Examples
All the stable releases can be freely downloaded.
Some free examples are available in zipped files (.zip for Windows or .tar for Linux). These cases exhibit FMUs coming from different Modelica and non Modelica tools (Dymola, ControlBuild, OpenModelica, UML/Papyrus).
The download folder is here.
- 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 Lab. Paris-Saclay (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.