modelEquationFitReversible
Extends from Buildings.Fluid.Interfaces.FourPortHeatMassExchanger.
Information
Model for a reversable heat pump using the equation fit method and that takes as an input the set point for the leaving fluid temperature.
This reversable heat pump can be operated either in heating mode or in cooling mode.
It typically is used for a water to water heat pump, but if the performance data
per are set up for other media, such as glycol, it can also be used for
such applications.
Note that if used with air, the results will only be valid if there is no
humidity condensation or frost build up.
The heat exchanger at medium 1 is to be connected to the building load,
and the other heat exchanger to the heat source or sink, such as
a geothermal loop.
If in heating mode, the heat exchanger at medium 1 operates as a condenser,
and in cooling mode it operates as an evaporator.
The model is based on the model described in the EnergyPlus 9.1.0 Engineering Reference, Section 16.6.1: Water to water heat pump model and the model based on C.Tang (2005).
The model takes the following control signals:
-
The integer input
uModwhich controls the heat pump operational mode. Ifper.reverseCycle = truethe signal can take on the values -1 for cooling mode, 0 for off and +1 for heating mode.
Ifper.reverseCycle = falseanduMod = -1, the model stops with an error message. -
The input
TSetis the set point for the leaving fluid temperature at portport_b1.
The heating and cooling performance coefficients are stored in the data record per and are available from
Buildings.Fluid.HeatPumps.Data.EquationFitReversible.
The electric power only includes the power for the compressor, but not any power for pumps, as the pumps must be modeled outside of this component.
Main equations
The performance of the heat pump is computed as follows:
Let α be the set of heat load performance coefficients determined by the data
record per.hea.coeQ and let
β be the set of electrical power performance coefficients determined by the data
record hea.coeP.
Then, the performance is computed as
-
If
uMod = 1, the heat pump is in heating mode and the load side available heat isQ̇ava = ( α1 + α2 Tloa,ent/TRefHeaLoa + α3 Tsou,ent/TRefHeaSou + α4 ṁloa,ent/(ṁloa,0 s) + α5 ṁsou,ent/(ṁsou,0 s) ) Q̇0 s,
where Q̇0 is the design capacity as specified by the parameter
per.hea.Q_flowand s is the scaling factor specified by the parameterscaling_factor. The corresponding power consumption isP= ( β1 + β2 Tloa,ent/TRefHeaLoa + β3 Tsou,ent/TRefHeaSou + β4 ṁloa,ent/(ṁloa,0 s) + β5 ṁsou,ent/(ṁsou,0 s) ) P0 s,
where P0 is the design power consumption as specified by the parameter
per.hea.P. The actual heat provided at the load side isQ̇ = min(Q̇ava , Q̇set),
where Q̇set is the heat required to meet the temperature setpoint for the leaving fluid on the load side.
-
If
uMod = -1, the heat pump is in cooling mode, and the governing equations are as above, but withper.coorather thanper.heaused for the performance data, and the min(· ·) function replaced with max(· ·). -
If
uMod = 0, the model sets Q̇ = 0 and P = 0.
The coefficient of performance COP is computed as
COP = Q̇ ⁄ P.
References
C. Tang Equation fit based models of water source heat pumps. Master Thesis. Oklahoma State University, Oklahoma, USA. 2005.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Data.EquationFitReversible.Generic | per | Performance data | |
| Real | scaling_factor | 1 | Scaling factor for heat pump capacity |
| Advanced | |||
| Modelica.Units.SI.HeatFlowRate | Q_flow_small | per.hea.Q_flow*scaling_factor*1E-9 | Small value for heat flow rate or power, used to avoid division by zero |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.IntegerInput | uMod | Control input signal, cooling mode=-1, off=0, heating mode=+1 | |
| Modelica.Blocks.Interfaces.RealInput | TSet | Set point for leaving fluid temperature at port b1 | |
| Modelica.Blocks.Interfaces.RealOutput | P | Compressor power | |
| Modelica.Blocks.Interfaces.RealOutput | QSou_flow | Heat flow rate at the source heat exchanger | |
| Modelica.Blocks.Interfaces.RealOutput | QLoa_flow | Heat flow rate at the load heat exchanger | |
| Modelica.Blocks.Interfaces.RealOutput | COP | Coefficient of performance, assuming useful heat is at load side (at Medium 1) | |
| Real | PLR | equFit.PLR | Part load ratio |
| Buildings.Controls.OBC.CDL.Utilities.Assert | aleMes | Generate alert message if control input is not valid |
Revisions
-
June 4, 2024, by Antoine Gautier:
Added load limit depending on operating mode.
This is for #3815. -
April 1, 2024, by Michael Wetter:
Corrected wrong assertion.
This is for #3664. -
September 16, 2019 by Michael Wetter:
Refactored implementation. -
September 2, 2019, by Hagar Elarga:
First implementation.