FAQ & Glossary
Glossary
- Model
Representation of real processes (assuming simplifications), using the general procedure of “Input - internal calculation - output”.
- Orchestrator
Coordination of the whole simulation procedure and coupling of the models (mosaik).
- Simulator
API/interface for communication between the orchestrator mosaik and the entities of the specific model.
- Entity
Created instance of a model type. In “ename”, “etype”, “eid” etc. the “e” stands for entity.
- PSC
We use the passive sign convention (german: Verbraucherzaehlpfeilsystem), therefore loads are positive while generation is negative.
- Forecast
Prediction of a behaviour for a defined time horizon in the future, e.g. power values for the upcoming 24h steps for a household base load from a csv reader.
- Schedule
Calculated set values for a defined time horizon in the future, e.g. target power values for the upcoming 24h steps for a battery storage system.
- time-based
Used for time-discrete simulation of models, e.g. if just some data is collected to be transmitted to other models.
- event-based/hybrid
Used for triggered simulation of models, e.g. if model calculation can be triggered by inputs like the receiving of a power set value.
Parameters used in test scenarios
START
simulation starting time (e.g. 2023-01-01 00:00:00)
END
simulation ending time (e.g. 2023-01-02 00:00:00 for a full day calculation)
N_STEPS
number of steps that should be simulated, calculated from start and end time (e.g. 96 steps for a day with 15 min time steps)
STEP_SIZE_IN_SECONDS
length of one (pre-defined) time step in seconds (e.g. 15 min steps: 15*60 sec = 900 sec)
USE_FORECAST
True-False value whether to consider forecasts in the simulation or not
FAQ
- What is the process of building Model-Factories?
examplesim = world.start("ExampleSim", eidprefix="Model")
The resulting
examplesim
is an entity of the classmosaik.scenario.ModelFactory
. It can create and store the entities of an example model.- What can one do in case of an ImportError when running the example scenarios?
pip install -e .
- What attributes does a model have?
For that you should have a look at the
META
of the simulator or optionally within the model class itself.13# SIMULATION META DATA 14META = { 15 "type": "hybrid", 16 "models": { 17 "HEMS": { 18 "public": True, 19 "params": ["init_vals"], 20 "attrs": [ 21 "q", 22 "p", 23 "p_max", 24 "p_min", 25...
- What inputs does a model have?
Have a look at the
VALID_PARAMETERS
stored in each model class:20# Valid values and types for each parameter that apply for all subclasses 21_VALID_PARAMETERS = { 22 "cs_strategy": { 23 "types": [str], 24 "values": ["max_p", "balanced", "night_charging", "solar_charging"], 25 }, 26 "bss_strategy": { 27 "types": [None, str], 28 "values": [None, "reduce_curtailment"], 29 }, 30}
Exemplarily the
model_data
of the test scenarios set (at least some of) these parameters and their initial values for the models:1{ 2 "ems": [ 3 { 4 "cs_strategy": "balanced" 5 } 6 ],
- What connections does a model have?
For that the eELib provides the
model_connections/model_connect_config.json
file, where all of theFROM-TO-CONNECTIONS
are given for each model type implemented in the eELib:10"HEMS_default": { 11 "PVLib": [["p_set_pv", "p_set"]], 12 "BSS": [ 13 [ 14 "p_set_storage", 15 "p_set" 16 ] 17 ], 18 "ChargingStation": [ 19 [ 20 "p_set_charging_station", 21 "p_set" 22 ] 23 ], 24 "Heatpump": [ 25 [ 26 "p_th_set_heatpump", 27 "p_th_set" 28 ] 29 ], 30 "grid_load": [["p_balance", "p_w"], ["q_balance", "q_var"]] 31},
111"BSS": { 112 "HEMS_default": [ 113 [ 114 "p_discharge_max", 115 "p_min" 116 ], 117 [ 118 "p_charge_max", 119 "p_max" 120 ], 121 [ 122 "p", 123 "p" 124 ] 125 ], 126},
Extracted from these two examples above can be the sending of values for attributes
p
,p_min
andp_max
fromBSS
toHEMS
and the return of a value forp_set
.
Units
Make use of the SI-units!!
Power: W
Time (e.g. simulation time): s
Energy: Wh
…