modelHeatPumpHeatExchangerDHWTank

Model of a substation with heat pump for heating, heat pump with storage tank for domestic hot water, and compressor-less cooling

Extends from Buildings.DHC.ETS.Combined.BaseClasses.PartialHeatPumpHeatExchanger (Partial model of a substation with heat pump and compressor-less cooling).

Information

This model uses the base energy transfer station defined in Buildings.DHC.ETS.Combined.BaseClasses.PartialHeatPumpHeatExchanger.

Domestic Hot Water

Domestic hot water is produced using a dedicated water-to-water heat pump with storage tank.

Heating is enabled based on the input signal uSHW which is held for 15 minutes, meaning that, when enabled, the mode remains active for at least 15 minutes and, when disabled, the mode cannot be enabled again for at least 15 minutes. The enable signal should be computed externally based on a schedule (to lock out the system during off-hours), ideally in conjunction with the number of requests or any other signal representative of the load.

When enabled,

  • The heat pump and the evaporator and condenser hydronics are controlled based on the principles described in Buildings.DHC.ETS.Combined.Subsystems.HeatPumpDHWTank.
  • The mass flow rate of water leaving the domestic hot water heat exchanger is computed based on the domestic hot water heating load (input QReqHotWat_flow) combined with the operation of a thermostatic mixing valve used to mix down the temperature of hot water leaving the domestic hot water heat exchanger to the temperature distributed to fixtures (parameter THotWatSup_nominal) using domestic cold water at the cold water temperature (input TColWat). The desired water flow rate leaving the thermostatic mixing valve is determined according to the following equation:

    QReqHotWat_flow = ṁ cp (THotWatSup_nominal - TColWat)

Parameters

TypeNameDefaultDescription
Buildings.Fluid.Data.Fuels.Generic[nFue]fue (from PartialETS)Fuel type
Booleanhave_varFloCon (from PartialHeatPumpHeatExchanger)trueSet to true for heat pumps with variable condenser flow
Booleanhave_varFloEva (from PartialHeatPumpHeatExchanger)trueSet to true for heat pumps with variable evaporator flow
RealratFloMin (from PartialHeatPumpHeatExchanger)0.3Minimum condenser mass flow rate (ratio to nominal)
Modelica.Units.SI.SpecificHeatCapacitycpBui_default (from PartialHeatPumpHeatExchanger)MediumBui.specificHeatCapacityCp(MediumBui.setState_pTX(p = MediumBui.p_default, T = MediumBui.T_default))Specific heat capacity of the fluid
Modelica.Units.SI.SpecificHeatCapacitycpSer_default (from PartialHeatPumpHeatExchanger)MediumBui.specificHeatCapacityCp(MediumSer.setState_pTX(p = MediumSer.p_default, T = MediumSer.T_default))Specific heat capacity of the fluid
Buildings.DHC.Loads.HotWater.Data.GenericDomesticHotWaterWithHeatExchangerdatWatHeaPerformance data
Configuration
TypDisSystyp (from PartialETS)Buildings.DHC.Types.DistrictSystemType.CombinedGeneration2to4Type of district system
IntegernPorts_aHeaWat (from PartialETS)0Number of heating water return ports
IntegernPorts_bHeaWat (from PartialETS)0Number of heating water supply ports
IntegernPorts_aChiWat (from PartialETS)0Number of chilled water return ports
IntegernPorts_bChiWat (from PartialETS)0Number of chilled water supply ports
Booleanhave_heaWat (from PartialETS)falseSet to true if the ETS supplies heating water
Booleanhave_hotWat (from PartialETS)falseSet to true if the ETS supplies hot water
Booleanhave_chiWat (from PartialETS)falseSet to true if the ETS supplies chilled water
Booleanhave_fan (from PartialETS)falseSet to true if fan power is computed
Booleanhave_pum (from PartialETS)falseSet to true if pump power is computed
Booleanhave_eleHea (from PartialETS)falseSet to true if the ETS has electric heating system
IntegernFue (from PartialETS)0Number of fuel types (0 means no combustion system)
Booleanhave_eleCoo (from PartialETS)falseSet to true if the ETS has electric cooling system
Booleanhave_weaBus (from PartialETS)falseSet to true to use a weather bus
Assumptions
BooleanallowFlowReversalSer (from PartialETS)falseSet to true to allow flow reversal on service side
BooleanallowFlowReversalBui (from PartialETS)falseSet to true to allow flow reversal on building side
Nominal condition
Modelica.Units.SI.HeatFlowRateQHeaWat_flow_nominal (from PartialETS)0Nominal capacity of heating system (>=0)
Modelica.Units.SI.HeatFlowRateQHotWat_flow_nominal (from PartialETS)0Nominal capacity of hot water production system (>=0)
Modelica.Units.SI.HeatFlowRateQChiWat_flow_nominal (from PartialETS)0Nominal capacity of cooling system (<=0)
Modelica.Units.SI.TemperatureDifferencedT_nominal (from PartialHeatPumpHeatExchanger)5Water temperature drop/increase accross load and source-side HX (always positive)
Modelica.Units.SI.TemperatureTChiWatRet_nominal (from PartialHeatPumpHeatExchanger)TChiWatSup_nominal + dT_nominalChilled water return temperature
Modelica.Units.SI.TemperatureTHeaWatSup_nominal (from PartialHeatPumpHeatExchanger)313.15Heating water supply temperature
Modelica.Units.SI.TemperatureTHeaWatRet_nominal (from PartialHeatPumpHeatExchanger)THeaWatSup_nominal - dT_nominalHeating water return temperature
Modelica.Units.SI.TemperatureTHotWatSup_nominal (from PartialHeatPumpHeatExchanger)336.15Domestic hot water supply temperature to fixtures
Modelica.Units.SI.TemperatureTColWat_nominal (from PartialHeatPumpHeatExchanger)288.15Cold water temperature (for hot water production)
Modelica.Units.SI.Pressuredp_nominal (from PartialHeatPumpHeatExchanger)50000Pressure difference at nominal flow rate (for each flow leg)
Modelica.Units.SI.MassFlowRatemHeaWat_flow_nominal (from PartialHeatPumpHeatExchanger)abs(QHeaWat_flow_nominal/cpBui_default/(THeaWatSup_nominal - THeaWatRet_nominal))Heating water mass flow rate
Modelica.Units.SI.MassFlowRatemEvaHotWat_flow_nominal (from PartialHeatPumpHeatExchanger)QHotWat_flow_nominal*(COPHotWat_nominal - 1)/COPHotWat_nominal/cpSer_default/dT_nominalEvaporator water mass flow rate of heat pump for hot water production
Modelica.Units.SI.MassFlowRatemSerWat_flow_nominal (from PartialHeatPumpHeatExchanger)max(proHeaWat.mCon_flow_nominal + mEvaHotWat_flow_nominal, hexChi.m1_flow_nominal)Service water mass flow rate
RealCOPHeaWat_nominal (from PartialHeatPumpHeatExchanger)COP of heat pump for heating water production
RealCOPHotWat_nominal (from PartialHeatPumpHeatExchanger)COP of heat pump for hot water production
Modelica.Units.SI.MassFlowRatem1HexChi_flow_nominal (from PartialHeatPumpHeatExchanger)abs(QChiWat_flow_nominal/cpSer_default/dT_nominal)CHW HX primary mass flow rate
Modelica.Units.SI.MassFlowRatem2HexChi_flow_nominal (from PartialHeatPumpHeatExchanger)abs(QChiWat_flow_nominal/cpSer_default/(THeaWatSup_nominal - THeaWatRet_nominal))CHW HX secondary mass flow rate
DHC system
Modelica.Units.SI.TemperatureTDisWatMin (from PartialHeatPumpHeatExchanger)District water minimum temperature
Modelica.Units.SI.TemperatureTDisWatMax (from PartialHeatPumpHeatExchanger)District water maximum temperature
Nominal conditions
Modelica.Units.SI.TemperatureTChiWatSup_nominal (from PartialHeatPumpHeatExchanger)291.15Chilled water supply temperature
Modelica.Units.SI.MassFlowRatemChiWat_flow_nominal (from PartialHeatPumpHeatExchanger)abs(QChiWat_flow_nominal/cpBui_default/(TChiWatSup_nominal - TChiWatRet_nominal))Chilled water mass flow rate
Dynamics
Modelica.Fluid.Types.DynamicsmixingVolumeEnergyDynamics (from PartialHeatPumpHeatExchanger)Modelica.Fluid.Types.Dynamics.FixedInitialFormulation of energy balance for mixing volume at inlet and outlet

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPorts_a[nPorts_aHeaWat]ports_aHeaWat (from PartialETS)Fluid connectors for heating water return (from building)
Modelica.Fluid.Interfaces.FluidPorts_b[nPorts_bHeaWat]ports_bHeaWat (from PartialETS)Fluid connectors for heating water supply (to building)
Modelica.Fluid.Interfaces.FluidPorts_a[nPorts_aChiWat]ports_aChiWat (from PartialETS)Fluid connectors for chilled water return (from building)
Modelica.Fluid.Interfaces.FluidPorts_b[nPorts_bChiWat]ports_bChiWat (from PartialETS)Fluid connectors for chilled water supply (to building)
Modelica.Fluid.Interfaces.FluidPort_aport_aSerAmb (from PartialETS)Fluid connector for ambient water service supply line
Modelica.Fluid.Interfaces.FluidPort_bport_bSerAmb (from PartialETS)Fluid connector for ambient water service return line
Modelica.Fluid.Interfaces.FluidPort_aport_aSerHea (from PartialETS)Fluid connector for heating service supply line
Modelica.Fluid.Interfaces.FluidPort_bport_bSerHea (from PartialETS)Fluid connector for heating service return line
Modelica.Fluid.Interfaces.FluidPort_aport_aSerCoo (from PartialETS)Fluid connector for cooling service supply line
Modelica.Fluid.Interfaces.FluidPort_bport_bSerCoo (from PartialETS)Fluid connector for cooling service return line
Buildings.Controls.OBC.CDL.Interfaces.RealOutputPHea (from PartialETS)Power drawn by heating system
Buildings.Controls.OBC.CDL.Interfaces.RealOutputPCoo (from PartialETS)Power drawn by cooling system
Buildings.Controls.OBC.CDL.Interfaces.RealOutputPFan (from PartialETS)Power drawn by fan motors
Buildings.Controls.OBC.CDL.Interfaces.RealOutputPPum (from PartialETS)Power drawn by pump motors
Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nFue]QFue_flow (from PartialETS)Fuel energy input rate
BoundaryConditions.WeatherData.BusweaBus (from PartialETS)Weather data bus
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuCoo (from PartialHeatPumpHeatExchanger)Cooling enable signal
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuHea (from PartialHeatPumpHeatExchanger)Heating enable signal
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuSHW (from PartialHeatPumpHeatExchanger)SHW production enable signal
Buildings.Controls.OBC.CDL.Interfaces.RealInputTHeaWatSupSet (from PartialHeatPumpHeatExchanger)Heating water supply temperature set point
Buildings.Controls.OBC.CDL.Interfaces.RealInputTHotWatSupSet (from PartialHeatPumpHeatExchanger)Domestic hot water temperature set point for supply to fixtures
Buildings.Controls.OBC.CDL.Interfaces.RealInputTColWat (from PartialHeatPumpHeatExchanger)Cold water temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputQReqHotWat_flow (from PartialHeatPumpHeatExchanger)Service hot water load
Buildings.Controls.OBC.CDL.Interfaces.RealInputTChiWatSupSet (from PartialHeatPumpHeatExchanger)Chilled water supply temperature set point
Buildings.Controls.OBC.CDL.Interfaces.RealOutputmHea_flow (from PartialHeatPumpHeatExchanger)District water mass flow rate used for heating service
Buildings.Controls.OBC.CDL.Interfaces.RealOutputmCoo_flow (from PartialHeatPumpHeatExchanger)District water mass flow rate used for cooling service

Components

TypeNameDefaultDescription
Buildings.Fluid.Delays.DelayFirstOrdervolMix_a (from PartialHeatPumpHeatExchanger)Mixing volume to break algebraic loops and to emulate the delay of the substation
Buildings.Fluid.Delays.DelayFirstOrdervolMix_b (from PartialHeatPumpHeatExchanger)Mixing volume to break algebraic loops and to emulate the delay of the substation
Buildings.DHC.ETS.BaseClasses.Pump_m_flowpum1HexChi (from PartialHeatPumpHeatExchanger)Chilled water HX primary pump
Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTUhexChi (from PartialHeatPumpHeatExchanger)Chilled water HX
Buildings.Fluid.Delays.DelayFirstOrdervolHeaWatRet (from PartialHeatPumpHeatExchanger)Mixing volume representing building HHW primary
Buildings.Fluid.Sensors.MassFlowRatesenMasFloHeaWat (from PartialHeatPumpHeatExchanger)Heating water mass flow rate
Buildings.Fluid.Delays.DelayFirstOrdervolChiWat (from PartialHeatPumpHeatExchanger)Mixing volume representing building CHW primary
Buildings.Fluid.Sensors.MassFlowRatesenMasFloChiWat (from PartialHeatPumpHeatExchanger)Chilled water mass flow rate
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametergai2 (from PartialHeatPumpHeatExchanger)
Buildings.Controls.OBC.Utilities.PIDWithEnableconTChiWat (from PartialHeatPumpHeatExchanger)PI controller for district HX primary side
Buildings.Controls.OBC.CDL.Reals.MultiSumPPumHeaTot (from PartialHeatPumpHeatExchanger)Total pump power for heating applications
Buildings.Fluid.Sources.Boundary_pTbouHeaWat (from PartialHeatPumpHeatExchanger)Pressure boundary condition representing the expansion vessel
Buildings.Fluid.Sources.Boundary_pTbouChiWat (from PartialHeatPumpHeatExchanger)Pressure boundary condition representing the expansion vessel
Buildings.Controls.OBC.CDL.Reals.MultiSumPPumCooTot (from PartialHeatPumpHeatExchanger)Total pump power for space cooling
Buildings.Controls.OBC.CDL.Reals.MultiSumPPumTot (from PartialHeatPumpHeatExchanger)Total pump power
Buildings.Fluid.Sensors.TemperatureTwoPortsenTHeaWatSup (from PartialHeatPumpHeatExchanger)Heating water supply temperature
Buildings.Fluid.Sensors.TemperatureTwoPortsenTChiWatSup (from PartialHeatPumpHeatExchanger)Chilled water supply temperature
Buildings.DHC.ETS.Combined.Subsystems.SwitchBoxswiFlo (from PartialHeatPumpHeatExchanger)Flow switch box
Buildings.DHC.ETS.BaseClasses.JunctionbypHeaWatSup (from PartialHeatPumpHeatExchanger)Bypass heating water (supply)
Buildings.DHC.ETS.BaseClasses.JunctionbypHeaWatRet (from PartialHeatPumpHeatExchanger)Bypass heating water (return)
Buildings.Controls.OBC.CDL.Logical.TrueFalseHoldenaHea (from PartialHeatPumpHeatExchanger)Enable heating
Buildings.DHC.ETS.Combined.Subsystems.HeatPumpproHeaWat (from PartialHeatPumpHeatExchanger)Subsystem for heating water production
Buildings.Controls.OBC.CDL.Reals.MultiSummasFloHeaTot (from PartialHeatPumpHeatExchanger)Compute district water mass flow rate used for heating service
Modelica.Blocks.Sources.Constantzer (from PartialHeatPumpHeatExchanger)Replacement variable
Buildings.Fluid.Sensors.TemperatureTwoPortsenTHeaWatRet (from PartialHeatPumpHeatExchanger)Heating water return temperature
Buildings.Fluid.Sensors.TemperatureTwoPortsenTChiWatRet (from PartialHeatPumpHeatExchanger)Chilled water return temperature
Buildings.Fluid.Sensors.MassFlowRatesenMasFloHeaWatPri (from PartialHeatPumpHeatExchanger)Primary heating water mass flow rate
Buildings.Controls.OBC.CDL.Logical.TrueFalseHoldenaSHW (from PartialHeatPumpHeatExchanger)Enable SHW production
Modelica.Blocks.Sources.Constantzer1 (from PartialHeatPumpHeatExchanger)Replacement variable
Buildings.Controls.OBC.CDL.Reals.AddmasFloHea (from PartialHeatPumpHeatExchanger)Service water mass flow rate for heating applications
Buildings.Controls.OBC.CDL.Reals.MultiSumPHeaTot (from PartialHeatPumpHeatExchanger)Total power used for heating and hot water production
Buildings.Controls.OBC.CDL.Reals.SubtractdTHHW (from PartialHeatPumpHeatExchanger)Heating hot water DeltaT
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametercapFloHHW (from PartialHeatPumpHeatExchanger)Capacity flow rate
Buildings.DHC.ETS.Combined.Controls.PrimaryVariableFlowconFloConHHW (from PartialHeatPumpHeatExchanger)Mass flow rate control
Buildings.Controls.OBC.CDL.Reals.MaxpriOve (from PartialHeatPumpHeatExchanger)Ensure primary overflow
Buildings.Controls.OBC.CDL.Reals.MultiplyloaHHW (from PartialHeatPumpHeatExchanger)Heating load
Fluid.Sensors.MassFlowRatesenMasFlo1HexChi (from PartialHeatPumpHeatExchanger)Chilled water HX primary mass flow rate
Buildings.Fluid.Sources.Boundary_pTsouDCWSource for domestic cold water
Buildings.DHC.ETS.Combined.Subsystems.HeatPumpDHWTankproHotWatSubsystem for hot water production
Buildings.DHC.Loads.HotWater.ThermostaticMixingValvetheMixValThermostatic mixing valve
Buildings.DHC.ETS.BaseClasses.JunctiondcwSplSplitter for domestic cold water
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametergai

Revisions

  • March 27, 2024, by David Blum:
    Update icon.
    This is for issue #3606.
  • September 13, 2023, by David Blum:
    First implementation, extended from partial base class. This is for issue 3063.