modelAirToWater
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.
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 parameter | Options | Notes |
|---|---|---|
| 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
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | have_hrc (from PartialHeatPumpPlant) | if have_heaWat and have_chiWat then have_hrc_select else false | Set to true for plants with sidestream heat recovery chiller |
| Buildings.Templates.Plants.HeatPumps.Configuration.HeatPumpPlant | cfg (from PartialHeatPumpPlant) | Configuration parameters | |
| Buildings.Templates.Plants.HeatPumps.Data.HeatPumpPlant | dat (from PartialHeatPumpPlant) | Design and operating parameters | |
| Buildings.Templates.Plants.HeatPumps.Types.Distribution | typDis (from PartialHeatPumpPlant) | if typ == Buildings.Templates.Components.Types.HeatPump.AirToWater then typDis_select1 else typDis_select2 | Type of distribution system |
| Boolean | have_valHpInlIso (from PartialHeatPumpPlant) | if not have_chiWat and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated then false else true | Set to true for isolation valves at HP inlet |
| Boolean | have_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 true | Set to true for isolation valves at HP outlet |
| Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary | typPumHeaWatPri (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.None | Type of primary HW pumps |
| Boolean | have_pumHeaWatPriVar (from PartialHeatPumpPlant) | typPumHeaWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Variable | Set to true for variable speed primary HW pumps |
| Buildings.Templates.Components.Types.IntegrationPoint | typTanHeaWat (from PartialHeatPumpPlant) | if have_heaWat then typTanHeaWat_select else Buildings.Templates.Components.Types.IntegrationPoint.None | Specify if there is a HW buffer tank and where it is integrated into the system |
| Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary | typPumChiWatPri (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.None | Type of primary CHW pumps |
| Boolean | have_pumChiWatPriVar (from PartialHeatPumpPlant) | typPumChiWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Variable | Set to true for variable speed primary CHW pumps |
| Buildings.Templates.Components.Types.IntegrationPoint | typTanChiWat (from PartialHeatPumpPlant) | if have_chiWat then typTanChiWat_select else Buildings.Templates.Components.Types.IntegrationPoint.None | Specify if there is a CHW buffer tank and where it is integrated into the system |
| Modelica.Units.SI.MassFlowRate | mHeaWatPri_flow_nominal (from PartialHeatPumpPlant) | if have_heaWat then dat.hp.mHeaWatHp_flow_nominal*nHp else 0 | Primary HW mass flow rate |
| Modelica.Units.SI.MassFlowRate | mHeaWat_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 0 | HW mass flow rate (total, distributed to consumers) |
| Modelica.Units.SI.HeatFlowRate | capHea_nominal (from PartialHeatPumpPlant) | if have_heaWat then abs(dat.hp.capHeaHp_nominal)*nHp else 0 | Heating capacity - All units |
| Modelica.Units.SI.HeatFlowRate | QHea_flow_nominal (from PartialHeatPumpPlant) | capHea_nominal | Heating heat flow rate - All units |
| Modelica.Units.SI.Temperature | THeaWatSup_nominal (from PartialHeatPumpPlant) | dat.ctl.THeaWatSup_nominal | Maximum HW supply temperature |
| Modelica.Units.SI.Temperature | THeaWatRet_nominal (from PartialHeatPumpPlant) | THeaWatSup_nominal - QHea_flow_nominal/cpHeaWat_default/mHeaWat_flow_nominal | HW return temperature |
| Modelica.Units.SI.MassFlowRate | mChiWatPri_flow_nominal (from PartialHeatPumpPlant) | if have_chiWat then dat.hp.mChiWatHp_flow_nominal*nHp else 0 | Primary CHW mass flow rate |
| Modelica.Units.SI.MassFlowRate | mChiWat_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 0 | CHW mass flow rate - Total, distributed to consumers |
| Modelica.Units.SI.HeatFlowRate | capCoo_nominal (from PartialHeatPumpPlant) | if have_chiWat then abs(dat.hp.capCooHp_nominal)*nHp else 0 | Cooling capacity - All units |
| Modelica.Units.SI.HeatFlowRate | QCoo_flow_nominal (from PartialHeatPumpPlant) | -capCoo_nominal | Cooling heat flow rate - All units |
| Modelica.Units.SI.Temperature | TChiWatSup_nominal (from PartialHeatPumpPlant) | dat.ctl.TChiWatSup_nominal | Minimum CHW supply temperature |
| Modelica.Units.SI.Temperature | TSouHea_nominal (from PartialHeatPumpPlant) | dat.hp.TSouHeaHp_nominal | OAT or source fluid supply temperature (evaporator entering) in heating mode - Each heat pump |
| Modelica.Units.SI.Temperature | TSouCoo_nominal (from PartialHeatPumpPlant) | dat.hp.TSouCooHp_nominal | OAT or source fluid supply temperature (evaporator entering) in cooling mode - Each heat pump |
| MediumHeaWat.Density | rhoHeaWat_default (from PartialHeatPumpPlant) | MediumHeaWat.density(staHeaWat_default) | HW default density |
| MediumHeaWat.SpecificHeatCapacity | cpHeaWat_default (from PartialHeatPumpPlant) | MediumHeaWat.specificHeatCapacityCp(staHeaWat_default) | HW default specific heat capacity |
| MediumHeaWat.ThermodynamicState | staHeaWat_default (from PartialHeatPumpPlant) | MediumHeaWat.setState_pTX(T = THeaWatSup_nominal, p = MediumHeaWat.p_default, X = MediumHeaWat.X_default) | HW default state |
| MediumChiWat.Density | rhoChiWat_default (from PartialHeatPumpPlant) | MediumChiWat.density(staChiWat_default) | CHW default density |
| MediumChiWat.SpecificHeatCapacity | cpChiWat_default (from PartialHeatPumpPlant) | MediumChiWat.specificHeatCapacityCp(staChiWat_default) | CHW default specific heat capacity |
| MediumChiWat.ThermodynamicState | staChiWat_default (from PartialHeatPumpPlant) | MediumChiWat.setState_pTX(T = TChiWatSup_nominal, p = MediumChiWat.p_default, X = MediumChiWat.X_default) | CHW default state |
| MediumSou.Density | rhoSou_default (from PartialHeatPumpPlant) | MediumSou.density(staSou_default) | Source fluid default density |
| MediumSou.SpecificHeatCapacity | cpSou_default (from PartialHeatPumpPlant) | MediumSou.specificHeatCapacityCp(staSou_default) | Source fluid default specific heat capacity |
| MediumSou.ThermodynamicState | staSou_default (from PartialHeatPumpPlant) | MediumSou.setState_pTX(T = TSouHea_nominal, p = MediumSou.p_default, X = MediumSou.X_default) | Source fluid default state |
| Modelica.Units.SI.PressureDifference | dpValCheHeaWat_nominal | dat.dpValCheHeaWat_nominal*(hp.mHeaWatHp_flow_nominal/max(dat.pumHeaWatPri.m_flow_nominal))^2 | Primary HW pump check valve pressure drop at design HW flow rate |
| Modelica.Units.SI.PressureDifference | dpValCheChiWat_nominal | if 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 0 | Primary (CHW or common HW and CHW) pump check valve pressure drop at design CHW flow rate |
| Modelica.Units.SI.PressureDifference | dpBalHeaWatHp_nominal | if 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_nominal | HP HW balancing valve pressure drop at design HW flow |
| Modelica.Units.SI.PressureDifference | dpBalChiWatHp_nominal | if 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_nominal | HP CHW balancing valve pressure drop at design CHW flow |
| Configuration | |||
| Boolean | have_heaWat (from PartialHeatPumpPlant) | true | Set to true if the plant provides HW |
| Boolean | have_chiWat (from PartialHeatPumpPlant) | true | Set to true if the plant provides CHW |
| Boolean | have_hotWat (from PartialHeatPumpPlant) | false | Set to true if the plant provides DHW |
| Boolean | have_hrc_select (from PartialHeatPumpPlant) | false | Set to true for plants with a sidestream heat recovery chiller |
| Buildings.Templates.Plants.HeatPumps.Types.Distribution | typDis_select1 (from PartialHeatPumpPlant) | Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2 | Type of distribution system |
| Buildings.Templates.Plants.HeatPumps.Types.Distribution | typDis_select2 (from PartialHeatPumpPlant) | Type of distribution system | |
| Heat pumps | |||
| Buildings.Templates.Components.Types.HeatPump | typ (from PartialHeatPumpPlant) | Type of heat pump | |
| Integer | nHp (from PartialHeatPumpPlant) | Total number of heat pumps | |
| Boolean | is_rev (from PartialHeatPumpPlant) | Set to true for reversible heat pumps, false for heating only | |
| Primary loop | |||
| Buildings.Templates.Components.Types.PumpArrangement | typArrPumPri (from PartialHeatPumpPlant) | Buildings.Templates.Components.Types.PumpArrangement.Dedicated | Type of primary pump arrangement |
| Boolean | have_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 |
| Boolean | have_valHeaWatMinByp (from PartialHeatPumpPlant) | have_heaWat and typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1Only | Set to true if the HW loop has a minimum flow bypass valve |
| Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary | typPumHeaWatPri_select1 (from PartialHeatPumpPlant) | Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Variable | Type of primary HW pumps |
| Integer | nPumHeaWatPri_select (from PartialHeatPumpPlant) | nHp | Number of primary HW pumps |
| Integer | nPumHeaWatPri (from PartialHeatPumpPlant) | if have_heaWat then (if typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Headered then nPumHeaWatPri_select else nHp) else 0 | Number of primary HW pumps |
| Buildings.Templates.Components.Types.IntegrationPoint | typTanHeaWat_select (from PartialHeatPumpPlant) | Buildings.Templates.Components.Types.IntegrationPoint.Supply | Specify if there is a HW buffer tank and where it is integrated into the system |
| Boolean | have_pumChiWatPriDed_select (from PartialHeatPumpPlant) | false | Set to true for plants with separate dedicated primary CHW pumps |
| Boolean | have_pumChiWatPriDed (from PartialHeatPumpPlant) | if have_chiWat and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated then have_pumChiWatPriDed_select else false | Set to true for plants with separate dedicated primary CHW pumps |
| Boolean | have_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 |
| Boolean | have_valChiWatMinByp (from PartialHeatPumpPlant) | have_chiWat and typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1Only | Set to true if the CHW loop has a minimum flow bypass valve |
| Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary | typPumChiWatPri_select1 (from PartialHeatPumpPlant) | typPumHeaWatPri | Type of primary CHW pumps |
| Integer | nPumChiWatPri_select (from PartialHeatPumpPlant) | nHp | Number of primary CHW pumps |
| Integer | nPumChiWatPri (from PartialHeatPumpPlant) | if have_chiWat and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Headered then nPumChiWatPri_select elseif have_pumChiWatPriDed then nHp else 0 | Number of primary CHW pumps |
| Buildings.Templates.Components.Types.IntegrationPoint | typTanChiWat_select (from PartialHeatPumpPlant) | Buildings.Templates.Components.Types.IntegrationPoint.Return | Specify if there is a CHW buffer tank and where it is integrated into the system |
| Secondary HW loop | |||
| Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary | typPumHeaWatSec (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.None | Type of secondary HW pumps |
| Integer | nPumHeaWatSec_select (from PartialHeatPumpPlant) | nHp | Number of secondary HW pumps |
| Integer | nPumHeaWatSec (from PartialHeatPumpPlant) | if not have_heaWat or typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1Only then 0 else nPumHeaWatSec_select | Number of secondary HW pumps |
| Secondary CHW loop | |||
| Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary | typPumChiWatSec (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.None | Type of secondary CHW pumps |
| Integer | nPumChiWatSec_select (from PartialHeatPumpPlant) | nHp | Number of secondary CHW pumps |
| Integer | nPumChiWatSec (from PartialHeatPumpPlant) | if not have_chiWat or typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1Only then 0 else nPumChiWatSec_select | Number of secondary CHW pumps |
| Nominal condition | |||
| Modelica.Units.SI.Temperature | TChiWatRet_nominal (from PartialHeatPumpPlant) | if is_rev then TChiWatSup_nominal - QCoo_flow_nominal/cpChiWat_default/mChiWat_flow_nominal else Buildings.Templates.Data.Defaults.TChiWatRet | CHW return temperature - Each heat pump |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from PartialHeatPumpPlant) | Modelica.Fluid.Types.Dynamics.FixedInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialHeatPumpPlant) | true | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
| Advanced | |||
| Boolean | linearized (from PartialHeatPumpPlant) | false | = true, use linear relation between m_flow and dp for all valves |
| Boolean | is_dpBalYPumSetCal | false | Set to true to automatically size balancing valves or evaluate pump speed providing design flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialHeatPumpPlant) | false | = true, if actual temperature at port is computed |
| Information provided by testing, adjusting, and balancing contractor | |||
| Real | yPumHeaWatPriSet | Primary pump speed providing design heat pump flow in heating mode | |
| Real | yPumChiWatPriSet | Primary pump speed providing design heat pump flow in cooling mode | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_aHeaWat (from PartialHeatPumpPlant) | HW return | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_bHeaWat (from PartialHeatPumpPlant) | HW supply | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_aChiWat (from PartialHeatPumpPlant) | CHW return | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_bChiWat (from PartialHeatPumpPlant) | CHW supply | |
| Buildings.Templates.Plants.HeatPumps.Interfaces.Bus | bus (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.Bus | busWea (from PartialHeatPumpPlant) | Weather bus |
Components
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.