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-core and contains mosaik itself and APIs for multiple
programming languages.
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-components.
To see how these components can be coupled to simulations, also some example scenarios are
provided in 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-tools-library.
mosaik-web is a web
visualization for mosaik simulations.
mosaik-csv and
mosaik-householdsim
are simple demo simulators that you can use to integrate CSV data sets and
load-profile based households into simulation.
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.
ZeroMQ adapter to connect components
with the messaging library ZeroMQ.
In order to test custom-made simulators, two basic simulators are provided to use and connect to.
The InputSimulatoris a simulator that can be used to feed either a constant value or the value of a function into a designated simulator ready to handle the data.
The OutputSimulator writes
data from a custom simulator into a python dictionary. Users can access this dictionary by calling
get_dict()on a
created output simulator entity.
Below is an example code snippet that connects the input simulator with the output simulator and executes ten time steps.
After the simulation is done, the dictionary including the values received by the input simulator is printed.
# The output simulator is initialized.output_dict=world.start("OutputSim")# Two entities of the output simulator model are created.output_model=output_dict.Dict.create(2)# The input simulator is initialized.input=world.start("InputSim",step_size=1)# One function input simulator entity is created.input_model_func=input.Function.create(1,function=sample_function)# One constant input simulator entity is created.input_model_const=input.Constant.create(1,constant=2)# The input entities are connected to separate output entitiesworld.connect(input_model_func[0],output_model[1],"value")world.connect(input_model_const[0],output_model[0],"value")# Run simulation.world.run(until=END)# Dictionary content is printed.pprint(output_dict.get_dict(output_model[0].eid))pprint(output_dict.get_dict(output_model[1].eid))
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.
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).