modelEquationFitReversible

Model for a reversable heat pump based on the equation fit method

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 uMod which controls the heat pump operational mode. If per.reverseCycle = true the signal can take on the values -1 for cooling mode, 0 for off and +1 for heating mode.
    If per.reverseCycle = false and uMod = -1, the model stops with an error message.
  • The input TSet is the set point for the leaving fluid temperature at port port_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 is

    Q̇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_flow and s is the scaling factor specified by the parameter scaling_factor. The corresponding power consumption is

    P= ( β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 is

    Q̇ = 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 with per.coo rather than per.hea used 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

TypeNameDefaultDescription
Data.EquationFitReversible.GenericperPerformance data
Realscaling_factor1Scaling factor for heat pump capacity
Advanced
Modelica.Units.SI.HeatFlowRateQ_flow_smallper.hea.Q_flow*scaling_factor*1E-9Small value for heat flow rate or power, used to avoid division by zero

Components

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.IntegerInputuModControl input signal, cooling mode=-1, off=0, heating mode=+1
Modelica.Blocks.Interfaces.RealInputTSetSet point for leaving fluid temperature at port b1
Modelica.Blocks.Interfaces.RealOutputPCompressor power
Modelica.Blocks.Interfaces.RealOutputQSou_flowHeat flow rate at the source heat exchanger
Modelica.Blocks.Interfaces.RealOutputQLoa_flowHeat flow rate at the load heat exchanger
Modelica.Blocks.Interfaces.RealOutputCOPCoefficient of performance, assuming useful heat is at load side (at Medium 1)
RealPLRequFit.PLRPart load ratio
Buildings.Controls.OBC.CDL.Utilities.AssertaleMesGenerate 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.