Heat Storage
See also
Note
A Heat Storage consists of an element and a controller. The element defines it’s physical parameters, while the controller governs the operational logic.
The create_controlled function creates both and connects them.
Create Controlled Function
- pandaprosumer.create_controlled_heat_storage(prosumer, q_capacity_kwh=0.0, name=None, index=None, in_service=True, level=0, order=0, init_soc=0.0, period=0, **kwargs)[source]
Creates a heat storage element in the prosumer and a heat storage controller.
- INPUT:
prosumer - The prosumer within which this heat storage should be created.
q_capacity_kwh (float) - The thermal energy capacity of the heat storage [kWh].
- OPTIONAL:
name (string, default None) - The name for this heat storage controller.
index (int, default None) - Force a specified ID if it is available. If None, the index one higher than the highest already existing index is selected.
in_service (boolean, default True) - True for in_service or False for out of service.
level (int, default 0) - The level of the controller.
order (int, default 0) - The order of the controller.
init_soc (float, default 0.) - The initial state of charge of the heat storage.
period (int, default 0) - Index of the period, default is 0.
kwargs - Additional keyword arguments.
- OUTPUT:
index (int) - The unique ID of the created heat storage controller.
- EXAMPLE:
create_controlled_heat_storage(prosumer, q_capacity_kwh=10, name=”heat_storage_1”)
Controller
Input Static Data
Parameter |
Description |
Unit |
|---|---|---|
name |
Custom name for the Storage |
N/A |
in_service |
Indicates if the Storage is in service |
N/A |
q_capacity_kwh |
Capacity in kilowatt-hours |
kWh |
Input Time Series
Parameter |
Description |
Unit |
|---|---|---|
q_received_kw |
Received heat power |
kW |
Output Time Series
Parameter |
Description |
Unit |
|---|---|---|
soc |
State of Charge |
% |
q_delivered_kw |
Delivered heat power |
kW |
Mapping
The Simple Storage model model can be mapped using GenericMapping.
Model
- class pandaprosumer.controller.models.HeatStorageController(prosumer, heat_storage_object, order, level, init_soc=0.0, in_service=True, index=None, **kwargs)[source]
Controller for heat storage systems.
- control_step(prosumer)[source]
Executes the control step for the controller.
- Parameters:
prosumer – The prosumer object
The heat storage model computes the heat received and delivered by the storage element, and updates the state of charge (SOC) accordingly.
The SOC is adjusted each timestep to reflect the energy balance within the storage unit. If the requested heat exceeds available storage, the delivery is capped to the actual available energy.