modelPumpsPrimaryDedicated

Dedicated primary pumps

Information

This model represents dedicated primary HW pumps and, optionally, separate dedicated primary CHW pumps if the parameter have_pumChiWatDedHp is set to true. The pump components are connected to the heat pump outlet, in a "pump away" configuration. Variable speed or constant speed pumps can be modeled by setting the parameters have_pumHeaWatPriVar and have_pumChiWatPriVar. If headered pumps are modeled (typArrPumPri=Buildings.Templates.Components.Types.PumpArrangement.Headered), this component resolves to a direct fluid pass-through.

Parameters

TypeNameDefaultDescription
IntegernPumHeaWatNumber of primary HW pumps
IntegernPumChiWatNumber of primary CHW pumps
IntegeridxConPumChiWatif have_pumChiWatDedHp then nHp + 1 else 1Lowest index to connect polyvalent HP ports to primary CHW pump ports
Booleanhave_pumChiWatDedHphave_hp and nPumChiWat > 0 and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated and not have_pumPriComHpSet to true for HP with separate dedicated primary CHW pumps
Booleanis_heaOnlHphave_hp and nPumHeaWat > 0 and nPumChiWat == 0 and typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated and not have_pumPriComHpSet to true for heating-only (non-reversible) HP with dedicated primary HW pumps
Buildings.Templates.Components.Data.PumpMultipledatPumHeaWatHW pump parameters
Buildings.Templates.Components.Data.PumpMultipledatPumChiWatCHW pump parameters
Configuration
Booleanhave_hptrueSet to true for plants with non-reversible or reversible heat pumps
Booleanhave_phpfalseSet to true for plants with polyvalent heat pumps
IntegernHpNumber of heat pumps (excluding polyvalent HPs)
IntegernPhp0Number of polyvalent heat pumps
Buildings.Templates.Components.Types.PumpArrangementtypArrPumPriType of primary pump arrangement
Booleanhave_pumPriComHpSet to true for HP with single dedicated primary pump serving both CHW and HW circuits
Booleanhave_pumHeaWatPriVarSet to true for variable speed primary HW pumps
Booleanhave_pumChiWatPriVarSet to true for variable speed primary CHW pumps
Nominal condition
Modelica.Units.SI.PressureDifference[nPumHeaWat]dpValCheHeaWat_nominalfill(if typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated then Buildings.Templates.Data.Defaults.dpValChe else 0, nPumHeaWat)HW pump check valve pressure drop at design pump flow rate (selection conditions)
Modelica.Units.SI.PressureDifference[nPumChiWat]dpValCheChiWat_nominalfill(if typArrPumPri == Buildings.Templates.Components.Types.PumpArrangement.Dedicated and (have_pumChiWatDedHp or have_php) then Buildings.Templates.Data.Defaults.dpValChe else 0, nPumChiWat)CHW pump check valve pressure drop at design pump flow rate (selection conditions)
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamicsModelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Dynamics › Nominal condition
Modelica.Units.SI.Timetau1Time constant at nominal flow
Assumptions
BooleanallowFlowReversaltrueSet to false to simplify equations, assuming, but not enforcing, no flow reversal

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPorts_b[nHp]ports_bChiHeaWatCHW/HW supply (to primary loop)
Modelica.Fluid.Interfaces.FluidPorts_a[nHp]ports_aChiHeaWatCHW/HW return (from primary loop)
Modelica.Fluid.Interfaces.FluidPorts_b[nHp]ports_bChiHeaWatHpCHW/HW return – HP entering
Modelica.Fluid.Interfaces.FluidPorts_b[nHp]ports_bHeaWatHW supply (to primary loop) – HP with dedicated pumps and (heating-only or separate CHW and HW pumps)
Modelica.Fluid.Interfaces.FluidPorts_b[nHp]ports_bChiWatCHW supply (to primary loop)
Modelica.Fluid.Interfaces.FluidPorts_a[nHp]ports_aChiHeaWatHpCHW/HW supply (HP leaving)
Buildings.Templates.Plants.HeatPumps.Interfaces.BusbusPlant control bus
Modelica.Fluid.Interfaces.FluidPorts_a[nPhp]ports_aHeaWatHW return (from primary loop) to polyvalent HP
Modelica.Fluid.Interfaces.FluidPorts_a[nPhp]ports_aChiWatCHW return (from primary loop) to polyvalent HP
Modelica.Fluid.Interfaces.FluidPorts_b[nPhp]ports_bHeaWatRetShcHW return – Polyvalent heat pump entering
Modelica.Fluid.Interfaces.FluidPorts_b[nPhp]ports_bChiWatRetShcCHW return – Polyvalent heat pump entering
Modelica.Fluid.Interfaces.FluidPorts_a[nPhp]ports_aHeaWatPhpHW supply – Polyvalent heat pump leaving
Modelica.Fluid.Interfaces.FluidPorts_a[nPhp]ports_aChiWatPhpCHW supply – Polyvalent heat pump leaving
Modelica.Fluid.Interfaces.FluidPorts_b[nPhp]ports_bChiWatSupShcCHW supply – Polyvalent heat pump leaving
Modelica.Fluid.Interfaces.FluidPorts_b[nPhp]ports_bHeaWatSupShcHW supply – Polyvalent heat pump leaving

Components

TypeNameDefaultDescription
Buildings.Templates.Components.Pumps.MultiplepumHeaWatDedicated primary (HW) Pumps
Buildings.Templates.Components.Pumps.MultiplepumChiWatDedicated primary CHW pumps - Optional
Buildings.Templates.Components.Routing.PassThroughFluid[nHp]pasHdrDirect fluid pass-through for headered primary pumps
Fluid.FixedResistances.Junction[nHp]junDedSepFluid junction for separate dedicated primary pumps
Buildings.Templates.Components.Routing.PassThroughFluid[nHp]pasDedComDirect fluid pass-through for dedicated pumps and (heating-only HP or common CHW/HW pump)
Buildings.Templates.Components.Routing.PassThroughFluid[nPhp]pasHdrHeaWatShcDirect fluid pass-through for headered primary pumps
Buildings.Templates.Components.Routing.PassThroughFluid[nPhp]pasHdrChiWatShcDirect fluid pass-through for headered primary pumps

Contents

NameDescription
Medium

Revisions

  • July 10, 2026, by Antoine Gautier:
    Refactored for plants with polyvalent heat pumps.
    This is for #4512.
  • March 29, 2024, by Antoine Gautier:
    First implementation.