modelPartialElectric

Partial model for electric chiller based on the model in DOE-2, CoolTools and EnergyPlus

Extends from Buildings.Fluid.Interfaces.FourPortHeatMassExchanger.

Information

Base class for model of an electric chiller, based on the DOE-2.1 chiller model and the CoolTools chiller model that are implemented in EnergyPlus as the models Chiller:Electric:EIR and Chiller:Electric:ReformulatedEIR.

The model takes as an input the set point for the leaving chilled water temperature, which is met if the chiller has sufficient capacity. Thus, the model has a built-in, ideal temperature control. The model has three tests on the part load ratio and the cycling ratio:

  1. The test
      PLR1 =min(QEva_flow_set/QEva_flow_ava, PLRMax)
    
    ensures that the chiller capacity does not exceed the chiller capacity specified by the parameter PLRMax.
  2. The test
      CR = min(PLR1/per.PRLMin, 1.0)
    
    computes a cycling ratio. This ratio expresses the fraction of time that a chiller would run if it were to cycle because its load is smaller than the minimal load at which it can operature. Notice that this model does continuously operature even if the part load ratio is below the minimum part load ratio. Its leaving evaporator and condenser temperature can therefore be considered as an average temperature between the modes where the compressor is off and on.
  3. The test
      PLR2 = max(PLRMinUnl, PLR1)
    
    computes the part load ratio of the compressor. The assumption is that for a part load ratio below PLRMinUnl, the chiller uses hot gas bypass to reduce the capacity, while the compressor power draw does not change.

The electric power only contains the power for the compressor, but not any power for pumps or fans.

Optionally, the model can be configured to represent heat recovery chillers with a switchover option by setting the parameter have_switchover to true. In that case an additional Boolean input connector coo is used. The chiller is tracking a chilled water supply temperature setpoint at the outlet of the evaporator barrel if coo is true. Otherwise, if coo is false, the chiller is tracking a hot water supply temperature setpoint at the outlet of the condenser barrel. See Buildings.Fluid.Chillers.Examples.ElectricEIR_HeatRecovery for an example with a chiller operating in heating mode.

Implementation

This implementation computes the chiller capacity and power consumption the same way as documented in EnergyPlus v22.1.0 Engineering Reference section 14.3.9.2. Especially see equations 14.234 and 14.240 in the referenced document.

The available chiller capacity QEva_flow_ava is adjusted from its nominal capacity QEva_flow_nominal by factor capFunT as

  QEva_flow_ava = QEva_flow_nominal*capFunT

and the compressor power consumption is computed as

  P = -QEva_flow_ava*(1/COP_nominal)*EIRFunT*EIRFunPLR*CR.

The models that extend from this base class implement the functions used above in ways that are shown in the table below.

Function Description Formulation
ElectricEIR ElectricReformulatedEIR
capFunT Adjusts cooling capacity for current fluid temperatures Biquadratic on TConEnt and TEvaLvg Biquadratic on TConLvg and TEvaLvg
EIRFunPLR Adjusts EIR for the current PLR Quadratic on PLR Bicubic on TConLvg and PLR
EIRFunT Adjusts EIR for current fluid temperatures Biquadratic on TConEnt and TEvaLvg Biquadratic on TConLvg and TEvaLvg

where TConEnt is the condenser entering temperature, TEvaLvg is the evaporator leaving temperature, TConLvg is the condenser leaving temperatore, and PLR is the part load ratio.

References

Parameters

TypeNameDefaultDescription
Booleanhave_switchoverfalseSet to true for heat recovery chiller with built-in switchover

Components

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.BooleanInputonSet to true to enable compressor, or false to disable compressor
Modelica.Blocks.Interfaces.RealInputTSetSet point for leaving chilled water temperature (condenser water if have_switchover=true and coo=false)
Modelica.Blocks.Interfaces.RealOutputPElectric power consumed by compressor
Modelica.Blocks.Interfaces.RealOutputCOP_hCoefficient of performance of heating
Modelica.Units.SI.TemperatureTEvaEntEvaporator entering temperature
Modelica.Units.SI.TemperatureTEvaLvgEvaporator leaving temperature
Modelica.Units.SI.TemperatureTConEntCondenser entering temperature
Modelica.Units.SI.TemperatureTConLvgCondenser leaving temperature
Modelica.Units.SI.EfficiencyCOPCoefficient of performance
Modelica.Units.SI.HeatFlowRateQCon_flowCondenser heat input
Modelica.Units.SI.HeatFlowRateQEva_flowEvaporator heat input
RealcapFunTCooling capacity factor function of temperature curve
Modelica.Units.SI.EfficiencyEIRFunTPower input to cooling capacity ratio function of temperature curve
Modelica.Units.SI.EfficiencyEIRFunPLRPower input to cooling capacity ratio function of part load ratio
RealPLR1Part load ratio
RealPLR2Part load ratio
RealCRCycling ratio
Controls.OBC.CDL.Interfaces.BooleanInputcooSwitchover signal: true for cooling, false for heating
Controls.OBC.CDL.Logical.Sources.ConstanttruConstant true signal

Revisions

  • June 4, 2024, by Antoine Gautier:
    Added load limit in heating mode.
    This is for #3815.
  • January 11, 2023, by Antoine Gautier:
    Added optional switchover mode for heat recovery chillers.
    This is for #3211.
  • November 19, 2021, by David Blum:
    Add humidity to entering condenser state calculation.
    This is for issue 2770.
  • June 28, 2019, by Michael Wetter:
    Removed start values and removed nominal=1 for performance curves.
    This is for issue 1465.
  • March 12, 2015, by Michael Wetter:
    Refactored model to make it once continuously differentiable. This is for issue 373.
  • Jan. 10, 2011, by Michael Wetter:
    Added input signal to switch chiller off, and changed base class to use a dynamic model. The change of the base class was required to improve the robustness of the model when the control is switched on again.
  • Sep. 8, 2010, by Michael Wetter:
    Revised model and included it in the Buildings library.
  • October 13, 2008, by Brandon Hencey:
    First implementation.