modelWaterToWater

Water-to-water heat pump

Extends from Buildings.Templates.Components.BaseClasses.PartialHeatPumpTableData2DLoadDep (Interface for heat pump using load-dependent 2D table data).

Information

This is a model for a water-to-water heat pump 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. The model can be configured to represent either a non-reversible (heating-only) heat pump (is_rev=false) or a reversible heat pump (is_rev=true).

This model is a wrapper for Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep, which the user may refer to for the modeling assumptions. Note that, by default, internal safeties in this model are disabled.

Control points

Refer to the documentation of the base class Buildings.Templates.Components.BaseClasses.PartialHeatPumpTableData2DLoadDep for a description of the available control input and output variables.

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_actual (from PartialHeatPumpTableData2DLoadDep)Compute heat pump status
Fluid.Sensors.MassFlowRatemChiHeaWat_flow (from PartialHeatPumpTableData2DLoadDep)CHW/HW mass flow rate
Fluid.Sensors.TemperatureTwoPortTChiHeaWatEnt (from PartialHeatPumpTableData2DLoadDep)CHW/HW entering temperature
Fluid.Sensors.TemperatureTwoPortTChiHeaWatLvg (from PartialHeatPumpTableData2DLoadDep)CHW/HW leaving temperature
Fluid.Sensors.TemperatureTwoPortTSouEnt (from PartialHeatPumpTableData2DLoadDep)Source fluid entering temperature
Fluid.Sensors.TemperatureTwoPortTSouLvg (from PartialHeatPumpTableData2DLoadDep)Source fluid leaving temperature
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDephp (from PartialHeatPumpTableData2DLoadDep)Heat pump

Revisions

  • August 21, 2025, by Antoine Gautier:
    Refactored with load-dependent 2D table data heat pump model.
    This is for #4152.
  • March 29, 2024, by Antoine Gautier:
    First implementation.