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
Sety1Hea=truefor heating mode,y1Hea=falsefor 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
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Templates.Components.Data.HeatPump | dat (from PartialHeatPump) | Design and operating parameters | |
| Modelica.Units.SI.MassFlowRate | mHeaWat_flow_nominal (from PartialHeatPump) | dat.mHeaWat_flow_nominal | Design HW mass flow rate |
| Modelica.Units.SI.HeatFlowRate | capHea_nominal (from PartialHeatPump) | dat.capHea_nominal | Design heating capacity |
| Modelica.Units.SI.HeatFlowRate | QHea_flow_nominal (from PartialHeatPump) | abs(capHea_nominal) | Design heating heat flow rate |
| Modelica.Units.SI.PressureDifference | dpHeaWat_nominal (from PartialHeatPump) | dat.dpHeaWat_nominal | Design HW pressure drop |
| Modelica.Units.SI.Temperature | THeaWatSup_nominal (from PartialHeatPump) | dat.THeaWatSup_nominal | Design HW supply temperature |
| Modelica.Units.SI.Temperature | THeaWatRet_nominal (from PartialHeatPump) | dat.THeaWatRet_nominal | Design HW return temperature |
| Modelica.Units.SI.PressureDifference | dpChiWat_nominal (from PartialHeatPump) | dat.dpChiWat_nominal | Design CHW pressure drop |
| Modelica.Units.SI.HeatFlowRate | capCoo_nominal (from PartialHeatPump) | dat.capCoo_nominal | Design cooling capacity |
| Modelica.Units.SI.HeatFlowRate | QCoo_flow_nominal (from PartialHeatPump) | -abs(capCoo_nominal) | Design cooling heat flow rate |
| Modelica.Units.SI.Temperature | TChiWatSup_nominal (from PartialHeatPump) | dat.TChiWatSup_nominal | Design CHW supply temperature |
| Modelica.Units.SI.Temperature | TChiWatRet_nominal (from PartialHeatPump) | dat.TChiWatRet_nominal | Design CHW return temperature |
| Modelica.Units.SI.MassFlowRate | mSouHea_flow_nominal (from PartialHeatPump) | dat.mSouHea_flow_nominal | Design source fluid mass flow rate in heating mode |
| Modelica.Units.SI.PressureDifference | dpSouHea_nominal (from PartialHeatPump) | dat.dpSouHea_nominal | Design source fluid pressure drop in heating mode |
| Modelica.Units.SI.MassFlowRate | mSouCoo_flow_nominal (from PartialHeatPump) | dat.mSouCoo_flow_nominal | Design source fluid mass flow rate in cooling mode |
| Modelica.Units.SI.PressureDifference | dpSouCoo_nominal (from PartialHeatPump) | dat.dpSouCoo_nominal | Designs source fluid pressure drop in cooling mode |
| Modelica.Units.SI.Temperature | TSouCoo_nominal (from PartialHeatPump) | dat.TSouCoo_nominal | Design OAT or source fluid supply temperature (condenser entering) in cooling mode |
| Modelica.Units.SI.Temperature | TSouHea_nominal (from PartialHeatPump) | dat.TSouHea_nominal | Design OAT or source fluid supply temperature (evaporator entering) in heating mode |
| MediumHeaWat.SpecificHeatCapacity | cpHeaWat_default (from PartialHeatPump) | MediumHeaWat.specificHeatCapacityCp(staHeaWat_default) | HW default specific heat capacity |
| MediumHeaWat.ThermodynamicState | staHeaWat_default (from PartialHeatPump) | MediumHeaWat.setState_pTX(T = THeaWatSup_nominal, p = MediumHeaWat.p_default, X = MediumHeaWat.X_default) | HW default state |
| MediumChiWat.SpecificHeatCapacity | cpChiWat_default (from PartialHeatPump) | MediumChiWat.specificHeatCapacityCp(staChiWat_default) | CHW default specific heat capacity |
| MediumChiWat.ThermodynamicState | staChiWat_default (from PartialHeatPump) | MediumChiWat.setState_pTX(T = TChiWatSup_nominal, p = MediumChiWat.p_default, X = MediumChiWat.X_default) | CHW default state |
| MediumSou.SpecificHeatCapacity | cpSou_default (from PartialHeatPump) | MediumSou.specificHeatCapacityCp(staSou_default) | Source fluid default specific heat capacity |
| MediumSou.ThermodynamicState | staSou_default (from PartialHeatPump) | MediumSou.setState_pTX(T = TSouHea_nominal, p = MediumSou.p_default, X = MediumSou.X_default) | Source fluid default state |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Boolean | allowFlowReversalSou (from PartialHeatPump) | true | Source side flow reversal: false to simplify equations, assuming, but not enforcing, no flow reversal |
| Boolean | have_dpChiHeaWat (from PartialHeatPump) | true | Set to true for CHW/HW pressure drop computed by this model, false for external computation |
| Boolean | have_dpSou (from PartialHeatPump) | true | Set to true for source fluid pressure drop computed by this model, false for external computation |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.MassFlowRate | mChiWat_flow_nominal (from PartialHeatPump) | dat.mChiWat_flow_nominal | Design CHW mass flow rate |
| Advanced | |||
| Modelica.Units.SI.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
| Configuration | |||
| Buildings.Templates.Components.Types.HeatPump | typ (from PartialHeatPump) | Equipment type | |
| Boolean | is_rev (from PartialHeatPump) | Set to true for reversible heat pumps, false for heating only | |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from PartialHeatPump) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_aSou (from PartialHeatPump) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_bSou (from PartialHeatPump) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Buildings.Templates.Components.Interfaces.Bus | bus (from PartialHeatPump) | Control bus | |
| Buildings.BoundaryConditions.WeatherData.Bus | busWea (from PartialHeatPump) | Weather bus |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_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.ThermodynamicState | sta_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.Outside | air (from PartialHeatPump) | Outdoor air | |
| MediumSou.ThermodynamicState | sta_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.ThermodynamicState | sta_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.StatusEmulator | y1_actual | Compute heat pump status | |
| Fluid.Sensors.MassFlowRate | mChiHeaWat_flow | CHW/HW mass flow rate | |
| Fluid.Sensors.TemperatureTwoPort | TChiHeaWatEnt | CHW/HW entering temperature | |
| Fluid.Sensors.TemperatureTwoPort | TChiHeaWatLvg | CHW/HW leaving temperature | |
| Fluid.Sensors.TemperatureTwoPort | TSouEnt | Source fluid entering temperature | |
| Fluid.Sensors.TemperatureTwoPort | TSouLvg | Source fluid leaving temperature | |
| Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep | hp | Heat 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.