Buildings.Fluid.Chillers
Package with chiller models
Information
This package contains component models for chillers.
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Package Content
Name  Description 

AbsorptionIndirectSteam  Indirect steam heated absorption chiller based on performance curves 
Carnot_TEva  Chiller with prescribed evaporator leaving temperature and performance curve adjusted based on Carnot efficiency 
Carnot_y  Chiller with performance curve adjusted based on Carnot efficiency 
ElectricEIR  Electric chiller based on the DOE2.1 model 
ElectricReformulatedEIR  Electric chiller based on the DOE2.1 model, but with performance as a function of condenser leaving instead of entering temperature 
Data  Performance data for electric chillers 
Examples  Collection of models that illustrate model use and test models 
Validation  Collection of models that validate the chiller models 
BaseClasses  Package with base classes for Buildings.Fluid.Chillers 
Buildings.Fluid.Chillers.AbsorptionIndirectSteam
Indirect steam heated absorption chiller based on performance curves
Information
Model for an indirect steam heated absorption chiller based on performance curves.
The model uses performance curves similar to the EnergyPlus model Chiller:Absorption:Indirect
.
The model uses six functions to predict the chiller cooling capacity, power consumption for
the chiller pump and the generator heat flow rate and the condenser heat flow.
These functions use the performance data stored in the record per
.
The computations are as follows:
The capacity function of the evaporator is
capFun_{eva} = A_{1} + A_{2} T_{eva,lvg} + A_{3} T^{2}_{eva,lvg} + A_{4} T^{3}_{eva,lvg}.
The capacity function of the condenser is
capFun_{con} = B_{1} + B_{2} T_{con,ent} + B_{3} T^{2}_{con,ent} + B_{4} T^{3}_{con,ent}.
These capacity functions are used to compute the available cooling capacity of the evaporator as
Q̇_{eva,ava} = capFun_{eva} capFun_{con} Q̇_{eva,0},
where Q̇_{eva,0} is obtained from the performance data per.QEva_flow_nominal
.
Let Q̇_{eva,set} denote the heat required to meet the set point TSet
.
Then, the model computes the part load ratio as
PLR =min(Q̇_{eva,set}/Q̇_{eva,ava}, PLR_{max}).
Hence, the model ensures that the chiller capacity does not exceed the chiller capacity specified
by the parameter per.PLRMax
.
The cycling ratio is computed as
CR = min(PLR/PLR_{min}, 1.0),
where PRL_{min} is obtained from the performance record per.PLRMin
.
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 operate.
Note that this model continuously operates 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 when the compressor is off and on.
Using the part load ratio, the energy input ratio of the chiller pump is
EIRP = C_{1} + C_{2}PLR+C_{3}PLR^{2}.
The generator heat input ratio is
genHIR = D_{1} + D_{2}PLR+D_{3}PLR^{2}+D_{4}PLR^{3}.
Two additional curves modify the heat input requirement based on the condenser inlet water temperature and the evaporator outlet water temperature. Specifically, the generator heat modifier based on the condenser inlet water temperature is
genT_{con} = E_{1} + E_{2} T_{con,ent} + E_{3} T^{2}_{con,ent} + E_{4} T^{3}_{con,ent},
and the generator heat modifier based on the evaporator inlet water temperature is
genT_{eva}= F_{1} + F_{2} T_{eva,lvg} + F_{3} T^{2}_{eva,lvg} + F_{4} T^{3}_{eva,lvg}.
The main outputs of the model that are to be used in energy analysis
are the required generator heat QGen_flow
and
the electric power consumption of the chiller pump P
.
For example, if the chiller were to be regenerated with steam, then
QGen_flow
is the heat that must be provided by a steam loop.
This model computes the required generator heat as
Q̇_{gen} = Q̇_{eva,ava} genHIR genT_{con} genT_{eva} CR.
The pump power consumption is
P = EIRP CR P_{0},
where P_{0} is the pump nominal power obtained from the performance data per.P_nominal
.
The heat balance of the chiller is
Q̇_{con} = Q̇_{eva} + Q̇_{gen} + P.
Performance data
The equipment performance data is obtained from the record per
,
which is an instance of
Buildings.Fluid.Chillers.Data.AbsorptionIndirectSteam.
Additional performance curves can be developed using
two available techniques (Hydeman and Gillespie, 2002). The first technique is called the
Leastsquares Linear Regression method and is used when sufficient performance data exist
to employ standard leastsquare linear regression techniques. The second technique is called
Reference Curve Method and is used when insufficient performance data exist to apply linear
regression techniques. A detailed description of both techniques can be found in
Hydeman and Gillespie (2002).
References
 Hydeman, M. and K.L. Gillespie. 2002. Tools and Techniques to Calibrate Electric Chiller Component Models. ASHRAE Transactions, AC0291.
Extends from Buildings.Fluid.Interfaces.FourPortHeatMassExchanger (Model transporting two fluid streams between four ports with storing mass or energy).
Parameters
Type  Name  Default  Description 

replaceable package Medium1  PartialMedium  Medium 1 in the component  
replaceable package Medium2  PartialMedium  Medium 2 in the component  
Generic  per  Performance data  
Nominal condition  
MassFlowRate  m1_flow_nominal  per.mCon_flow_nominal  Nominal mass flow rate [kg/s] 
MassFlowRate  m2_flow_nominal  per.mEva_flow_nominal  Nominal mass flow rate [kg/s] 
PressureDifference  dp1_nominal  per.dpCon_nominal  Pressure difference [Pa] 
PressureDifference  dp2_nominal  per.dpEva_nominal  Pressure difference [Pa] 
Assumptions  
Boolean  allowFlowReversal1  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 
Boolean  allowFlowReversal2  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 
Advanced  
MassFlowRate  m1_flow_small  1E4*abs(m1_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
MassFlowRate  m2_flow_small  1E4*abs(m2_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
HeatFlowRate  Q_flow_small  per.QEva_flow_nominal*1E6  Small value for heat flow rate or power, used to avoid division by zero [W] 
Diagnostics  
Boolean  show_T  false  = true, if actual temperature at port is computed 
Flow resistance  
Medium 1  
Boolean  from_dp1  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance1  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM1  0.1  Fraction of nominal flow rate where flow transitions to laminar 
Medium 2  
Boolean  from_dp2  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance2  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM2  0.1  Fraction of nominal flow rate where flow transitions to laminar 
Dynamics  
Nominal condition  
Time  tau1  30  Time constant at nominal flow [s] 
Time  tau2  30  Time constant at nominal flow [s] 
Conservation equations  
Dynamics  energyDynamics  Modelica.Fluid.Types.Dynamic...  Type of energy balance: dynamic (3 initialization options) or steady state 
Initialization  
Medium 1  
AbsolutePressure  p1_start  Medium1.p_default  Start value of pressure [Pa] 
Temperature  T1_start  273.15 + 25  Start value of temperature [K] 
MassFraction  X1_start[Medium1.nX]  Medium1.X_default  Start value of mass fractions m_i/m [kg/kg] 
ExtraProperty  C1_start[Medium1.nC]  fill(0, Medium1.nC)  Start value of trace substances 
ExtraProperty  C1_nominal[Medium1.nC]  fill(1E2, Medium1.nC)  Nominal value of trace substances. (Set to typical order of magnitude.) 
Medium 2  
AbsolutePressure  p2_start  Medium2.p_default  Start value of pressure [Pa] 
Temperature  T2_start  273.15 + 5  Start value of temperature [K] 
MassFraction  X2_start[Medium2.nX]  Medium2.X_default  Start value of mass fractions m_i/m [kg/kg] 
ExtraProperty  C2_start[Medium2.nC]  fill(0, Medium2.nC)  Start value of trace substances 
ExtraProperty  C2_nominal[Medium2.nC]  fill(1E2, Medium2.nC)  Nominal value of trace substances. (Set to typical order of magnitude.) 
Connectors
Type  Name  Description 

FluidPort_a  port_a1  Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_b  port_b1  Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_a  port_a2  Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) 
FluidPort_b  port_b2  Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) 
input BooleanInput  on  Set to true to enable the absorption chiller 
input RealInput  TSet  Evaporator setpoint leaving water temperature [K] 
output RealOutput  P  Chiller pump power [W] 
output RealOutput  QGen_flow  Required generator heat flow rate in the form of steam [W] 
output RealOutput  QEva_flow  Evaporator heat flow rate [W] 
output RealOutput  QCon_flow  Condenser heat flow rate [W] 
Modelica definition
Buildings.Fluid.Chillers.Carnot_TEva
Chiller with prescribed evaporator leaving temperature and performance curve adjusted based on Carnot efficiency
Information
This is a model of a chiller whose coefficient of performance COP changes with temperatures in the same way as the Carnot efficiency changes. The control input is the setpoint of the evaporator leaving temperature, which is met exactly at steady state if the chiller has sufficient capacity.
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} = COP_{0} ⁄ (T_{eva,0} ⁄ (T_{con,0} + T_{app,con,0}  (T_{eva,0}T_{app,eva,0}))),
where T_{eva,0} is the evaporator temperature, T_{con,0} is the condenser temperature, T_{app,eva,0} is the evaporator approach temperature and T_{app,con,0} is the condenser approach temperature.
The COP is computed as the product
COP = η_{Carnot,0} COP_{Carnot} η_{PL},
where COP_{Carnot} is the Carnot efficiency and η_{PL} is the part load efficiency, expressed using a polynomial. This polynomial has the form
η_{PL} = a_{1} + a_{2} y + a_{3} y^{2} + ...,
where y ∈ [0, 1] is
the part load for cooling and the coefficients a_{i}
are declared by the parameter a
.
On the Dynamics
tag, the model can be parametrized to compute a transient
or steadystate response.
The transient response of the model is computed using a first
order differential equation for the evaporator and condenser fluid volumes.
The chiller outlet temperatures are equal to the temperatures of these lumped volumes.
Typical use and important parameters
When using this component, make sure that the condenser has sufficient mass flow rate. Based on the evaporator mass flow rate, temperature difference and the efficiencies, the model computes how much heat will be added to the condenser. If the mass flow rate is too small, very high outlet temperatures can result.
The evaporator heat flow rate QEva_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 QEva_flow_nominal
is set to a reasonable value.
The maximum cooling capacity is set by the parameter QEva_flow_min
,
which is by default set to negative 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 heat pump, see Buildings.Fluid.HeatPumps.Examples.Carnot_TCon.
Extends from Buildings.Fluid.Chillers.BaseClasses.PartialCarnot_T (Partial model for chiller with performance curve adjusted based on Carnot efficiency).
Parameters
Type  Name  Default  Description 

replaceable package Medium1  PartialMedium  Medium 1 in the component  
replaceable package Medium2  PartialMedium  Medium 2 in the component  
HeatFlowRate  QEva_flow_min  Modelica.Constants.inf  Maximum heat flow rate for cooling (negative) [W] 
Nominal condition  
MassFlowRate  m1_flow_nominal  QCon_flow_nominal/cp1_defaul...  Nominal mass flow rate [kg/s] 
MassFlowRate  m2_flow_nominal  QEva_flow_nominal/cp2_defaul...  Nominal mass flow rate [kg/s] 
HeatFlowRate  QEva_flow_nominal  Nominal cooling heat flow rate (QEva_flow_nominal < 0) [W]  
HeatFlowRate  QCon_flow_nominal  QEva_flow_nominal*(1 + COP_...  Nominal heating flow rate [W] 
TemperatureDifference  dTEva_nominal  10  Temperature difference evaporator outletinlet [K] 
TemperatureDifference  dTCon_nominal  10  Temperature difference condenser outletinlet [K] 
Pressure  dp1_nominal  Pressure difference over condenser [Pa]  
Pressure  dp2_nominal  Pressure difference over evaporator [Pa]  
Efficiency  
Boolean  use_eta_Carnot_nominal  true  Set to true to use Carnot effectiveness etaCarnot_nominal rather than COP_nominal 
Real  etaCarnot_nominal  0.3  Carnot effectiveness (=COP/COP_Carnot) used during simulation if use_eta_Carnot_nominal = true [1] 
Real  COP_nominal  etaCarnot_nominal*TUseAct_no...  Coefficient of performance at TEva_nominal and TCon_nominal, used during simulation if use_eta_Carnot_nominal = false [1] 
Temperature  TCon_nominal  303.15  Condenser temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] 
Temperature  TEva_nominal  278.15  Evaporator temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] 
Real  a[:]  {1}  Coefficients for efficiency curve (need p(a=a, yPL=1)=1) 
TemperatureDifference  TAppCon_nominal  if cp1_default < 1500 then 5...  Temperature difference between refrigerant and working fluid outlet in condenser [K] 
TemperatureDifference  TAppEva_nominal  if cp2_default < 1500 then 5...  Temperature difference between refrigerant and working fluid outlet in evaporator [K] 
Assumptions  
Boolean  allowFlowReversal1  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 
Boolean  allowFlowReversal2  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 
Advanced  
MassFlowRate  m1_flow_small  1E4*abs(m1_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
MassFlowRate  m2_flow_small  1E4*abs(m2_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
Diagnostics  
Boolean  show_T  false  = true, if actual temperature at port is computed 
Flow resistance  
Condenser  
Boolean  from_dp1  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance1  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM1  0.1  Fraction of nominal flow rate where flow transitions to laminar [1] 
Evaporator  
Boolean  from_dp2  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance2  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM2  0.1  Fraction of nominal flow rate where flow transitions to laminar [1] 
Dynamics  
Condenser  
Time  tau1  60  Time constant at nominal flow rate (used if energyDynamics1 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] 
Temperature  T1_start  Medium1.T_default  Initial or guess value of set point [K] 
Evaporator  
Time  tau2  60  Time constant at nominal flow rate (used if energyDynamics2 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] 
Temperature  T2_start  Medium2.T_default  Initial or guess value of set point [K] 
Evaporator and condenser  
Dynamics  energyDynamics  Modelica.Fluid.Types.Dynamic...  Type of energy balance: dynamic (3 initialization options) or steady state 
Connectors
Type  Name  Description 

FluidPort_a  port_a1  Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_b  port_b1  Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_a  port_a2  Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) 
FluidPort_b  port_b2  Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) 
output RealOutput  QCon_flow  Actual heating heat flow rate added to fluid 1 [W] 
output RealOutput  P  Electric power consumed by compressor [W] 
output RealOutput  QEva_flow  Actual cooling heat flow rate removed from fluid 2 [W] 
input RealInput  TSet  Evaporator leaving water temperature [K] 
Modelica definition
Buildings.Fluid.Chillers.Carnot_y
Chiller with performance curve adjusted based on Carnot efficiency
Information
This is a model of a chiller 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} = COP_{0} ⁄ (T_{eva,0} ⁄ (T_{con,0} + T_{app,con,0}  (T_{eva,0}T_{app,eva,0}))),
where T_{eva,0} is the evaporator temperature, T_{con,0} is the condenser temperature, T_{app,eva,0} is the evaporator approach temperature and T_{app,con,0} is the condenser approach temperature.
The COP is computed as the product
COP = η_{Carnot,0} COP_{Carnot} η_{PL},
where COP_{Carnot} is the Carnot efficiency and η_{PL} is the part load efficiency, expressed using a polynomial. This polynomial has the form
η_{PL} = a_{1} + a_{2} y + a_{3} y^{2} + ...,
where y ∈ [0, 1] is
the part load for cooling and the coefficients a_{i}
are declared by the parameter a
.
On the Dynamics
tag, the model can be parametrized to compute a transient
or steadystate response.
The transient response of the model is computed using a first
order differential equation for the evaporator and condenser fluid volumes.
The chiller 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 evaporator heat flow rate QEva_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 QEva_flow_nominal
is set to a reasonable value.
The maximum cooling capacity is set by the parameter QEva_flow_min
,
which is by default set to negative 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 heat pump, see Buildings.Fluid.HeatPumps.Carnot_y.
Extends from Buildings.Fluid.Chillers.BaseClasses.PartialCarnot_y (Partial chiller model with performance curve adjusted based on Carnot efficiency).
Parameters
Type  Name  Default  Description 

replaceable package Medium1  PartialMedium  Medium 1 in the component  
replaceable package Medium2  PartialMedium  Medium 2 in the component  
Nominal condition  
MassFlowRate  m1_flow_nominal  QCon_flow_nominal/cp1_defaul...  Nominal mass flow rate [kg/s] 
MassFlowRate  m2_flow_nominal  QEva_flow_nominal/cp2_defaul...  Nominal mass flow rate [kg/s] 
TemperatureDifference  dTEva_nominal  10  Temperature difference evaporator outletinlet [K] 
TemperatureDifference  dTCon_nominal  10  Temperature difference condenser outletinlet [K] 
Pressure  dp1_nominal  Pressure difference over condenser [Pa]  
Pressure  dp2_nominal  Pressure difference over evaporator [Pa]  
Power  P_nominal  Nominal compressor power (at y=1) [W]  
Efficiency  
Boolean  use_eta_Carnot_nominal  true  Set to true to use Carnot effectiveness etaCarnot_nominal rather than COP_nominal 
Real  etaCarnot_nominal  0.3  Carnot effectiveness (=COP/COP_Carnot) used during simulation if use_eta_Carnot_nominal = true [1] 
Real  COP_nominal  etaCarnot_nominal*TUseAct_no...  Coefficient of performance at TEva_nominal and TCon_nominal, used during simulation if use_eta_Carnot_nominal = false [1] 
Temperature  TCon_nominal  303.15  Condenser temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] 
Temperature  TEva_nominal  278.15  Evaporator temperature used to compute COP_nominal if use_eta_Carnot_nominal=false [K] 
Real  a[:]  {1}  Coefficients for efficiency curve (need p(a=a, yPL=1)=1) 
TemperatureDifference  TAppCon_nominal  if cp1_default < 1500 then 5...  Temperature difference between refrigerant and working fluid outlet in condenser [K] 
TemperatureDifference  TAppEva_nominal  if cp2_default < 1500 then 5...  Temperature difference between refrigerant and working fluid outlet in evaporator [K] 
Assumptions  
Boolean  allowFlowReversal1  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 
Boolean  allowFlowReversal2  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 
Advanced  
MassFlowRate  m1_flow_small  1E4*abs(m1_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
MassFlowRate  m2_flow_small  1E4*abs(m2_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
Diagnostics  
Boolean  show_T  false  = true, if actual temperature at port is computed 
Flow resistance  
Condenser  
Boolean  from_dp1  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance1  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM1  0.1  Fraction of nominal flow rate where flow transitions to laminar [1] 
Evaporator  
Boolean  from_dp2  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance2  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM2  0.1  Fraction of nominal flow rate where flow transitions to laminar [1] 
Dynamics  
Condenser  
Time  tau1  60  Time constant at nominal flow rate (used if energyDynamics1 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] 
Temperature  T1_start  Medium1.T_default  Initial or guess value of set point [K] 
Evaporator  
Time  tau2  60  Time constant at nominal flow rate (used if energyDynamics2 <> Modelica.Fluid.Types.Dynamics.SteadyState) [s] 
Temperature  T2_start  Medium2.T_default  Initial or guess value of set point [K] 
Evaporator and condenser  
Dynamics  energyDynamics  Modelica.Fluid.Types.Dynamic...  Type of energy balance: dynamic (3 initialization options) or steady state 
Connectors
Type  Name  Description 

FluidPort_a  port_a1  Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_b  port_b1  Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_a  port_a2  Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) 
FluidPort_b  port_b2  Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) 
output RealOutput  QCon_flow  Actual heating heat flow rate added to fluid 1 [W] 
output RealOutput  P  Electric power consumed by compressor [W] 
output RealOutput  QEva_flow  Actual cooling heat flow rate removed from fluid 2 [W] 
input RealInput  y  Part load ratio of compressor [1] 
Modelica definition
Buildings.Fluid.Chillers.ElectricEIR
Electric chiller based on the DOE2.1 model
Information
Model of an electric chiller, based on the DOE2.1 chiller model and
the EnergyPlus chiller model Chiller:Electric:EIR
.
This model uses three functions to predict capacity and power consumption:
Function  Description  Formulation  

ElectricEIR (this model) 
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 
These functions take the same form as documented in
EnergyPlus v22.1.0 Engineering Reference
section 14.3.9.2 (equations 14.231 through 14.233).
These curves are stored in the data record per
and are available from
Buildings.Fluid.Chillers.Data.ElectricEIR.
How they are used to compute the adjusted capacity and compressor power
can be found in the documentation of
Buildings.Fluid.Chillers.BaseClasses.PartialElectric.
Additional performance curves can be developed using
two available techniques (Hydeman and Gillespie, 2002). The first technique is called the
Leastsquares Linear Regression method and is used when sufficient performance data exist
to employ standard leastsquare linear regression techniques. The second technique is called
Reference Curve Method and is used when insufficient performance data exist to apply linear
regression techniques. A detailed description of both techniques can be found in
Hydeman and Gillespie (2002).
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 builtin, ideal temperature control. The model has three tests on the part load ratio and the cycling ratio:

The test
PLR1 =min(QEva_flow_set/QEva_flow_ava, per.PLRMax);
ensures that the chiller capacity does not exceed the chiller capacity specified by the parameterper.PLRMax
. 
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 operate. Note that this model continuously operates 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. 
The test
PLR2 = max(per.PLRMinUnl, PLR1);
computes the part load ratio of the compressor. The assumption is that for a part load ratio belowper.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.
The model can be parametrized to compute a transient or steadystate response. The transient response of the chiller is computed using a first order differential equation for the evaporator and condenser fluid volumes. The chiller outlet temperatures are equal to the temperatures of these lumped volumes.
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.
References
 Hydeman, M. and K.L. Gillespie. 2002. Tools and Techniques to Calibrate Electric Chiller Component Models. ASHRAE Transactions, AC0291.
 EnergyPlus v22.1.0 Engineering Reference
Extends from Buildings.Fluid.Chillers.BaseClasses.PartialElectric (Partial model for electric chiller based on the model in DOE2, CoolTools and EnergyPlus).
Parameters
Type  Name  Default  Description 

replaceable package Medium1  PartialMedium  Medium 1 in the component  
replaceable package Medium2  PartialMedium  Medium 2 in the component  
MixingVolumeHeatPort  vol1  vol1(final prescribedHeatFlo...  Volume for fluid 1 
Boolean  have_switchover  false  Set to true for heat recovery chiller with builtin switchover 
Generic  per  Performance data  
Nominal condition  
MassFlowRate  m1_flow_nominal  mCon_flow_nominal  Nominal mass flow rate [kg/s] 
MassFlowRate  m2_flow_nominal  mEva_flow_nominal  Nominal mass flow rate [kg/s] 
PressureDifference  dp1_nominal  Pressure difference [Pa]  
PressureDifference  dp2_nominal  Pressure difference [Pa]  
Initialization  
Real  PLR1.start  0  Part load ratio [1] 
Assumptions  
Boolean  allowFlowReversal1  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 
Boolean  allowFlowReversal2  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 
Advanced  
MassFlowRate  m1_flow_small  1E4*abs(m1_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
MassFlowRate  m2_flow_small  1E4*abs(m2_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
Diagnostics  
Boolean  show_T  false  = true, if actual temperature at port is computed 
Flow resistance  
Medium 1  
Boolean  from_dp1  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance1  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM1  0.1  Fraction of nominal flow rate where flow transitions to laminar 
Medium 2  
Boolean  from_dp2  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance2  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM2  0.1  Fraction of nominal flow rate where flow transitions to laminar 
Dynamics  
Nominal condition  
Time  tau1  30  Time constant at nominal flow [s] 
Time  tau2  30  Time constant at nominal flow [s] 
Conservation equations  
Dynamics  energyDynamics  Modelica.Fluid.Types.Dynamic...  Type of energy balance: dynamic (3 initialization options) or steady state 
Initialization  
Medium 1  
AbsolutePressure  p1_start  Medium1.p_default  Start value of pressure [Pa] 
Temperature  T1_start  273.15 + 25  Start value of temperature [K] 
MassFraction  X1_start[Medium1.nX]  Medium1.X_default  Start value of mass fractions m_i/m [kg/kg] 
ExtraProperty  C1_start[Medium1.nC]  fill(0, Medium1.nC)  Start value of trace substances 
ExtraProperty  C1_nominal[Medium1.nC]  fill(1E2, Medium1.nC)  Nominal value of trace substances. (Set to typical order of magnitude.) 
Medium 2  
AbsolutePressure  p2_start  Medium2.p_default  Start value of pressure [Pa] 
Temperature  T2_start  273.15 + 5  Start value of temperature [K] 
MassFraction  X2_start[Medium2.nX]  Medium2.X_default  Start value of mass fractions m_i/m [kg/kg] 
ExtraProperty  C2_start[Medium2.nC]  fill(0, Medium2.nC)  Start value of trace substances 
ExtraProperty  C2_nominal[Medium2.nC]  fill(1E2, Medium2.nC)  Nominal value of trace substances. (Set to typical order of magnitude.) 
Connectors
Type  Name  Description 

FluidPort_a  port_a1  Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_b  port_b1  Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_a  port_a2  Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) 
FluidPort_b  port_b2  Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) 
input BooleanInput  on  Set to true to enable compressor, or false to disable compressor 
input RealInput  TSet  Set point for leaving chilled water temperature (condenser water if have_switchover=true and coo=false) [K] 
output RealOutput  P  Electric power consumed by compressor [W] 
output RealOutput  COP_h  Coefficient of performance of heating [1] 
input BooleanInput  coo  Switchover signal: true for cooling, false for heating 
Modelica definition
Buildings.Fluid.Chillers.ElectricReformulatedEIR
Electric chiller based on the DOE2.1 model, but with performance as a function of condenser leaving instead of entering temperature
Information
Model of an electric chiller, based on the model by
Hydeman et al. (2002) that has been developed in the CoolTools project
and that is implemented in EnergyPlus as the model
Chiller:Electric:ReformulatedEIR
.
This empirical model is similar to
Buildings.Fluid.Chillers.ElectricEIR.
The difference is that to compute the performance, this model
uses the condenser leaving temperature instead of the entering temperature,
and it uses a bicubic polynomial to compute the part load performance.
This model uses three functions to predict capacity and power consumption:
Function  Description  Formulation  

ElectricEIR (this model) 
ElectricReformulatedEIR (this model) 

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 
These curves are stored in the data record per
and are available from
Buildings.Fluid.Chillers.Data.ElectricReformulatedEIR.
How they are used to compute the adjusted capacity and compressor power
can be found in the documentation of
Buildings.Fluid.Chillers.BaseClasses.PartialElectric.
Additional performance curves can be developed using
two available techniques (Hydeman and Gillespie, 2002). The first technique is called the
Leastsquares Linear Regression method and is used when sufficient performance data exist
to employ standard leastsquare linear regression techniques. The second technique is called
Reference Curve Method and is used when insufficient performance data exist to apply linear
regression techniques. A detailed description of both techniques can be found in
Hydeman and Gillespie (2002).
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 builtin, ideal temperature control. The model has three tests on the part load ratio and the cycling ratio:

The test
PLR1 =min(QEva_flow_set/QEva_flow_ava, per.PLRMax);
ensures that the chiller capacity does not exceed the chiller capacity specified by the parameterper.PLRMax
. 
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 operate. Note that this model continuously operates 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. 
The test
PLR2 = max(per.PLRMinUnl, PLR1);
computes the part load ratio of the compressor. The assumption is that for a part load ratio belowper.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.
The model can be parametrized to compute a transient or steadystate response. The transient response of the chiller is computed using a first order differential equation for the evaporator and condenser fluid volumes. The chiller outlet temperatures are equal to the temperatures of these lumped volumes.
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.
References
 Hydeman, M., N. Webb, P. Sreedharan, and S. Blanc. 2002. Development and Testing of a Reformulated RegressionBased Electric Chiller Model. ASHRAE Transactions, HI02182.
 Hydeman, M. and K.L. Gillespie. 2002. Tools and Techniques to Calibrate Electric Chiller Component Models. ASHRAE Transactions, AC0291.
Extends from Buildings.Fluid.Chillers.BaseClasses.PartialElectric (Partial model for electric chiller based on the model in DOE2, CoolTools and EnergyPlus).
Parameters
Type  Name  Default  Description 

replaceable package Medium1  PartialMedium  Medium 1 in the component  
replaceable package Medium2  PartialMedium  Medium 2 in the component  
MixingVolumeHeatPort  vol1  vol1(final prescribedHeatFlo...  Volume for fluid 1 
Boolean  have_switchover  false  Set to true for heat recovery chiller with builtin switchover 
Generic  per  Performance data  
Nominal condition  
MassFlowRate  m1_flow_nominal  mCon_flow_nominal  Nominal mass flow rate [kg/s] 
MassFlowRate  m2_flow_nominal  mEva_flow_nominal  Nominal mass flow rate [kg/s] 
PressureDifference  dp1_nominal  Pressure difference [Pa]  
PressureDifference  dp2_nominal  Pressure difference [Pa]  
Initialization  
Real  PLR1.start  0  Part load ratio [1] 
Assumptions  
Boolean  allowFlowReversal1  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 
Boolean  allowFlowReversal2  true  = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 
Advanced  
MassFlowRate  m1_flow_small  1E4*abs(m1_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
MassFlowRate  m2_flow_small  1E4*abs(m2_flow_nominal)  Small mass flow rate for regularization of zero flow [kg/s] 
Diagnostics  
Boolean  show_T  false  = true, if actual temperature at port is computed 
Flow resistance  
Medium 1  
Boolean  from_dp1  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance1  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM1  0.1  Fraction of nominal flow rate where flow transitions to laminar 
Medium 2  
Boolean  from_dp2  false  = true, use m_flow = f(dp) else dp = f(m_flow) 
Boolean  linearizeFlowResistance2  false  = true, use linear relation between m_flow and dp for any flow rate 
Real  deltaM2  0.1  Fraction of nominal flow rate where flow transitions to laminar 
Dynamics  
Nominal condition  
Time  tau1  30  Time constant at nominal flow [s] 
Time  tau2  30  Time constant at nominal flow [s] 
Conservation equations  
Dynamics  energyDynamics  Modelica.Fluid.Types.Dynamic...  Type of energy balance: dynamic (3 initialization options) or steady state 
Initialization  
Medium 1  
AbsolutePressure  p1_start  Medium1.p_default  Start value of pressure [Pa] 
Temperature  T1_start  273.15 + 25  Start value of temperature [K] 
MassFraction  X1_start[Medium1.nX]  Medium1.X_default  Start value of mass fractions m_i/m [kg/kg] 
ExtraProperty  C1_start[Medium1.nC]  fill(0, Medium1.nC)  Start value of trace substances 
ExtraProperty  C1_nominal[Medium1.nC]  fill(1E2, Medium1.nC)  Nominal value of trace substances. (Set to typical order of magnitude.) 
Medium 2  
AbsolutePressure  p2_start  Medium2.p_default  Start value of pressure [Pa] 
Temperature  T2_start  273.15 + 5  Start value of temperature [K] 
MassFraction  X2_start[Medium2.nX]  Medium2.X_default  Start value of mass fractions m_i/m [kg/kg] 
ExtraProperty  C2_start[Medium2.nC]  fill(0, Medium2.nC)  Start value of trace substances 
ExtraProperty  C2_nominal[Medium2.nC]  fill(1E2, Medium2.nC)  Nominal value of trace substances. (Set to typical order of magnitude.) 
Connectors
Type  Name  Description 

FluidPort_a  port_a1  Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_b  port_b1  Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) 
FluidPort_a  port_a2  Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) 
FluidPort_b  port_b2  Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) 
input BooleanInput  on  Set to true to enable compressor, or false to disable compressor 
input RealInput  TSet  Set point for leaving chilled water temperature (condenser water if have_switchover=true and coo=false) [K] 
output RealOutput  P  Electric power consumed by compressor [W] 
output RealOutput  COP_h  Coefficient of performance of heating [1] 
input BooleanInput  coo  Switchover signal: true for cooling, false for heating 