Mosaik allows you to reuse and combine existing simulation models and simulators to create large-scale Smart Grid scenarios – and by large-scale we mean thousands of simulated entities distributed over multiple simulator processes. These scenarios can then serve as test bed for various types of control strategies (e.g., multi-agent systems (MAS) or centralized control).
Mosaik is written in Python and completely open source (LGPL), including some simple simulators, a binding to network calculation frameworks like PYPOWER or pandpower and a demonstration scenario.
The mosaik API allows you to easily integrate existing simulators, control strategies or other components into mosaik, no matter in which programming language they are implemented.
Mosaik provides a simple API to create large-scale simulation scenarios. You can start simulator processes, instantiate models and connect the resulting entities (e.g., one-by-one or based on probability distributions).
Mosaik can start new processes for a simulator or alternatively connect to a running instance of it. If a simulator is written in Python 3, it can also be imported and executed in-process.
Mosaik utilizes an event-discrete simulation approach that combines both time-based and event-based mechanisms to coordinate the execution of all simulators. Thus, each simulator can have a different step size which may even vary during the simulation.
Handling complex scenarios is one of the biggest challenges in Smart Grids research – mosaik solves that.
Flexibly integrating COTS energy system simulators is a great feature of mosaik.
We need to integrate our MATLAB load and DG models with power system simulation for a large number of scenarios – mosaik makes our life a lot easier.
Mosaik is easy and fun to use. Coherent scenario specification and flexibility toward the co-simulation composition are the strongest features of this tool.
This technological gem, including the integration framework mosaik, is a ground-breaking real-time co-simulation platform.
If you want to cite mosaik, e.g. in a work in which you use mosaik, you can use this publication:
C. Steinbrink, M. Blank-Babazadeh, A. El-Ama, S. Holly, B. Lüers, M. Nebel-Wenner, R.P. Ramirez Acosta, T. Raub, J.S. Schwarz, S. Stark, A. Nieße, and S. Lehnhoff, “CPES Testing with mosaik: Co-Simulation Planning, Execution and Analysis”, Applied Sciences, vol. 9, no. 5, 2019.
@Article{app9050923,
AUTHOR = {Steinbrink, Cornelius and Blank-Babazadeh, Marita and El-Ama, André and Holly, Stefanie and Lüers, Bengt and Nebel-Wenner, Marvin and Ramírez Acosta, Rebeca P. and Raub, Thomas and Schwarz, Jan Sören and Stark, Sanja and Nieße, Astrid and Lehnhoff, Sebastian},
TITLE = {CPES Testing with mosaik: Co-Simulation Planning, Execution and Analysis},
JOURNAL = {Applied Sciences},
VOLUME = {9},
YEAR = {2019},
NUMBER = {5},
ARTICLE-NUMBER = {923},
URL = {https://www.mdpi.com/2076-3417/9/5/923},
ISSN = {2076-3417},
DOI = {10.3390/app9050923}
}