Booster Heat Pump
See also
Note
A booster heat pump 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_booster_heat_pump(prosumer, hp_type, name=None, index=None, in_service=True, level=0, order=0, period=0, **kwargs)[source]
Creates a BHP element in prosumer[“booster_heat_pump”] and a BHP controller
- INPUT:
prosumer - The prosumer within this booster_heat_pump should be created
hp_type (string) - BHP’s type. Possible values are “water-water1”, “water-water2”, “air-water”
- OPTIONAL:
name (string, default None) - The name of the BHP instance
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 BHP
- EXAMPLE:
create_controlled_booster_heat_pump(prosumer, ‘water-water1’, ‘example_bhp’)
Controller
Input Static Data
Parameter |
Description |
Unit |
|---|---|---|
name |
Custom name for the Booster heat pump |
N/A |
hp_type |
Type of heat pump |
N/A |
in_service |
Indicates if the Booster heat pump is in service |
N/A |
Input Time Series
Parameter |
Description |
Unit |
|---|---|---|
name |
Custom name for the Booster heat pump |
N/A |
hp_type |
Type of heat pump |
N/A |
in_service |
Indicates if the Booster heat pump is in service |
N/A |
Output Time Series
Parameter |
Description |
Unit |
|---|---|---|
cop_floor |
Coefficient of performance for floor heating |
N/A |
cop_radiator |
Coefficient of performance for radiator heating |
N/A |
p_el_floor |
Electrical power for floor heating |
kW |
p_el_radiator |
Electrical power for radiator heating |
kW |
q_remain |
Remaining heat power |
kW |
q_floor |
Heat power delivered to the floor |
kW |
q_radiator |
Heat power delivered to the radiator |
kW |
Mapping
The Booster Heat Pump model uses Generic Mapping Scheme.
Model
- class pandaprosumer.controller.models.BoosterHeatPumpController(prosumer, heat_pump_object, order, level, in_service=True, index=None, **kwargs)[source]
Controller for heat pumps.
The main inputs of the Booster Heat Pump (BHP) are a range of source temperatures \(T_s\) and an operational mode. Creating a Booster Heat Pump element also requires specifying the type of heat pump to be used. Available options are air-to-water (
air-waterwith maximum source temperature of 318 K) and two types of water-to-water heat pumps (water-water1, with a maximum source temperature of 298 K, andwater-water2, with a maximum source temperature of 318 K). The water-to-water heat pumps also differ in their maximum available heat and the temperature dependency of the \(COP\).- control_step(prosumer)[source]
Executes the control step for the controller.
- Parameters:
prosumer – The prosumer object
- first_mode_calc(q_kw, demand_kw, p_el_kw, q_max_kw, t_sink_floor_heating_k, t_sink_radiator_heating_k, t_source_k, cop_coeff)[source]
Calculation of quantities for the mode 1 of the heat pump. Booster heat pump in mode 1 takes the inputted heat and electricity from external source and boosts heat for the floor and radiator heating. Mode 1 also calculates the COP for the floor and radiator heating that is dependent on the temperature of the heat source and heat sink.
- Parameters:
q_kw – Inputted heat in kW
demand_kw – Demand of heat in kW
p_el_kw – Electrical power in kW
q_max_kw – Maximum heat in kW
t_sink_floor_heating_k – Temperature of the floor heating sink in K
t_sink_radiator_heating_k – Temperature of the radiator heating sink in K
t_source_k – Temperature of the heat source in K
cop_coeff – Coefficients for the COP calculation
- Returns:
q_remain_kw - Remaining heat in kW
q_floor_kw - Heat for the floor heating in kW
q_radiator_kw - Heat for the radiator heating in kW
cop_floor - COP for the floor heating
cop_radiator - COP for the radiator heating
- p_to_receive_kw(prosumer)[source]
Calculates the power to receive in kW.
- Parameters:
prosumer – The prosumer object
- Returns:
Power to receive in kW
- q_requested_kw(prosumer)[source]
Calculates the heat to deliver in kW.
- Parameters:
prosumer – The prosumer object
- Returns:
Heat to deliver in kW
- q_to_receive_kw(prosumer)[source]
Calculates the heat to receive in kW.
- Parameters:
prosumer – The prosumer object
- Returns:
Heat to receive in kW
- second_mode_calc(demand_kw, p_el_kw, q_max_kw, t_sink_floor_heating_k, t_sink_radiator_heating_k, t_source_k, cop_coeff)[source]
Calculation of quantities for the mode 2 of the heat pump. Booster heat pump in mode 2 takes the inputted electricity from external source and produces heat for the floor and radiator heating. Mode 2 also calculates the COP for the floor and radiator heating that is dependent on the temperature of the heat source and heat sink.
- Parameters:
demand_kw – Demand of heat in kW
p_el_kw – Electrical power in kW
q_max_kw – Maximum heat in kW
t_sink_floor_heating_k – Temperature of the floor heating sink in K
t_sink_radiator_heating_k – Temperature of the radiator heating sink in K
t_source_k – Temperature of the heat source in K
cop_coeff – Coefficients for the COP calculation
- Returns:
q_remain_kw - Remaining heat in kW
q_floor_kw - Heat for the floor heating in kW
q_radiator_kw - Heat for the radiator heating in kW
cop_floor - COP for the floor heating
cop_radiator - COP for the radiator heating
- third_mode_calc(demand_kw, q_max_kw, t_sink_floor_heating_k, t_sink_radiator_heating_k, t_source_k, cop_coeff)[source]
Calculation of quantities for the mode 3 of the heat pump. Mode 3 calculates the inputted electricity from infinite source (grid etc.) based on the heat demand and produces heat for the floor and radiator heating. Mode 3 also calculates the COP for the floor and radiator heating that is dependent on the temperature of the heat source and heat sink.
- Parameters:
demand_kw – Demand of heat in kW
q_max_kw – Maximum heat in kW
t_sink_floor_heating_k – Temperature of the floor heating sink in K
t_sink_radiator_heating_k – Temperature of the radiator heating sink in K
t_source_k – Temperature of the heat source in K
cop_coeff – Coefficients for the COP calculation
- Returns:
q_remain_kw - Remaining heat in kW
cop_floor - COP for the floor heating
cop_radiator - COP for the radiator heating
pel_floor_kw - Electrical power needed for the floor heating in kW
pel_radiator_kw - Electrical power needed for the radiator heating in kW
q_floor_kw - Heat for the floor heating in kW
q_radiator_kw - Heat for the radiator heating in kW
Depending on the selected operational mode, different calculations are performed:
Mode 1 is used when the BHP receives electrical energy from a well-defined source, such as a CHP unit, and also receives heat from the same source. It is defined by the following equation:
\[\dot{Q}_{out} = P_{in} \cdot COP + \dot{Q}_{in},\]where \(\dot{Q}_{out}\) is the output heat, \(P_{in}\) is the input electrical power, \(COP\) is the coefficient of performance of the booster heat pump, and \(\dot{Q}_{in}\) is the input heat.
Mode 2 is used when the BHP receives only electricity. It is defined by the equation:
\[\dot{Q}_{out} = P_{in} \cdot COP.\]Mode 3 assumes an infinite electrical source that provides electrical power, and the calculation is based on the following equation:
\[P_{in} = \frac{\dot{Q}_{dem}}{COP},\]where \(\dot{Q}_{dem}\) is the heat demand.
The calculation of \(COP\) is based on the following expression:
where \(a_0\), \(a_1\), and \(a_2\) are predefined coefficients, and \(\Delta T\) is the temperature difference between the source and the sink. Sink temperatures are calculated using heating curves.
The final important quantity is the maximum available heat that the booster heat pump can provide. It is calculated using the following equation:
where \(c_1\) and \(c_2\) are predefined coefficients.