================ mosaik ecosystem ================ Mosaik as a co-simulation tool organizes the data exchange between simulators and coordinates the execution of the connected simulaters. This part is called |mosaik| `mosaik-core`_ and contains mosaik itself and APIs for multiple programming languages. .. figure:: /_static/mosaik-ecosystem.* :figwidth: 550 :width: 550 :align: center :alt: mosaik is a co-simulation library. The components and tools form the mosaik ecosystem. Mosaik is a co-simulation library. The components and tools form the mosaik ecosystem. Mosaik-core without any connected simulators doesn't do much. This is why we provide some simple and free simulators so that it is possible to start with a working Smart-Grid simulation. These simulators belong to a part of mosaik's ecosystem called |mosaik| `mosaik-components`_. More detailed documentation for some components can be found in the |mosaik| `component documentation`_. To see how these components can be coupled to simulations, also some example scenarios are provided in |mosaik| `mosaik-examples`_. Mosaik is developed following the "lean and mean" principle. That means that we try to keep the software as simple as possible in order to keep it efficient and easy to maintain. In order to make it easier to set up and run experiments with mosaik we provide some tools that help building scenarios, connecting simulators or to visualize and analyze the simulation results. These tools are located in the |mosaik| `mosaik-tools`_. For testing simulators or scenarios, mosaik provides some |mosaik| `basic simulators`_, which allow to specify specific data to be sent. There are also some implementations done by external users of mosaik. We give an overview of the |mosaik| `external components`_ and |mosaik| `external scenarios`_ we know. .. _mosaik-core: |mosaik| **mosaik-core** The `root folder `_ contains mosaik itself and the high-level API implementations are provided in the `API folder `_. - `mosaik `_ - `API for Python `_ - `API for Java `_ - `generics for Java API `_ - :doc:`Java tutorial ` - `API for Matlab `_ - `API for Matlab via Java `_ - `API for C# `_ .. _mosaik-components: |mosaik| **mosaik-components** This lists the mosaik components that are available on pypi. There are always component in work that are not released yet but are in working condition so if you don't find what you are searching for here take a look in the repository. - `energy `_ related components: - `mosaik-pandapower `_ is an adapter for the `pandapower `_ power system modeling, analysis and optimization tool. Not maintained anymore, please install the `mosaik-pandapower2 `_ adapter. - `mosaik-pandapipes `_ is an adapter for the `pandapipes `_ fluid system modeling, analysis and optimization tool. - `mosaik-pypower `_ is an adapter for the `PYPOWER `_ load flow analysis library. Not maintained anymore, please install the `mosaik-pandapower2 `_ adapter. - `mosaik-heatpump `_ contains different models for simulation of heatpump systems (detailled documentation can be found :doc:`here <./components/mosaik-heatpump/overview>`). - `mosaik-pv `_ is a simple PV Simulator based on PyPVSim. - `mosaik-pvlib `_ is a simple PV Simulator based on pvlib. - `mosaik-pvgis `_ is a simple PV Simulator based on PVGIS. - `mosaik-householdsim `_ is a househol simulator that simulate households by serving residual load profiles. - `data `_ related components: - `mosaik-web `_ is a web visualization for mosaik simulations. - `mosaik-csv `_ is a simple demo simulators that you can use to integrate CSV data sets into simulation. It can also write data into CSV data sets. - `mosaik-hdf5 `_ allows to write simulation results to a HDF5 file for further analysis. - `InfluxDB adapter `_ to store simulation results into InfluxDB 1 time series database. - `InfluxDB 2 adapter `_ to store simulation results into InfluxDB 2 time series database. - `mosaik-sql adapter `_ to store simulation results into SQL database. - `mosaik-timescaledb adapter `_ to store simulation results into a postgres or timescale database. - `ZeroMQ adapter `_ to connect components with the messaging library ZeroMQ. - :doc:`Odysseus-adapter ` to write results to the data stream management system `Odysseus `_ to mosaik. - `communication `_ related components: - `communication simulator `_ is a basic communication suite using delays. - `mosaik-104 `_ contains an adapter to receive IEC 60870-5-104 protocol messages and hands it over to mosaik. - `FMI adapter `_ allows to couple Functional Mockup Units (FMU), which are based on the `FMI standard `_. .. _component documentation: |mosaik| **component documentation** The components listed above and provided by the mosaik team, have usually a documentation directly in their repository. For components which need a more detailled documentation to describe how they work, the documentation is integrated here: - :doc:`mosaik-heatpump <./components/mosaik-heatpump/overview>` .. toctree:: :maxdepth: 2 :hidden: components/mosaik-heatpump/overview .. _mosaik-examples: |mosaik| **mosaik-examples** - The `mosaik-demo `_ contains a simple demo scenario for mosaik. - The `DES demo `_ is a simple example scenario showing the new mosaik 3.0 DES features - `COmmunication SIMulation for Agents (cosima) `_ is an example scenario with integrated communication simulation based on OMNeT++. - The `aiomas demo `_ is an example project, demonstrating how to couple a multi-agent system written in aiomas to mosaik. - The `mango demo `_ is an example project, demonstrating how to couple a multi-agent system written in mango to mosaik. - The `binder tutorials `_ contains python notebooks with example scenraios that can be executed on mybinder. .. _mosaik-tools: |mosaik| **mosaik-tools** - `icons for the energy domain `_ - `maverig mosaik GUI `_ is a visualization component, which is not maintained anymore. .. include:: basic_simulators.rst .. _external components: |mosaik| **external components** These components are developed by external users of mosaik and we can not guarantee or support the flawless integration of these tools with mosaik. If you also have implemented additional tools for mosaik, simulation models or adapters, feel free to contact us at `mosaik [ A T ] offis.de `_ to be listed here. - `pysimmods `_ contains some simulation models, which can be used in mosaik scenarios. - `MIDAS `_ contains a semi-automatic scenario configuration tool. - `mosaik-docker `_ is a package for the deployment of mosaik with Docker. - `ZDIN-ZLE components `_ contains the research and development of digitalized energy systems in ZLE using mosaik (collection of simulation models). - `nestli `_ (Neighborhood Energy System Testing towards Large-scale Integration) is a co-simulation environment for benchmarking the performance of BACS (building automation and control systems). Is uses EnergyPlus and FMUs with mosaik. - `toolbox_doe_sa `_ is a toolbox with Design of Experiment (DoE) and Sensitivity Analysis (SA) methods developed in the `ERIGrid 2.0 `_ project. - `mosaik-demod `_ is a domestic energy demand modeling simulator. - `palestrai-mosaik `_ is an adapter to integrate `palaestrAI `_ (an universal framework for multi-agent artificial intelligence) into mosaik. - `QEMS - Quarter Energy Management System `_ contains simulation components, which are used to simulate an energy management system for neighborhoods for analyzing and optimizing energy flows. .. _external scenarios: |mosaik| **external scenarios** These scenarios are developed by external users of mosaik and we can not guarantee or support the flawless practicability. - `Benchmark Model Multi-Energy Networks `_ contains the implementation of a multi-energy networks (heat and electricity grid) benchmark model developed in the `ERIGrid 2.0 `_ project. - `Benchmark Model Multi-Energy Networks STL `_ is based on the multi-energy networks benchmark and contains a same time loop for improved initialization of the simulators. - `ZDIN-ZLE scenarios `_ contains the research and development of digitalized energy systems in ZLE using mosaik (collection of simulation scenarios). - `QEMS - Quarter Energy Management System Scenarios `_ contains scenarios of an energy management system for neighborhoods for analyzing and optimizing energy flows. .. |mosaik| image:: /_static/favicon.png