Chiller
See also
Note
A chiller 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_chiller(prosumer, cp_water=4.18, t_sh=5.0, t_sc=2.0, pp_cond=5.0, pp_evap=5.0, plf_cc=0.9, w_evap_pump=200.0, w_cond_pump=200.0, eng_eff=1.0, n_ref='R410A', name=None, index=None, in_service=True, period=0, level=0, order=0, **kwargs)[source]
Creates a chiller element in prosumer[“chiller”] and a chiller controller.
- INPUT:
prosumer - The prosumer within which this chiller should be created.
max_q_kw (float) - Maximal cooling power of the chiller [kW].
- OPTIONAL:
cooling_value_kj_per_kg (float, default 200e3) - Cooling Value of the refrigerant [kJ/kg].
efficiency_percent (float, default 100) - Chiller Efficiency [%].
name (string, default None) - The name for this chiller.
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 chiller.
- EXAMPLE:
create_controlled_chiller(prosumer, “chiller_1”)
Controller
graphical representation here
Input Static Data
Parameter |
Description |
Unit |
|---|---|---|
fluid_cp |
Fluid specific heat capacity |
kJ/kg.K |
superheating_temp |
Superheating temperature |
°C |
subcooling_temp |
Subcooling temperature |
°C |
condenser_pinch |
Condenser Pinch point |
delta °C |
evaporator_pinch |
Evaporator Pinch point |
delta °C |
cd_coefficient |
Cd Coefficient |
|
evap_pump_power |
Evaporator pump power |
kJ/h |
cond_pump_power |
Condenser pump power |
kJ/h |
motor_efficiency |
Motor efficiency |
|
refrigerant_fluid |
Refrigerant fluid |
Input Time Series
Parameter |
Description |
Unit |
|---|---|---|
time_series_file |
Name of the file containing the time histories |
|
setpoint_temp_col |
Column header of Set point temperature |
K |
evap_inlet_temp_col |
Column header of Evaporator inlet temperature |
K |
cond_inlet_temp_col |
Column header of Condenser inlet temperature |
K |
cond_temp_increase_col |
Column header of Condenser temp. increase |
delta °C |
cooling_demand_col |
Column header of Cooling demand |
kJ/h |
isentropic_eff_col |
Column header of Isentropic efficiency |
|
max_chiller_power_col |
Column header of Maximum chiller power |
kJ/h |
control_signal_col |
Column header of Control signal |
Output Time Series
Parameter |
Description |
Unit |
|---|---|---|
delivered_power_chiller |
Delivered power by chiller |
kJ/h |
unmet_demand |
Unmet cooling demand |
kJ/h |
compressor_power |
Compressor power consumption |
kJ/h |
eer |
Energy Efficiency Ratio |
|
plr |
Part Load Ratio |
|
evaporator_temp |
Evaporator temperature |
K |
condenser_temp |
Condenser temperature |
K |
evaporator_flow |
Evaporator flow rate |
kg/h |
condenser_flow |
Condenser flow rate |
kg/h |
evaporator_power |
Evaporator power consumption |
kJ/h |
Mapping
The Compression Chiller model uses Generic Mapping Scheme.
Model
The model first checks whether the chiller is on. For the chiller to be on, all of the following conditions must be met:
The control signal is greater than 0.5.
The cooling demand is greater than 0.
The evaporator set point temperature is greater than the evaporator inlet temperature.
If these conditions are satisfied, a simple refrigeration cycle is calculated from the input data.
Evaporating Temperature
The model considers four possible pinch points — two in the evaporator and two in the condenser — located as shown in the referenced figure (Figure 8). In this figure:
\(Q_c\) refers to the cooling energy.
\(Q_h\) refers to the heating energy.
The evaporating temperature is determined by evaluating the two evaporator pinch points (inlet and outlet):
Where:
\(T_{set}\) : heat pump set point temperature
\(PP_{evap}\) : pinch point in the evaporator
\(T_i\) : evaporator inlet water temperature
\(T_{SH}\) : superheating temperature
With this temperature and saturation conditions, the evaporating pressure \(P_{evap}\) is obtained via CoolProp.
Condensing Temperature
The condensing temperature is calculated based on the pinch point at the condenser outlet:
Where:
\(T_{in,cond}\) : water temperature at condenser inlet
\(\Delta T_{cond}\) : temperature increase in condenser
\(PP_{cond}\) : pinch point on the condenser
\(T_{SC}\) : subcooling temperature
This temperature may later be corrected to ensure pinch conditions on the steam saturation line are met.
Compressor Inlet and Isentropic Compression
The refrigerant conditions at the compressor inlet are determined using:
\(T = T_{evap} + T_{SH}\)
\(P = P_{evap}\)
From this, CoolProp is called to compute thermodynamic properties.
To determine the isentropic compression conditions, CoolProp is called with the inlet entropy and condensing pressure.
The enthalpy at the compressor discharge is calculated as:
Where:
\(h_{dis}\) : enthalpy at compressor discharge
\(h_{suc}\) : enthalpy at compressor inlet
\(h_{is}\) : enthalpy of isentropic compression
\(\eta_{is}\) : isentropic efficiency of the compressor
CoolProp is again called with this discharge enthalpy and condensing pressure to obtain the discharge conditions.
Condenser Outlet Conditions
Condenser outlet conditions are computed with:
\(T = T_{cond} - T_{SC}\)
\(P = P_{cond}\)
Where \(T_{SC}\) is the degrees of subcooling.
Heat Production and Flow Rates
To calculate condenser and refrigerant flow rates, the demand is limited to the available pump power:
Where:
\(\dot{Q}_{load}\) : heat demand (input 5)
\(P_{nom}\) : effective power of the heat pump under current conditions (input 7)
\(\dot{Q}_{loadef}\) : heat production at the current timestep
The refrigerant flow rate is then calculated using this effective load.
- where:
\(\dot{m}_{ref}\): refrigerant flow rate
\(h_{suc}\): enthalpy at compressor inlet
\(h_{cond\_out}\): enthalpy at condenser outlet
Condenser-side water mass flow rate is:
- where:
\(\dot{m}_{cond}\): condenser water flow rate
\(\Delta T_{cond}\): temperature rise in the condenser (water side)
To verify the condenser-side pinch point above the dew line, the refrigerant enthalpy at saturation vapor (dew) point is obtained using:
\(P = P_{cond}\)
\(Q = 1\)
to get enthalpy \(h_{bub}\). Then, water temperature at this pinch point is:
The pinch condition is then checked:
If this condition is met, the condenser temperature is redefined:
The cycle is then recalculated starting again from the compressor inlet.
Compressor power consumption:
- where:
\(\eta_{mec}\): motor or frequency converter efficiency
Partial load ratio:
Partial load factor (UNE14825 correction):
Final heat pump power consumption:
Pump consumption:
Total consumption:
Condenser and evaporator powers:
Flow rates from energy balances:
Output temperatures:
Unmet demand:
Compressor thermal losses:
Energy Efficiency Ratio (EER):