modelAirToWater

Air-to-water heat pump plant

Extends from Buildings.Templates.Plants.HeatPumps.Interfaces.PartialHeatPumpPlant (Interface class for heat pump plant).

Information

Description

This template represents an air-to-water heat pump plant with closed-loop controls. While the heat pump plant configuration can be changed through parameters, the image below shows a typical configuration with two reversible air-to-water heat pumps, a primary-secondary distribution system and a sidestream heat recovery chiller. For a detailed schematic of the actual plant configuration, refer to the diagram view of the plant component. In Dymola, for example, you can access this by right-clicking the component pla in the model Buildings.Templates.Plants.HeatPumps.Validation.AirToWater and selecting "Show Component" from the context menu.

Image of heat pump plant

Currently, only identical heat pumps are supported. Although the template can accommodate any number of identical heat pumps, the graphical feedback for system configuration via the diagram layer is only accurate for up to 6 devices.

The supported plant configurations are enumerated in the table below. The first option displayed in bold characters corresponds to the default configuration.

Configuration parameterOptionsNotes
Function Heating and cooling
Heating-only
The plant always provides heating hot water.
Setting the parameter have_chiWat to true (default setting) allows modeling a plant that provides both heating hot water and chilled water.
Heat recovery Without sidestream heat recovery chiller
With sidestream heat recovery chiller
This option is only available for heating and cooling plants. When selected, the template includes a chiller and its associated dedicated primary CHW and CW pumps. The chiller is considered connected in a sidestream configuration to both the CHW return and the HW return.
Type of distribution Constant primary-variable secondary centralized
Variable primary-only
It is assumed that the HW and the CHW loops have the same type of distribution, as specified by this parameter.
Most AWHPs on the market use a reverse cycle for defrosting. This requires maximum primary flow during defrost cycles. Consequently, variable primary plants commonly adopt a high minimum flow setpoint, typically close to the design flow rate, effectively operating akin to constant primary plants but with variable speed pumps controlling the loop differential pressure. While the flow rate directed towards the loads varies, the bypass valve control loop ensures a constant primary flow for a given number of staged units.
"Centralized secondary pumps" refers to configurations with a single group of secondary pumps that is typically integrated into the plant.
Distributed secondary pumps with multiple secondary loops served by dedicated secondary pumps are currently not supported.
Type of primary pump arrangement Dedicated
Headered
It is assumed that the HW and the CHW loops have the same type of primary pump arrangement, as specified by this parameter.
Separate dedicated primary CHW pumps False
True
This option is only available for heating and cooling plants with dedicated primary pumps. If this option is not selected (default setting), each AWHP uses a common dedicated primary pump for HW and CHW – this pump is then denoted as the primary HW pump. Otherwise, each AWHP relies on a separate dedicated HW pump and a separate dedicated CHW pump.
Type of primary HW pumps Variable speed
Constant speed
For constant primary-variable secondary distributions, the variable speed primary pumps are commanded at fixed speeds, determined during the Testing, Adjusting and Balancing phase to provide design AWHP flow in heating and cooling modes. The same intent is achieved with constant speed primary pumps through the use of balancing valves.
Type of primary CHW pumps Variable speed
Constant speed
See the note above on primary HW pumps.
HW buffer tank HW buffer tank in the primary supply
HW buffer tank in the primary return
No HW buffer tank
By default, the HW buffer tank is considered integrated into the primary supply to mitigate the impact of defrost cycles on the temperature of the HW supplied to the loads. This assumes that the buffer tank is well-mixed.
The default sizing of the tank corresponds to 4 min of the design primary flow rate. This is based on manufacturer recommendations, which account for the fact that defrost cycles can take 3 to 5 min to complete.
CHW buffer tank CHW buffer tank in the primary return
CHW buffer tank in the primary supply
No CHW buffer tank
By default, the CHW buffer tank is considered integrated into the primary return to mitigate the impact of rapid load variations on the plant controls. This assumes that the buffer tank is well-mixed.
The default sizing of the tank corresponds to 2 min of the design primary flow rate, based on manufacturer recommendations.
Controller Closed-loop controls with supply temperature and differential pressure reset
Most parts of the sequence of operation are similar to that described in ASHRAE, 2021 for chiller plants.
See the documentation of Buildings.Templates.Plants.Controls.HeatPumps.AirToWater for more details.
An open loop controller is also available for validation purposes.

Control points

The control sequence implemented in this template requires the external input points specified in the documentation of the controller Buildings.Templates.Plants.HeatPumps.Components.Controls.AirToWater.

Implementation details

The pressure drops of the heat pump CHW and HW heat exchangers are calculated within the isolation valve component valIso based on lumped flow coefficients for the sake of computational efficiency.

The template uses a heat pump model that interpolates capacity and power from manufacturer data along the CHW/HW temperature, the outdoor air temperature and the part load ratio. The heat pump performance data are provided via the subrecords dat.hp.perHeaHp and dat.hp.perCooHp for the heating mode and the cooling mode, respectively. For the required format of the performance data files, please refer to the documentation of the block Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDep.

References

  • ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation for HVAC Systems. Atlanta, GA.

Parameters

TypeNameDefaultDescription
Booleanhave_hrc (from PartialHeatPumpPlant)if have_heaWat and have_chiWat then have_hrc_select else falseSet to true for plants with sidestream heat recovery chiller
Buildings.Templates.Plants.HeatPumps.Configuration.HeatPumpPlantcfg (from PartialHeatPumpPlant)Configuration parameters
Buildings.Templates.Plants.HeatPumps.Data.HeatPumpPlantdat (from PartialHeatPumpPlant)Design and operating parameters
Buildings.Templates.Plants.HeatPumps.Types.DistributiontypDis (from PartialHeatPumpPlant)if typ == Buildings.Templates.Components.Types.HeatPump.AirToWater then typDis_select1 else typDis_select2Type of distribution system
Booleanhave_valHpInlIso (from PartialHeatPumpPlant)if not have_chiWat and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated then false else trueSet to true for isolation valves at HP inlet
Booleanhave_valHpOutIso (from PartialHeatPumpPlant)if not have_chiWat and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated then false elseif nHp == 1 then false elseif have_pumChiWatPriDed then false else trueSet to true for isolation valves at HP outlet
Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimarytypPumHeaWatPri (from PartialHeatPumpPlant)if have_heaWat then (if typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2 then typPumHeaWatPri_select1 else Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Variable) else Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.NoneType of primary HW pumps
Booleanhave_pumHeaWatPriVar (from PartialHeatPumpPlant)typPumHeaWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.VariableSet to true for variable speed primary HW pumps
Buildings.Templates.Components.Types.IntegrationPointtypTanHeaWat (from PartialHeatPumpPlant)if have_heaWat then typTanHeaWat_select else Buildings.Templates.Components.Types.IntegrationPoint.NoneSpecify if there is a HW buffer tank and where it is integrated into the system
Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimarytypPumChiWatPri (from PartialHeatPumpPlant)if have_pumChiWatPriDed or have_chiWat and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Headered then (if typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2 then typPumChiWatPri_select1 else Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Variable) else Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.NoneType of primary CHW pumps
Booleanhave_pumChiWatPriVar (from PartialHeatPumpPlant)typPumChiWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.VariableSet to true for variable speed primary CHW pumps
Buildings.Templates.Components.Types.IntegrationPointtypTanChiWat (from PartialHeatPumpPlant)if have_chiWat then typTanChiWat_select else Buildings.Templates.Components.Types.IntegrationPoint.NoneSpecify if there is a CHW buffer tank and where it is integrated into the system
Modelica.Units.SI.MassFlowRatemHeaWatPri_flow_nominal (from PartialHeatPumpPlant)if have_heaWat then dat.hp.mHeaWatHp_flow_nominal*nHp else 0Primary HW mass flow rate
Modelica.Units.SI.MassFlowRatemHeaWat_flow_nominal (from PartialHeatPumpPlant)if have_heaWat then (if typPumHeaWatSec == Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None then mHeaWatPri_flow_nominal else sum(dat.pumHeaWatSec.m_flow_nominal)) else 0HW mass flow rate (total, distributed to consumers)
Modelica.Units.SI.HeatFlowRatecapHea_nominal (from PartialHeatPumpPlant)if have_heaWat then abs(dat.hp.capHeaHp_nominal)*nHp else 0Heating capacity - All units
Modelica.Units.SI.HeatFlowRateQHea_flow_nominal (from PartialHeatPumpPlant)capHea_nominalHeating heat flow rate - All units
Modelica.Units.SI.TemperatureTHeaWatSup_nominal (from PartialHeatPumpPlant)dat.ctl.THeaWatSup_nominalMaximum HW supply temperature
Modelica.Units.SI.TemperatureTHeaWatRet_nominal (from PartialHeatPumpPlant)THeaWatSup_nominal - QHea_flow_nominal/cpHeaWat_default/mHeaWat_flow_nominalHW return temperature
Modelica.Units.SI.MassFlowRatemChiWatPri_flow_nominal (from PartialHeatPumpPlant)if have_chiWat then dat.hp.mChiWatHp_flow_nominal*nHp else 0Primary CHW mass flow rate
Modelica.Units.SI.MassFlowRatemChiWat_flow_nominal (from PartialHeatPumpPlant)if have_chiWat then (if typPumChiWatSec == Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None then mChiWatPri_flow_nominal else sum(dat.pumChiWatSec.m_flow_nominal)) else 0CHW mass flow rate - Total, distributed to consumers
Modelica.Units.SI.HeatFlowRatecapCoo_nominal (from PartialHeatPumpPlant)if have_chiWat then abs(dat.hp.capCooHp_nominal)*nHp else 0Cooling capacity - All units
Modelica.Units.SI.HeatFlowRateQCoo_flow_nominal (from PartialHeatPumpPlant)-capCoo_nominalCooling heat flow rate - All units
Modelica.Units.SI.TemperatureTChiWatSup_nominal (from PartialHeatPumpPlant)dat.ctl.TChiWatSup_nominalMinimum CHW supply temperature
Modelica.Units.SI.TemperatureTSouHea_nominal (from PartialHeatPumpPlant)dat.hp.TSouHeaHp_nominalOAT or source fluid supply temperature (evaporator entering) in heating mode - Each heat pump
Modelica.Units.SI.TemperatureTSouCoo_nominal (from PartialHeatPumpPlant)dat.hp.TSouCooHp_nominalOAT or source fluid supply temperature (evaporator entering) in cooling mode - Each heat pump
MediumHeaWat.DensityrhoHeaWat_default (from PartialHeatPumpPlant)MediumHeaWat.density(staHeaWat_default)HW default density
MediumHeaWat.SpecificHeatCapacitycpHeaWat_default (from PartialHeatPumpPlant)MediumHeaWat.specificHeatCapacityCp(staHeaWat_default)HW default specific heat capacity
MediumHeaWat.ThermodynamicStatestaHeaWat_default (from PartialHeatPumpPlant)MediumHeaWat.setState_pTX(T = THeaWatSup_nominal, p = MediumHeaWat.p_default, X = MediumHeaWat.X_default)HW default state
MediumChiWat.DensityrhoChiWat_default (from PartialHeatPumpPlant)MediumChiWat.density(staChiWat_default)CHW default density
MediumChiWat.SpecificHeatCapacitycpChiWat_default (from PartialHeatPumpPlant)MediumChiWat.specificHeatCapacityCp(staChiWat_default)CHW default specific heat capacity
MediumChiWat.ThermodynamicStatestaChiWat_default (from PartialHeatPumpPlant)MediumChiWat.setState_pTX(T = TChiWatSup_nominal, p = MediumChiWat.p_default, X = MediumChiWat.X_default)CHW default state
MediumSou.DensityrhoSou_default (from PartialHeatPumpPlant)MediumSou.density(staSou_default)Source fluid default density
MediumSou.SpecificHeatCapacitycpSou_default (from PartialHeatPumpPlant)MediumSou.specificHeatCapacityCp(staSou_default)Source fluid default specific heat capacity
MediumSou.ThermodynamicStatestaSou_default (from PartialHeatPumpPlant)MediumSou.setState_pTX(T = TSouHea_nominal, p = MediumSou.p_default, X = MediumSou.X_default)Source fluid default state
Modelica.Units.SI.PressureDifferencedpValCheHeaWat_nominaldat.dpValCheHeaWat_nominal*(hp.mHeaWatHp_flow_nominal/max(dat.pumHeaWatPri.m_flow_nominal))^2Primary HW pump check valve pressure drop at design HW flow rate
Modelica.Units.SI.PressureDifferencedpValCheChiWat_nominalif have_chiWat then (if typPumChiWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.None then dat.dpValCheHeaWat_nominal*(hp.mChiWatHp_flow_nominal/max(dat.pumHeaWatPri.m_flow_nominal))^2 else dat.dpValCheChiWat_nominal) else 0Primary (CHW or common HW and CHW) pump check valve pressure drop at design CHW flow rate
Modelica.Units.SI.PressureDifferencedpBalHeaWatHp_nominalif is_dpBalYPumSetCal and typPumHeaWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Constant then Buildings.Templates.Utilities.computeBalancingPressureDrop(m_flow_nominal = hp.mHeaWatHp_flow_nominal, dp_nominal = hp.dpHeaWatHp_nominal + max(valIso.dpValveHeaWat_nominal)*((if have_valHpInlIso then 1 else 0) + (if have_valHpOutIso then 1 else 0)) + dpValCheHeaWat_nominal, datPum = dat.pumHeaWatPriSin[1]) else dat.dpBalHeaWatHp_nominalHP HW balancing valve pressure drop at design HW flow
Modelica.Units.SI.PressureDifferencedpBalChiWatHp_nominalif is_dpBalYPumSetCal and (typPumChiWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Constant or have_chiWat and not have_pumChiWatPriDed and typPumHeaWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Constant) then Buildings.Templates.Utilities.computeBalancingPressureDrop(m_flow_nominal = hp.mChiWatHp_flow_nominal, dp_nominal = hp.dpChiWatHp_nominal + max(valIso.dpValveChiWat_nominal)*((if have_valHpInlIso then 1 else 0) + (if have_valHpOutIso then 1 else 0)) + dpValCheChiWat_nominal, datPum = if cfg.typPumChiWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Constant then dat.pumChiWatPriSin[1] else dat.pumHeaWatPriSin[1]) else dat.dpBalChiWatHp_nominalHP CHW balancing valve pressure drop at design CHW flow
Configuration
Booleanhave_heaWat (from PartialHeatPumpPlant)trueSet to true if the plant provides HW
Booleanhave_chiWat (from PartialHeatPumpPlant)trueSet to true if the plant provides CHW
Booleanhave_hotWat (from PartialHeatPumpPlant)falseSet to true if the plant provides DHW
Booleanhave_hrc_select (from PartialHeatPumpPlant)falseSet to true for plants with a sidestream heat recovery chiller
Buildings.Templates.Plants.HeatPumps.Types.DistributiontypDis_select1 (from PartialHeatPumpPlant)Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2Type of distribution system
Buildings.Templates.Plants.HeatPumps.Types.DistributiontypDis_select2 (from PartialHeatPumpPlant)Type of distribution system
Heat pumps
Buildings.Templates.Components.Types.HeatPumptyp (from PartialHeatPumpPlant)Type of heat pump
IntegernHp (from PartialHeatPumpPlant)Total number of heat pumps
Booleanis_rev (from PartialHeatPumpPlant)Set to true for reversible heat pumps, false for heating only
Primary loop
Buildings.Templates.Components.Types.PumpArrangementtypArrPumPri (from PartialHeatPumpPlant)Buildings.Templates.Components.Types.PumpArrangement.DedicatedType of primary pump arrangement
Booleanhave_bypHeaWatFix (from PartialHeatPumpPlant)have_heaWat and (typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2 or typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1And2)Set to true if the HW loop has a fixed bypass
Booleanhave_valHeaWatMinByp (from PartialHeatPumpPlant)have_heaWat and typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1OnlySet to true if the HW loop has a minimum flow bypass valve
Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimarytypPumHeaWatPri_select1 (from PartialHeatPumpPlant)Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.VariableType of primary HW pumps
IntegernPumHeaWatPri_select (from PartialHeatPumpPlant)nHpNumber of primary HW pumps
IntegernPumHeaWatPri (from PartialHeatPumpPlant)if have_heaWat then (if typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Headered then nPumHeaWatPri_select else nHp) else 0Number of primary HW pumps
Buildings.Templates.Components.Types.IntegrationPointtypTanHeaWat_select (from PartialHeatPumpPlant)Buildings.Templates.Components.Types.IntegrationPoint.SupplySpecify if there is a HW buffer tank and where it is integrated into the system
Booleanhave_pumChiWatPriDed_select (from PartialHeatPumpPlant)falseSet to true for plants with separate dedicated primary CHW pumps
Booleanhave_pumChiWatPriDed (from PartialHeatPumpPlant)if have_chiWat and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated then have_pumChiWatPriDed_select else falseSet to true for plants with separate dedicated primary CHW pumps
Booleanhave_bypChiWatFix (from PartialHeatPumpPlant)have_chiWat and (typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2 or typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1And2)Set to true if the CHW loop has a fixed bypass
Booleanhave_valChiWatMinByp (from PartialHeatPumpPlant)have_chiWat and typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1OnlySet to true if the CHW loop has a minimum flow bypass valve
Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimarytypPumChiWatPri_select1 (from PartialHeatPumpPlant)typPumHeaWatPriType of primary CHW pumps
IntegernPumChiWatPri_select (from PartialHeatPumpPlant)nHpNumber of primary CHW pumps
IntegernPumChiWatPri (from PartialHeatPumpPlant)if have_chiWat and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Headered then nPumChiWatPri_select elseif have_pumChiWatPriDed then nHp else 0Number of primary CHW pumps
Buildings.Templates.Components.Types.IntegrationPointtypTanChiWat_select (from PartialHeatPumpPlant)Buildings.Templates.Components.Types.IntegrationPoint.ReturnSpecify if there is a CHW buffer tank and where it is integrated into the system
Secondary HW loop
Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondarytypPumHeaWatSec (from PartialHeatPumpPlant)if have_heaWat and (typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2 or typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1And2) then Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.Centralized else Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.NoneType of secondary HW pumps
IntegernPumHeaWatSec_select (from PartialHeatPumpPlant)nHpNumber of secondary HW pumps
IntegernPumHeaWatSec (from PartialHeatPumpPlant)if not have_heaWat or typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1Only then 0 else nPumHeaWatSec_selectNumber of secondary HW pumps
Secondary CHW loop
Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondarytypPumChiWatSec (from PartialHeatPumpPlant)if have_chiWat and (typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2 or typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1And2) then Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.Centralized else Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.NoneType of secondary CHW pumps
IntegernPumChiWatSec_select (from PartialHeatPumpPlant)nHpNumber of secondary CHW pumps
IntegernPumChiWatSec (from PartialHeatPumpPlant)if not have_chiWat or typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1Only then 0 else nPumChiWatSec_selectNumber of secondary CHW pumps
Nominal condition
Modelica.Units.SI.TemperatureTChiWatRet_nominal (from PartialHeatPumpPlant)if is_rev then TChiWatSup_nominal - QCoo_flow_nominal/cpChiWat_default/mChiWat_flow_nominal else Buildings.Templates.Data.Defaults.TChiWatRetCHW return temperature - Each heat pump
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialHeatPumpPlant)Modelica.Fluid.Types.Dynamics.FixedInitialType of energy balance: dynamic (3 initialization options) or steady state
Assumptions
BooleanallowFlowReversal (from PartialHeatPumpPlant)true= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
Booleanlinearized (from PartialHeatPumpPlant)false= true, use linear relation between m_flow and dp for all valves
Booleanis_dpBalYPumSetCalfalseSet to true to automatically size balancing valves or evaluate pump speed providing design flow
Advanced › Diagnostics
Booleanshow_T (from PartialHeatPumpPlant)false= true, if actual temperature at port is computed
Information provided by testing, adjusting, and balancing contractor
RealyPumHeaWatPriSetPrimary pump speed providing design heat pump flow in heating mode
RealyPumChiWatPriSetPrimary pump speed providing design heat pump flow in cooling mode

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_aHeaWat (from PartialHeatPumpPlant)HW return
Modelica.Fluid.Interfaces.FluidPort_bport_bHeaWat (from PartialHeatPumpPlant)HW supply
Modelica.Fluid.Interfaces.FluidPort_aport_aChiWat (from PartialHeatPumpPlant)CHW return
Modelica.Fluid.Interfaces.FluidPort_bport_bChiWat (from PartialHeatPumpPlant)CHW supply
Buildings.Templates.Plants.HeatPumps.Interfaces.Busbus (from PartialHeatPumpPlant)Plant control bus
Buildings.Templates.AirHandlersFans.Interfaces.Bus[cfg.nAirHan]busAirHan (from PartialHeatPumpPlant)Air handling unit control bus
Buildings.Templates.ZoneEquipment.Interfaces.Bus[cfg.nEquZon]busEquZon (from PartialHeatPumpPlant)Terminal unit control bus
BoundaryConditions.WeatherData.BusbusWea (from PartialHeatPumpPlant)Weather bus

Components

TypeNameDefaultDescription
Buildings.Templates.Plants.HeatPumps.Components.Interfaces.PartialControllerctl (from PartialHeatPumpPlant)
Buildings.Fluid.Sources.Outsideout (from PartialHeatPumpPlant)Outdoor air conditions
Buildings.Fluid.Sensors.TemperatureTOut (from PartialHeatPumpPlant)OA temperature
Buildings.Templates.Plants.HeatPumps.Components.HeatPumpGroups.AirToWaterhpHeat pump group
Components.PumpsPrimaryDedicatedpumPriDedicated primary pumps
Components.ValvesIsolationvalIsoHeat pump isolation valves
Buildings.Templates.Components.Pumps.MultiplepumChiWatPriHeadered primary CHW pumps
Buildings.Templates.Components.Routing.SingleToMultipleinlPumChiWatPriPrimary CHW pumps inlet manifold
Buildings.Templates.Components.Routing.MultipleToSingleoutPumChiWatPriPrimary CHW pumps outlet manifold
Buildings.Templates.Components.Routing.PassThroughFluidsupChiWatPriPrimary CHW supply pipe - Plant with dedicated primary CHW pumps
Buildings.Templates.Components.Sensors.VolumeFlowRateVChiWatPri_flowPrimary CHW volume flow rate
Buildings.Templates.Components.Routing.JunctionjunChiWatBypSupFluid junction
Buildings.Templates.Components.Sensors.TemperatureTChiWatPriSupPrimary CHW supply temperature
Buildings.Templates.Components.Routing.JunctionjunChiWatBypRetFluid junction
Buildings.Templates.Components.Sensors.TemperatureTChiWatPriRetPrimary CHW return temperature
Buildings.Templates.Components.Actuators.ValvevalChiWatMinBypCHW minimum flow bypass valve or fixed bypass depending on type of distribution
Buildings.Templates.Components.Tanks.BuffertanChiWatSupCHW buffer tank
Buildings.Templates.Components.Tanks.BuffertanChiWatRetCHW buffer tank
Buildings.Templates.Components.Pumps.MultiplepumChiWatSecSecondary CHW pumps
Buildings.Templates.Components.Routing.SingleToMultipleinlPumChiWatSecSecondary CHW pumps inlet manifold
Buildings.Templates.Components.Routing.MultipleToSingleoutPumChiWatSecSecondary CHW pumps outlet manifold
Buildings.Templates.Components.Routing.PassThroughFluidsupChiWatSecSecondary CHW supply pipe - Plant without secondary CHW pumps
Buildings.Templates.Components.Sensors.VolumeFlowRateVChiWatSec_flowSecondary CHW volume flow rate
Buildings.Templates.Components.Sensors.TemperatureTChiWatSecSupSecondary CHW supply temperature
Buildings.Templates.Components.Sensors.TemperatureTChiWatSecRetSecondary CHW return temperature
Buildings.Templates.Components.Sensors.DifferentialPressuredpChiWatLocLocal CHW ∆p sensor
Buildings.Templates.Components.Routing.SingleToMultipleinlPumHeaWatPriPrimary HW pumps inlet manifold
Buildings.Templates.Components.Pumps.MultiplepumHeaWatPriHeadered primary HW pumps
Buildings.Templates.Components.Routing.MultipleToSingleoutPumHeaWatPriPrimary HW pumps outlet manifold
Buildings.Templates.Components.Routing.PassThroughFluidsupHeaWatPriPrimary HW supply pipe - Plant with dedicated primary HW pumps
Buildings.Templates.Components.Sensors.VolumeFlowRateVHeaWatPri_flowPrimary HW volume flow rate
Buildings.Templates.Components.Routing.JunctionjunHeaWatBypSupFluid junction
Buildings.Templates.Components.Sensors.TemperatureTHeaWatPriSupPrimary HW supply temperature
Buildings.Templates.Components.Sensors.TemperatureTHeaWatPriRetPrimary HW return temperature
Buildings.Templates.Components.Routing.JunctionjunHeaWatBypRetFluid junction
Buildings.Templates.Components.Actuators.ValvevalHeaWatMinBypHW minimum flow bypass valve or fixed bypass depending on type of distribution
Buildings.Templates.Components.Tanks.BuffertanHeaWatSupHW buffer tank
Buildings.Templates.Components.Tanks.BuffertanHeaWatRetHW buffer tank
Buildings.Templates.Components.Pumps.MultiplepumHeaWatSecSecondary HW pumps
Buildings.Templates.Components.Routing.SingleToMultipleinlPumHeaWatSecSecondary HW pumps inlet manifold
Buildings.Templates.Components.Routing.MultipleToSingleoutPumHeaWatSecSecondary HW pumps outlet manifold
Buildings.Templates.Components.Routing.PassThroughFluidsupHeaWatSecSecondary HW supply pipe - Plant without secondary HW pumps
Buildings.Templates.Components.Sensors.VolumeFlowRateVHeaWatSec_flowSecondary HW volume flow rate
Buildings.Templates.Components.Sensors.TemperatureTHeaWatSecSupSecondary HW supply temperature
Buildings.Templates.Components.Sensors.TemperatureTHeaWatSecRetSecondary HW return temperature
Buildings.Templates.Components.Sensors.DifferentialPressuredpHeaWatLocLocal HW ∆p sensor
Components.HeatRecoveryChillerhrcSidestream heat recovery chiller
Buildings.Templates.Components.Routing.JunctionjunHeaWatHrcEntFluid junction
Buildings.Templates.Components.Routing.JunctionjunHeaWatHrcLvgFluid junction
Buildings.Templates.Components.Routing.JunctionjunChiWatHrcEntFluid junction
Buildings.Templates.Components.Routing.JunctionjunChiWatHrcLvgFluid junction
Buildings.Templates.Components.Sensors.TemperatureTChiWatRetUpsHrcCHW return temperature upstream of HRC
Buildings.Templates.Components.Sensors.TemperatureTHeaWatRetUpsHrcHW return temperature upstream of HRC
Fluid.Sources.Boundary_pTbouHeaWatPressure boundary condition mimicking expansion tank

Revisions

  • March 23, 2026, by Antoine Gautier:
    Refactored HP and HRC components with two separate connectors for HW and CHW supply temperature setpoints.
    This is for #4507.
  • August 21, 2025, by Antoine Gautier:
    Refactored with load-dependent 2D table data heat pump model.
    This is for #4152.
  • May 31, 2024, by Antoine Gautier:
    Added sidestream heat recovery chiller, primary-only pumping, buffer tanks, failsafe staging conditions and internal computation of pump speed or balancing valve ∆p to meet design flow.
    This is for #3808.
  • March 29, 2024, by Antoine Gautier:
    First implementation.