modelCarnot_y

Reversible heat pump with performance curve adjusted based on Carnot efficiency

Extends from Buildings.Fluid.Chillers.BaseClasses.PartialCarnot_y.

Information

This is model of a heat pump whose coefficient of performance COP changes with temperatures in the same way as the Carnot efficiency changes. The input signal y is the control signal for the compressor.

Set use_eta_Carnot_nominal=true to specify directly the Carnot effectiveness ηCarnot,0, in which case the value of the parameter COP_nominal will not affect the simulation. If use_eta_Carnot_nominal=false, the model will use the value of the parameter COP_nominal together with the specified nominal temperatures to compute the Carnot effectiveness as

ηCarnot,0 = COP0 ⁄ (Tcon,0 ⁄ (Tcon,0 + Tapp,con,0 - (Teva,0-Tapp,eva,0))),

where Teva,0 is the evaporator temperature, Tcon,0 is the condenser temperature, Tapp,eva,0 is the evaporator approach temperature and Tapp,con,0 is the condenser approach temperature.

The COP is computed as the product

COP = ηCarnot,0 COPCarnot ηPL,

where COPCarnot is the Carnot efficiency and ηPL is the part load efficiency, expressed using a polynomial. This polynomial has the form

ηPL = a1 + a2 y + a3 y2 + ...,

where y ∈ [0, 1] is the part load for heating and the coefficients ai are declared by the parameter a.

On the Dynamics tag, the model can be parametrized to compute a transient or steady-state response. The transient response of the model is computed using a first order differential equation for the evaporator and condenser fluid volumes. The heat pump outlet temperatures are equal to the temperatures of these lumped volumes.

Typical use and important parameters

When using this component, make sure that the evaporator and the condenser have sufficient mass flow rate. Based on the mass flow rates, the compressor power, temperature difference and the efficiencies, the model computes how much heat will be added to the condenser and removed at the evaporator. If the mass flow rates are too small, very high temperature differences can result.

The condenser heat flow rate QCon_flow_nominal is used to assign the default value for the mass flow rates, which are used for the pressure drop calculations. It is also used to compute the part load efficiency. Hence, make sure that QCon_flow_nominal is set to a reasonable value.

The maximum heating capacity is set by the parameter QCon_flow_max, which is by default set to infinity.

The coefficient of performance depends on the evaporator and condenser leaving temperature since otherwise the second law of thermodynamics may be violated.

Notes

For a similar model that can be used as a chiller, see Buildings.Fluid.Chillers.Carnot_y.

Revisions

  • February 3, 2023, by Michael Wetter:
    Changed in base class the parameter binding etaCarnot_nominal(unit="1") = COP_nominal/(TUseAct_nominal/(TCon_nominal+TAppCon_nominal - (TEva_nominal-TAppEva_nominal))) to etaCarnot_nominal(unit="1") = 0.3 to avoid a circular assignment.
    Improved documentation.
    This is for Buildings, #3226.
  • January 3, 2017, by Michael Wetter:
    Removed parameters effInpEva and effInpCon and updated documentation. This is for issue 497.
  • August 8, 2016, by Michael Wetter:
    Changed default temperature to compute COP to be the leaving temperature as use of the entering temperature can violate the 2nd law if the temperature lift is small.
    This is for Annex 60, issue 497.
  • January 26, 2016, by Michael Wetter:
    Refactored model to use the same base class as Buildings.Fluid.Chillers.Carnot_y.
    Changed part load efficiency to depend on heating part load ratio rather than on the compressor part load ratio.
  • January 20, 2015, by Damien Picard:
    Add Carnot model to Annex 60 from the Buildings library.
    Removed the flow direction dependency of staA1, staB1, staA2 and staB2 as the efficiency of the Carnot machine should only be computed in the design flow direction.
  • December 18, 2015, by Michael Wetter:
    Corrected wrong computation of staB1 and staB2 which mistakenly used the inStream operator for the configuration without flow reversal. This is for issue 476.
  • November 25, 2015 by Michael Wetter:
    Changed sign convention for dTEva_nominal to be consistent with other models. The model will still work with the old values for dTEva_nominal, but it will write a warning so that users can transition their models.
    Corrected assert statement for the efficiency curve. This is for issue 468.
  • September 3, 2015 by Michael Wetter:
    Expanded documentation.
  • May 6, 2015 by Michael Wetter:
    Added prescribedHeatFlowRate=true for vol2.
  • October 9, 2013 by Michael Wetter:
    Reimplemented the computation of the port states to avoid using the conditionally removed variables sta_a1, sta_a2, sta_b1 and sta_b2.
  • May 10, 2013 by Michael Wetter:
    Added electric power P as an output signal.
  • October 11, 2010 by Michael Wetter:
    Fixed bug in energy balance.
  • March 3, 2009 by Michael Wetter:
    First implementation.