modelPartialHeatPumpTableData2DLoadDep

Interface for heat pump using load-dependent 2D table data

Extends from Buildings.Templates.Components.Interfaces.PartialHeatPump.

Information

This is the base class for heat pump models where the capacity and input power are computed by interpolating manufacturer data along the condenser entering or leaving temperature, the evaporator entering or leaving temperature and the part load ratio. Toggling the Boolean parameter is_rev enables representing either a non-reversible (heating-only) heat pump or a reversible heat pump.

This model is a wrapper for Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep, which the user may refer to for the modeling assumptions.

Control points

The following input and output points are available.

  • Heat pump on/off command signal: y1, DO signal, with a dimensionality of zero
  • For reversible heat pumps only (is_rev=true), heat pump operating mode command signal: y1Hea, DO signal, with a dimensionality of zero
    Set y1Hea=true for heating mode, y1Hea=false for cooling mode.
  • Heat pump HW supply temperature setpoint: THeaWatSet, AO signal, with a dimensionality of zero
  • For reversible heat pumps only (is_rev=true), Heat pump CHW supply temperature setpoint: TChiWatSet, AO signal, with a dimensionality of zero
  • Heat pump status: y1_actual, DI signal, with a dimensionality of zero

Parameters

TypeNameDefaultDescription
Buildings.Templates.Components.Data.HeatPumpdat (from PartialHeatPump)Design and operating parameters
Modelica.Units.SI.MassFlowRatemHeaWat_flow_nominal (from PartialHeatPump)dat.mHeaWat_flow_nominalDesign HW mass flow rate
Modelica.Units.SI.HeatFlowRatecapHea_nominal (from PartialHeatPump)dat.capHea_nominalDesign heating capacity
Modelica.Units.SI.HeatFlowRateQHea_flow_nominal (from PartialHeatPump)abs(capHea_nominal)Design heating heat flow rate
Modelica.Units.SI.PressureDifferencedpHeaWat_nominal (from PartialHeatPump)dat.dpHeaWat_nominalDesign HW pressure drop
Modelica.Units.SI.TemperatureTHeaWatSup_nominal (from PartialHeatPump)dat.THeaWatSup_nominalDesign HW supply temperature
Modelica.Units.SI.TemperatureTHeaWatRet_nominal (from PartialHeatPump)dat.THeaWatRet_nominalDesign HW return temperature
Modelica.Units.SI.PressureDifferencedpChiWat_nominal (from PartialHeatPump)dat.dpChiWat_nominalDesign CHW pressure drop
Modelica.Units.SI.HeatFlowRatecapCoo_nominal (from PartialHeatPump)dat.capCoo_nominalDesign cooling capacity
Modelica.Units.SI.HeatFlowRateQCoo_flow_nominal (from PartialHeatPump)-abs(capCoo_nominal)Design cooling heat flow rate
Modelica.Units.SI.TemperatureTChiWatSup_nominal (from PartialHeatPump)dat.TChiWatSup_nominalDesign CHW supply temperature
Modelica.Units.SI.TemperatureTChiWatRet_nominal (from PartialHeatPump)dat.TChiWatRet_nominalDesign CHW return temperature
Modelica.Units.SI.MassFlowRatemSouHea_flow_nominal (from PartialHeatPump)dat.mSouHea_flow_nominalDesign source fluid mass flow rate in heating mode
Modelica.Units.SI.PressureDifferencedpSouHea_nominal (from PartialHeatPump)dat.dpSouHea_nominalDesign source fluid pressure drop in heating mode
Modelica.Units.SI.MassFlowRatemSouCoo_flow_nominal (from PartialHeatPump)dat.mSouCoo_flow_nominalDesign source fluid mass flow rate in cooling mode
Modelica.Units.SI.PressureDifferencedpSouCoo_nominal (from PartialHeatPump)dat.dpSouCoo_nominalDesigns source fluid pressure drop in cooling mode
Modelica.Units.SI.TemperatureTSouCoo_nominal (from PartialHeatPump)dat.TSouCoo_nominalDesign OAT or source fluid supply temperature (condenser entering) in cooling mode
Modelica.Units.SI.TemperatureTSouHea_nominal (from PartialHeatPump)dat.TSouHea_nominalDesign OAT or source fluid supply temperature (evaporator entering) in heating mode
MediumHeaWat.SpecificHeatCapacitycpHeaWat_default (from PartialHeatPump)MediumHeaWat.specificHeatCapacityCp(staHeaWat_default)HW default specific heat capacity
MediumHeaWat.ThermodynamicStatestaHeaWat_default (from PartialHeatPump)MediumHeaWat.setState_pTX(T = THeaWatSup_nominal, p = MediumHeaWat.p_default, X = MediumHeaWat.X_default)HW default state
MediumChiWat.SpecificHeatCapacitycpChiWat_default (from PartialHeatPump)MediumChiWat.specificHeatCapacityCp(staChiWat_default)CHW default specific heat capacity
MediumChiWat.ThermodynamicStatestaChiWat_default (from PartialHeatPump)MediumChiWat.setState_pTX(T = TChiWatSup_nominal, p = MediumChiWat.p_default, X = MediumChiWat.X_default)CHW default state
MediumSou.SpecificHeatCapacitycpSou_default (from PartialHeatPump)MediumSou.specificHeatCapacityCp(staSou_default)Source fluid default specific heat capacity
MediumSou.ThermodynamicStatestaSou_default (from PartialHeatPump)MediumSou.setState_pTX(T = TSouHea_nominal, p = MediumSou.p_default, X = MediumSou.X_default)Source fluid default state
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
BooleanallowFlowReversalSou (from PartialHeatPump)trueSource side flow reversal: false to simplify equations, assuming, but not enforcing, no flow reversal
Booleanhave_dpChiHeaWat (from PartialHeatPump)trueSet to true for CHW/HW pressure drop computed by this model, false for external computation
Booleanhave_dpSou (from PartialHeatPump)trueSet to true for source fluid pressure drop computed by this model, false for external computation
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Modelica.Units.SI.MassFlowRatemChiWat_flow_nominal (from PartialHeatPump)dat.mChiWat_flow_nominalDesign CHW mass flow rate
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Configuration
Buildings.Templates.Components.Types.HeatPumptyp (from PartialHeatPump)Equipment type
Booleanis_rev (from PartialHeatPump)Set to true for reversible heat pumps, false for heating only
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialHeatPump)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_aport_aSou (from PartialHeatPump)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_bSou (from PartialHeatPump)Fluid connector b (positive design flow direction is from port_a to port_b)
Buildings.Templates.Components.Interfaces.Busbus (from PartialHeatPump)Control bus
Buildings.BoundaryConditions.WeatherData.BusbusWea (from PartialHeatPump)Weather bus

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b
Fluid.Sources.Outsideair (from PartialHeatPump)Outdoor air
MediumSou.ThermodynamicStatesta_aSou (from PartialHeatPump)MediumSou.setState_phX(port_aSou.p, noEvent(actualStream(port_aSou.h_outflow)), noEvent(actualStream(port_aSou.Xi_outflow)))Source medium properties in port_aSou
MediumSou.ThermodynamicStatesta_bSou (from PartialHeatPump)MediumSou.setState_phX(port_bSou.p, noEvent(actualStream(port_bSou.h_outflow)), noEvent(actualStream(port_bSou.Xi_outflow)))Source medium properties in port_bSou
Controls.StatusEmulatory1_actualCompute heat pump status
Fluid.Sensors.MassFlowRatemChiHeaWat_flowCHW/HW mass flow rate
Fluid.Sensors.TemperatureTwoPortTChiHeaWatEntCHW/HW entering temperature
Fluid.Sensors.TemperatureTwoPortTChiHeaWatLvgCHW/HW leaving temperature
Fluid.Sensors.TemperatureTwoPortTSouEntSource fluid entering temperature
Fluid.Sensors.TemperatureTwoPortTSouLvgSource fluid leaving temperature
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDephpHeat pump

Revisions

  • March 23, 2026, by Antoine Gautier:
    Refactored with two separate connectors for HW and CHW temperature setpoints.
    This is for #4507.
  • March 21, 2025, by Antoine Gautier:
    First implementation.