| Boolean | have_hrc | 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 | | Configuration parameters |
| Buildings.Templates.Plants.HeatPumps.Data.HeatPumpPlant | dat | | Design and operating parameters |
| Buildings.Templates.Plants.HeatPumps.Types.Distribution | typDis | if typ == Buildings.Templates.Components.Types.HeatPump.AirToWater then typDis_select1 else typDis_select2 | Type of distribution system |
| Boolean | have_valHpInlIso | 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 | 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 | 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 | typPumHeaWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Variable | Set to true for variable speed primary HW pumps |
| Buildings.Templates.Components.Types.IntegrationPoint | typTanHeaWat | 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 | 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 | typPumChiWatPri == Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Variable | Set to true for variable speed primary CHW pumps |
| Buildings.Templates.Components.Types.IntegrationPoint | typTanChiWat | 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 | if have_heaWat then dat.hp.mHeaWatHp_flow_nominal*nHp else 0 | Primary HW mass flow rate |
| Modelica.Units.SI.MassFlowRate | mHeaWat_flow_nominal | 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 | if have_heaWat then abs(dat.hp.capHeaHp_nominal)*nHp else 0 | Heating capacity - All units |
| Modelica.Units.SI.HeatFlowRate | QHea_flow_nominal | capHea_nominal | Heating heat flow rate - All units |
| Modelica.Units.SI.Temperature | THeaWatSup_nominal | dat.ctl.THeaWatSup_nominal | Maximum HW supply temperature |
| Modelica.Units.SI.Temperature | THeaWatRet_nominal | THeaWatSup_nominal - QHea_flow_nominal/cpHeaWat_default/mHeaWat_flow_nominal | HW return temperature |
| Modelica.Units.SI.MassFlowRate | mChiWatPri_flow_nominal | if have_chiWat then dat.hp.mChiWatHp_flow_nominal*nHp else 0 | Primary CHW mass flow rate |
| Modelica.Units.SI.MassFlowRate | mChiWat_flow_nominal | 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 | if have_chiWat then abs(dat.hp.capCooHp_nominal)*nHp else 0 | Cooling capacity - All units |
| Modelica.Units.SI.HeatFlowRate | QCoo_flow_nominal | -capCoo_nominal | Cooling heat flow rate - All units |
| Modelica.Units.SI.Temperature | TChiWatSup_nominal | dat.ctl.TChiWatSup_nominal | Minimum CHW supply temperature |
| Modelica.Units.SI.Temperature | TSouHea_nominal | dat.hp.TSouHeaHp_nominal | OAT or source fluid supply temperature (evaporator entering) in heating mode - Each heat pump |
| Modelica.Units.SI.Temperature | TSouCoo_nominal | dat.hp.TSouCooHp_nominal | OAT or source fluid supply temperature (evaporator entering) in cooling mode - Each heat pump |
| MediumHeaWat.Density | rhoHeaWat_default | MediumHeaWat.density(staHeaWat_default) | HW default density |
| MediumHeaWat.SpecificHeatCapacity | cpHeaWat_default | MediumHeaWat.specificHeatCapacityCp(staHeaWat_default) | HW default specific heat capacity |
| MediumHeaWat.ThermodynamicState | staHeaWat_default | MediumHeaWat.setState_pTX(T = THeaWatSup_nominal, p = MediumHeaWat.p_default, X = MediumHeaWat.X_default) | HW default state |
| MediumChiWat.Density | rhoChiWat_default | MediumChiWat.density(staChiWat_default) | CHW default density |
| MediumChiWat.SpecificHeatCapacity | cpChiWat_default | MediumChiWat.specificHeatCapacityCp(staChiWat_default) | CHW default specific heat capacity |
| MediumChiWat.ThermodynamicState | staChiWat_default | MediumChiWat.setState_pTX(T = TChiWatSup_nominal, p = MediumChiWat.p_default, X = MediumChiWat.X_default) | CHW default state |
| MediumSou.Density | rhoSou_default | MediumSou.density(staSou_default) | Source fluid default density |
| MediumSou.SpecificHeatCapacity | cpSou_default | MediumSou.specificHeatCapacityCp(staSou_default) | Source fluid default specific heat capacity |
| MediumSou.ThermodynamicState | staSou_default | MediumSou.setState_pTX(T = TSouHea_nominal, p = MediumSou.p_default, X = MediumSou.X_default) | Source fluid default state |
| Configuration |
| Boolean | have_heaWat | true | Set to true if the plant provides HW |
| Boolean | have_chiWat | true | Set to true if the plant provides CHW |
| Boolean | have_hotWat | false | Set to true if the plant provides DHW |
| Boolean | have_hrc_select | false | Set to true for plants with a sidestream heat recovery chiller |
| Buildings.Templates.Plants.HeatPumps.Types.Distribution | typDis_select1 | Buildings.Templates.Plants.HeatPumps.Types.Distribution.Constant1Variable2 | Type of distribution system |
| Buildings.Templates.Plants.HeatPumps.Types.Distribution | typDis_select2 | | Type of distribution system |
| Heat pumps |
| Buildings.Templates.Components.Types.HeatPump | typ | | Type of heat pump |
| Integer | nHp | | Total number of heat pumps |
| Boolean | is_rev | | Set to true for reversible heat pumps, false for heating only |
| Primary loop |
| Buildings.Templates.Components.Types.PumpArrangement | typArrPumPri | Buildings.Templates.Components.Types.PumpArrangement.Dedicated | Type of primary pump arrangement |
| Boolean | have_bypHeaWatFix | 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 | 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 | Buildings.Templates.Plants.HeatPumps.Types.PumpsPrimary.Variable | Type of primary HW pumps |
| Integer | nPumHeaWatPri_select | nHp | Number of primary HW pumps |
| Integer | nPumHeaWatPri | 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 | 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 | false | Set to true for plants with separate dedicated primary CHW pumps |
| Boolean | have_pumChiWatPriDed | 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 | 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 | 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 | typPumHeaWatPri | Type of primary CHW pumps |
| Integer | nPumChiWatPri_select | nHp | Number of primary CHW pumps |
| Integer | nPumChiWatPri | 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 | 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 | 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 | nHp | Number of secondary HW pumps |
| Integer | nPumHeaWatSec | 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 | 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 | nHp | Number of secondary CHW pumps |
| Integer | nPumChiWatSec | 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 | 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 | Modelica.Fluid.Types.Dynamics.FixedInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Assumptions |
| Boolean | allowFlowReversal | true | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
| Advanced |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for all valves |
| Advanced › Diagnostics |
| Boolean | show_T | false | = true, if actual temperature at port is computed |