Buildings.Templates.Components.Chillers

Chiller models

Information

This package contains models for chillers.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.Templates.Components.Chillers.Compression Compression Compression chiller

Buildings.Templates.Components.Chillers.Compression Buildings.Templates.Components.Chillers.Compression

Compression chiller

Buildings.Templates.Components.Chillers.Compression

Information

This is a model for air-cooled or water-cooled compression chillers where the capacity and input power are computed by interpolating manufacturer data along the evaporator entering or leaving temperature, the condenser entering or leaving temperature and the part load ratio. The model can be configured to represent either a cooling-only chiller (have_switchover=false) or a heat-recovery chiller (have_switchover=true) that can be controlled to track either a CHW temperature setpoint or a HW temperature setpoint.

This model is a wrapper for Buildings.Fluid.Chillers.ModularReversible.TableData2DLoadDep, which the user may refer to for the modeling assumptions. Note that, by default, internal safeties in this model are disabled.

Control points

The following input and output points are available.

Model parameters

The design parameters and the chiller performance data are specified with an instance of Buildings.Templates.Components.Data.Chiller.

Extends from Buildings.Templates.Components.Interfaces.PartialChiller (Interface class for chiller models).

Parameters

TypeNameDefaultDescription
replaceable package MediumChiWatWaterCHW medium
replaceable package MediumConWaterMedium model for condenser cooling fluid
Chillerdat Design and operating parameters
HeatFlowRateQCon_flow_nominalchi.PEle_nominal - QChiWat_f...Design condenser heat flow rate [W]
TemperatureTConEnt_nominalif dat.per.use_TConOutForTab...Design condenser entering fluid temperature [K]
TemperatureTConLvg_nominalif dat.per.use_TConOutForTab...Design condenser leaving fluid temperature [K]
EfficiencyCOP_nominalabs(QChiWat_flow_nominal)/ch...Coefficient of performance at design cooling conditions [1]
Configuration
Chillertyp Type of chiller
Booleanhave_switchoverfalseSet to true for heat recovery chiller with built-in switchover
Booleanuse_TChiWatSupForCtltrueSet to true for CHW supply temperature control, false for CHW return temperature control
Assumptions
BooleanallowFlowReversal1true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1
BooleanallowFlowReversal2true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2
Booleanhave_dpChiWattrueSet to true for CHW pressure drop computed by this model, false for external computation
Booleanhave_dpContrueSet to true for condenser cooling fluid pressure drop computed by this model, false for external computation
Advanced
MassFlowRatem1_flow_small1E-4*abs(m1_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
MassFlowRatem2_flow_small1E-4*abs(m2_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Dynamics
Nominal condition
Timetau30Time constant at nominal flow, used if energy or mass balance is dynamic [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state

Connectors

TypeNameDescription
FluidPort_aport_a1Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
FluidPort_bport_b1Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
FluidPort_aport_a2Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
FluidPort_bport_b2Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)
BusbusControl bus

Modelica definition

model Compression "Compression chiller" extends Buildings.Templates.Components.Interfaces.PartialChiller( final COP_nominal=abs(QChiWat_flow_nominal) / chi.PEle_nominal, final QCon_flow_nominal=chi.PEle_nominal - QChiWat_flow_nominal, final TConEnt_nominal=if dat.per.use_TConOutForTab then dat.TCon_nominal - QCon_flow_nominal / mCon_flow_nominal / cpCon_default else dat.TCon_nominal, final TConLvg_nominal=if dat.per.use_TConOutForTab then dat.TCon_nominal else dat.TCon_nominal + QCon_flow_nominal / mCon_flow_nominal / cpCon_default); Controls.StatusEmulator y1_actual "Compute chiller status"; Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal reqFloConWat( final nin=1, final nout=1, final extract={1}) if typ == Buildings.Templates.Components.Types.Chiller.WaterCooled "Compute CW flow request"; Buildings.Controls.OBC.CDL.Logical.Not off "Return true if status is off"; Buildings.Controls.OBC.CDL.Logical.TrueDelay delOff( delayTime=180) "Delay off status"; Buildings.Controls.OBC.CDL.Logical.Not reqFlo "Compute flow request"; Buildings.Fluid.Chillers.ModularReversible.TableData2DLoadDep chi( redeclare final package MediumCon=MediumCon, redeclare final package MediumEva=MediumChiWat, final use_TLoaLvgForCtl=use_TChiWatSupForCtl, allowDifferentDeviceIdentifiers=true, final allowFlowReversalCon=allowFlowReversal1, final allowFlowReversalEva=allowFlowReversal2, final datCoo=dat.per, final P_min=dat.P_min, final dpCon_nominal=if have_dpCon then dpCon_nominal else 0, final dpEva_nominal=if have_dpChiWat then dpChiWat_nominal else 0, dTCon_nominal=0, final dTEva_nominal=TChiWatSup_nominal - TChiWatRet_nominal, final energyDynamics=energyDynamics, final have_switchover=have_switchover, final mCon_flow_nominal=mCon_flow_nominal, final mEva_flow_nominal=mChiWat_flow_nominal, final QCoo_flow_nominal=QChiWat_flow_nominal, final show_T=show_T, final tauCon=tau, final tauEva=tau, final TConCoo_nominal=dat.TCon_nominal, final TEvaCoo_nominal=if dat.per.use_TEvaOutForTab then TChiWatSup_nominal else TChiWatRet_nominal, use_intSafCtr=false) "Chiller"; equation connect(bus.y1, y1_actual.y1); connect(y1_actual.y1_actual, bus.y1_actual); connect(reqFloConWat.y[1], bus.y1ReqFloConWat); connect(y1_actual.y1_actual, off.u); connect(off.y, delOff.u); connect(delOff.y, reqFlo.u); connect(reqFlo.y, bus.y1ReqFloChiWat); connect(reqFlo.y, reqFloConWat.u[1]); connect(port_a2, chi.port_a2); connect(chi.port_b2, port_b2); connect(port_a1, chi.port_a1); connect(chi.port_b1, port_b1); connect(bus.y1, chi.on); connect(bus.TChiWatSet, chi.TChwSet); connect(bus.y1Coo, chi.coo); connect(bus.THeaWatSet, chi.THwSet); end Compression;