modelHeatPumpDHWTank

Base subsystem with water-to-water heat pump with storage tank for domestic hot water

Extends from Buildings.DHC.ETS.Combined.Subsystems.BaseClasses.PartialHeatPump (Partial base class for subsystems containing a heat pump).

Information

Model of a water-to-water heat pump with temperature control on evaporator side, with the heat pump being connected to a domestic hot water tank with fresh water stations.

Heat pump with domestic hot water tank

The heat pump model with storage tank is described in Buildings.DHC.Loads.HotWater.StorageTankWithExternalHeatExchanger. The evaporator hydronics and control are described in Buildings.DHC.ETS.Combined.Subsystems.BaseClasses.PartialHeatPump.

Condenser Controls

The system is enabled when the tank charge control signal switches to true. When enabled,

  • the condenser pump is commanded on and supplies the nominal mass flow rate to the tank and domestic hot water system,
  • the heat pump evaporator supplies a constant temperature increase from the return to the supply equal to dT_nominal.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatemCon_flow_nominal (from PartialHeatPump)heaPum.m1_flow_nominalCondenser mass flow rate
Modelica.Units.SI.MassFlowRatemEva_flow_nominal (from PartialHeatPump)heaPum.m2_flow_nominalEvaporator mass flow rate
Buildings.DHC.Loads.HotWater.Data.GenericDomesticHotWaterWithHeatExchangerdatWatHeaPerformance data
Nominal condition
RealCOP_nominal (from PartialHeatPump)Heat pump COP
Modelica.Units.SI.TemperatureTCon_nominal (from PartialHeatPump)Condenser outlet temperature used to compute COP_nominal
Modelica.Units.SI.TemperatureTEva_nominal (from PartialHeatPump)Evaporator outlet temperature used to compute COP_nominal
Modelica.Units.SI.TemperatureDifferencedT_nominal (from PartialHeatPump)5Water temperature drop/increase accross load and source-side HX (always positive)
Modelica.Units.SI.Pressuredp1_nominal (from PartialHeatPump)Pressure difference over condenser
Modelica.Units.SI.Pressuredp2_nominal (from PartialHeatPump)Pressure difference over evaporator
Modelica.Units.SI.HeatFlowRateQHotWat_flow_nominalNominal capacity of heat pump condenser for hot water production system (>=0)
Assumptions
BooleanallowFlowReversal1 (from PartialHeatPump)falseSet to true to allow flow reversal on condenser side
BooleanallowFlowReversal2 (from PartialHeatPump)falseSet to true to allow flow reversal on evaporator side

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a2 (from PartialHeatPump)Fluid port for entering evaporator water
Modelica.Fluid.Interfaces.FluidPort_bport_b2 (from PartialHeatPump)Fluid port for leaving evaporator water
Modelica.Fluid.Interfaces.FluidPort_aport_a1 (from PartialHeatPump)Fluid port for cold domestic water
Modelica.Fluid.Interfaces.FluidPort_bport_b1 (from PartialHeatPump)Fluid port for heated domestic hot water
Buildings.Controls.OBC.CDL.Interfaces.RealOutputPHea (from PartialHeatPump)Heat pump power
Buildings.Controls.OBC.CDL.Interfaces.RealOutputPPum (from PartialHeatPump)Pump power
Buildings.Controls.OBC.CDL.Interfaces.RealOutputmEva_flow (from PartialHeatPump)Evaporator water mass flow rate
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuEna (from PartialHeatPump)Enable signal

Components

TypeNameDefaultDescription
Buildings.Fluid.HeatPumps.Carnot_TConheaPum (from PartialHeatPump)Domestic hot water heat pump
Buildings.DHC.ETS.BaseClasses.Pump_m_flowpumCon (from PartialHeatPump)Pump for heat pump condenser
Buildings.Fluid.Movers.Preconfigured.SpeedControlled_ypumEva (from PartialHeatPump)Heat pump evaporator water pump
Modelica.Blocks.Math.AddaddPPum (from PartialHeatPump)Electricity use for pumps
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealfloEva (from PartialHeatPump)Evaporator mass flow rate
Fluid.Actuators.Valves.ThreeWayEqualPercentageLinearvalHeaPumEva (from PartialHeatPump)Valve at heat pump evaporator
Fluid.Sensors.TemperatureTwoPortsenTEvaRet (from PartialHeatPump)Evaporator return temperature sensor
Fluid.Sensors.TemperatureTwoPortsenTDisSup (from PartialHeatPump)District supply temperature sensor
Buildings.Controls.OBC.CDL.Reals.SubtractdT_supRet (from PartialHeatPump)Temperature difference over heat pump connection
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantdTSet (from PartialHeatPump)Set point for temperature difference over heat pump
Buildings.Controls.OBC.CDL.Reals.PIDWithResetconPI (from PartialHeatPump)Controller to ensure dT_nominal over heat pump connection
Fluid.Sensors.MassFlowRatesenMasFlo (from PartialHeatPump)Mass flow rate drawn from ETS
Buildings.DHC.ETS.BaseClasses.Junctionjunction (from PartialHeatPump)
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealfloConCondenser mass flow rate
Buildings.DHC.Loads.HotWater.StorageTankWithExternalHeatExchangerheaPumTanHeat pump with storage tank for domestic hot water
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantTHotSouSetSet point of water in hot water tank
Buildings.Fluid.Sources.Boundary_pTpreRefReference pressure for loop
Buildings.Fluid.Sensors.TemperatureTwoPortsenTemHeaPumRetSensor for return temperature to heat pump
Buildings.Controls.OBC.CDL.Reals.AddParameteraddPardT for heater
Modelica.Blocks.Math.AddaddPPum1Electricity use for pumps
Buildings.Controls.OBC.CDL.Logical.Andand2Outputs true if boiler needs to be charged and plant is enabled

Revisions

  • July 10, 2024, by Michael Wetter:
    Enabled input filter to the pumps to avoid a nonlinear system of equations that causes OpenModelica to stop the translation.
    This is for issue 3924.
  • June 11, 2024, by Michael Wetter:
    Changed temperature sensor to not allow reverse flow as it is not needed and will cause an undefined output if the mass flow rate is zero, which causes issues in the result verification.
    This is for issue 3876.
  • November 28, 2023, by David Blum:
    First implementation, extended from partial base class with added condenser hydronics and control. This is for issue 3063.