Electric Boiler

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, efficiency_percent=100, 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:

efficiency_percent (float, default 100) - Boiler Efficiency [%]

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

Electric Boiler Controller logic

Input Static Data

These are the physical parameters required for the Electric Boiler element to enable the model calculation:

Input Static Data: Electric Boiler Element

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

efficiency_percent

Boiler efficiency expressed as a percentage.

%

Input Time Series

No input (GenericMapping) needed for this controller

Output Time Series

Output Time Series: Electric Boiler
header:

“Parameter”

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_s

    • t_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

control_step(prosumer)[source]

Executes the control step for the controller.

Parameters:

prosumer – The prosumer object

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.

\begin{align*} P_\text{el} = \frac{Q}{\eta} &= \frac{\dot{m} * Cp * (T_\text{feed} - T_\text{return})}{\eta} \\ \end{align*}

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.