Electric Boiler
See also
Note
An electric boiler consists of one element and one controller. The element defines its physical parameters, while the controller governs the operational logic.
Create Controlled Function
- pandaprosumer.create_controlled_electric_boiler(prosumer, max_p_kw, min_p_kw=nan, max_ramp_up_kw_per_s=nan, max_ramp_down_kw_per_s=nan, efficiency_percent=100, allow_stop=True, max_t_out_c=nan, name=None, index=None, in_service=True, level=0, order=0, period=0, **kwargs)[source]
Creates an electric boiler element in prosumer[“electric_boiler”] and an electric boiler controller
- INPUT:
prosumer - The prosumer within this electric boiler should be created
max_p_kw (float) - Maximal electrical power of the boiler [kW]
- OPTIONAL:
min_p_kw (float, default None) - Minimal electrical power of the boiler [kW]
max_ramp_up_kw_per_s (float, default None) - Maximum ramping up speed of the boiler [kW/s]
max_ramp_down_kw_per_s (float, default None) - Maximum ramping down speed of the boiler [kW/s]
efficiency_percent (float, default 100) - Boiler Efficiency [%]
allow_stop (bool, default True) - Whether the boiler is allowed to stop completely (reach zero power)
max_t_out_c (float, default None) - Maximum output temperature constraint in °C
name (string, default None) - The name for this electric boiler
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
period (int, default 0) - Index of the period, default is 0
- OUTPUT:
index (int) - The unique ID of the created electric boiler
- EXAMPLE:
create_controlled_electric_boiler(prosumer, “electric_boiler_1”)
Controller
Input Static Data
These are the physical parameters required for the Electric Boiler element to enable the model calculation:
Parameter |
Description |
Unit |
|---|---|---|
name |
Unique name or identifier for the electric boiler element. |
N/A |
max_p_kw |
Maximum electrical power of the boiler. |
kW |
min_p_kw |
Minimum electrical power of the boiler. Only relevant when allow_stop is False. |
kW |
max_ramp_up_kw_per_s |
Maximum allowed increase of electrical power between two time steps. |
kW/s |
max_ramp_down_kw_per_s |
Maximum allowed decrease of electrical power between two time steps. |
kW/s |
efficiency_percent |
Boiler efficiency expressed as a percentage. |
% |
allow_stop |
Whether the boiler is allowed to stop completely (reach zero power) when there is zero demand. If False and min_p_kw is set, the boiler will operate at min_p_kw even with zero demand. |
Boolean |
max_t_out_c |
Maximum output temperature constraint. If the calculated output temperature exceeds this value, it will be limited to this temperature. |
Degree Celsius |
overflow_strategy |
How to dispatch surplus mass flow to responders when the boiler runs at |
str |
Input Time Series
No input (GenericMapping) needed for this controller
Output Time Series
|
Description |
Unit |
q_kw |
The provided heat power. |
kW |
mdot_kg_per_s |
The water mass flow rate through the boiler. |
kg/s |
t_in_c |
The temperature at the inlet of the electric boiler (cold return pipe). |
Degree Celsius |
t_out_c |
The temperature at the outlet of the electric boiler (hot feed pipe). |
Degree Celsius |
p_kw |
The boiler consumed electrical power. |
kW |
Mapping
The Electric Boiler Controller can be mapped using FluidMixMapping.
No inputs are mapped, as the electric boiler does not act as a responder.
The following outputs are mapped:
mdot_kg_per_st_out_c
Model
- class pandaprosumer.controller.models.ElectricBoilerController(prosumer, electric_boiler_object, order, level, in_service=True, index=None, name=None, **kwargs)[source]
Controller for electric boilers.
- Parameters:
prosumer – The prosumer object
electric_boiler_object – The electric boiler object
order – The order of the controller
level – The level of the controller
in_service – The in-service status of the controller
index – The index of the controller
kwargs – Additional keyword arguments
The electric boiler model calculate the power consumption of the boiler to heat up the fluid to the demand power. It is a tankless electric water heater that heats water on demand.
If the power consumption is higher than the maximum power of the boiler P_{text{el}_text{max}}, the power consumption is set to the maximum power, and the actual output temperature \(T_\text{feed}\) that can be reached is calculated based on the maximum power.
The model also supports additional constraints:
Maximum output temperature constraint: If \(T_\text{feed}\) exceeds the
max_t_out_cparameter, the output temperature is limited to this maximum value and the mass flow is adjusted accordingly.Minimum power constraint: If
min_p_kwis set, the boiler will maintain at least this minimum power level, regardless of theallow_stopsetting. When the calculated power would be belowmin_p_kw, the boiler operates atmin_p_kw. Theallow_stopparameter only affects whether the boiler can shut down completely when there is zero demand - ifallow_stop=False, the boiler will operate atmin_p_kweven with zero demand.