modelPartialHeatPumpHeatExchanger

Partial model of a substation with heat pump and compressor-less cooling

Extends from Buildings.DHC.ETS.BaseClasses.PartialETS (Partial class for modeling an energy transfer station).

Information

This model represents an energy transfer station based on that described in Sommer (2020), with some additioinal details:

The cooling function is provided in a compressor-less mode by a heat exchanger connected to the district supply line.

  • The cooling heat exchanger primary pump is modulated based on a PI control loop tracking the chilled water supply temperature at the outlet of the heat exchanger secondary side.
  • The chilled water is typically produced at high temperature and distributed to radiant cooling systems, for instance at 19°C.

The space heating heating function is provided by a water-to-water heat pump Buildings.DHC.ETS.Combined.Subsystems.HeatPump.

  • By default, the condenser loop is operated with a variable mass flow rate to maintain a difference between supply and return water of dT_nominal, with a lower limit of mass flow specified by the ratio ratFloMin. The control logic is implemented and described in Buildings.DHC.ETS.Combined.Controls.PrimaryVariableFlow. The model can also represent a constant flow condenser loop by setting have_varFloCon to false.
  • The evaporator loop is controlled according to the documentation in Buildings.DHC.ETS.Combined.Subsystems.HeatPump. Evaporator water is supplied by mixing flow directly from the district line with flow leaving the district side of the cooling heat exchanger. The hydronic arrangement modeled in Buildings.DHC.ETS.Combined.Subsystems.SwitchBox ensures that the resulting fluid stream in the district line always flows in the same direction.
  • The space heating hot water is typically produced at low temperature, for instance 40°C.

Space Heating and Cooling Enable/Disable

Heating (resp. cooling) is enabled based on the input signal uHea (resp. uCoo) 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 heating and cooling enable signals should be computed externally based on a schedule (to lock out the system during off-hours), ideally in conjunction with the number of requests yielded by the terminal unit controllers, or any other signal representative of the load.

Modeling considerations

There is a control volume at each of the two fluid ports that serve as inlet and outlet of the heating and cooling systems. These approximate the dynamics of the substation, and they also generally avoid nonlinear systems of equations if multiple substations are connected to each other.

References

Sommer T., Sulzer M., Wetter M., Sotnikov A., Mennel S., Stettler C. The reservoir network: A new network topology for district heating and cooling. Energy, Volume 199, 15 May 2020, 117418.

Parameters

TypeNameDefaultDescription
Buildings.Fluid.Data.Fuels.Generic[nFue]fue (from PartialETS)Fuel type
Booleanhave_varFloContrueSet to true for heat pumps with variable condenser flow
Booleanhave_varFloEvatrueSet to true for heat pumps with variable evaporator flow
RealratFloMin0.3Minimum condenser mass flow rate (ratio to nominal)
Modelica.Units.SI.SpecificHeatCapacitycpBui_defaultMediumBui.specificHeatCapacityCp(MediumBui.setState_pTX(p = MediumBui.p_default, T = MediumBui.T_default))Specific heat capacity of the fluid
Modelica.Units.SI.SpecificHeatCapacitycpSer_defaultMediumBui.specificHeatCapacityCp(MediumSer.setState_pTX(p = MediumSer.p_default, T = MediumSer.T_default))Specific heat capacity of the fluid
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_nominal5Water temperature drop/increase accross load and source-side HX (always positive)
Modelica.Units.SI.TemperatureTChiWatRet_nominalTChiWatSup_nominal + dT_nominalChilled water return temperature
Modelica.Units.SI.TemperatureTHeaWatSup_nominal313.15Heating water supply temperature
Modelica.Units.SI.TemperatureTHeaWatRet_nominalTHeaWatSup_nominal - dT_nominalHeating water return temperature
Modelica.Units.SI.TemperatureTHotWatSup_nominal336.15Domestic hot water supply temperature to fixtures
Modelica.Units.SI.TemperatureTColWat_nominal288.15Cold water temperature (for hot water production)
Modelica.Units.SI.Pressuredp_nominal50000Pressure difference at nominal flow rate (for each flow leg)
Modelica.Units.SI.MassFlowRatemHeaWat_flow_nominalabs(QHeaWat_flow_nominal/cpBui_default/(THeaWatSup_nominal - THeaWatRet_nominal))Heating water mass flow rate
Modelica.Units.SI.MassFlowRatemEvaHotWat_flow_nominalQHotWat_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_nominalmax(proHeaWat.mCon_flow_nominal + mEvaHotWat_flow_nominal, hexChi.m1_flow_nominal)Service water mass flow rate
RealCOPHeaWat_nominalCOP of heat pump for heating water production
RealCOPHotWat_nominalCOP of heat pump for hot water production
Modelica.Units.SI.MassFlowRatem1HexChi_flow_nominalabs(QChiWat_flow_nominal/cpSer_default/dT_nominal)CHW HX primary mass flow rate
Modelica.Units.SI.MassFlowRatem2HexChi_flow_nominalabs(QChiWat_flow_nominal/cpSer_default/(THeaWatSup_nominal - THeaWatRet_nominal))CHW HX secondary mass flow rate
DHC system
Modelica.Units.SI.TemperatureTDisWatMinDistrict water minimum temperature
Modelica.Units.SI.TemperatureTDisWatMaxDistrict water maximum temperature
Nominal conditions
Modelica.Units.SI.TemperatureTChiWatSup_nominal291.15Chilled water supply temperature
Modelica.Units.SI.MassFlowRatemChiWat_flow_nominalabs(QChiWat_flow_nominal/cpBui_default/(TChiWatSup_nominal - TChiWatRet_nominal))Chilled water mass flow rate
Dynamics
Modelica.Fluid.Types.DynamicsmixingVolumeEnergyDynamicsModelica.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.BooleanInputuCooCooling enable signal
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuHeaHeating enable signal
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuSHWSHW production enable signal
Buildings.Controls.OBC.CDL.Interfaces.RealInputTHeaWatSupSetHeating water supply temperature set point
Buildings.Controls.OBC.CDL.Interfaces.RealInputTHotWatSupSetDomestic hot water temperature set point for supply to fixtures
Buildings.Controls.OBC.CDL.Interfaces.RealInputTColWatCold water temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputQReqHotWat_flowService hot water load
Buildings.Controls.OBC.CDL.Interfaces.RealInputTChiWatSupSetChilled water supply temperature set point
Buildings.Controls.OBC.CDL.Interfaces.RealOutputmHea_flowDistrict water mass flow rate used for heating service
Buildings.Controls.OBC.CDL.Interfaces.RealOutputmCoo_flowDistrict water mass flow rate used for cooling service

Components

TypeNameDefaultDescription
Buildings.Fluid.Delays.DelayFirstOrdervolMix_aMixing volume to break algebraic loops and to emulate the delay of the substation
Buildings.Fluid.Delays.DelayFirstOrdervolMix_bMixing volume to break algebraic loops and to emulate the delay of the substation
Buildings.DHC.ETS.BaseClasses.Pump_m_flowpum1HexChiChilled water HX primary pump
Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTUhexChiChilled water HX
Buildings.Fluid.Delays.DelayFirstOrdervolHeaWatRetMixing volume representing building HHW primary
Buildings.Fluid.Sensors.MassFlowRatesenMasFloHeaWatHeating water mass flow rate
Buildings.Fluid.Delays.DelayFirstOrdervolChiWatMixing volume representing building CHW primary
Buildings.Fluid.Sensors.MassFlowRatesenMasFloChiWatChilled water mass flow rate
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametergai2
Buildings.Controls.OBC.Utilities.PIDWithEnableconTChiWatPI controller for district HX primary side
Buildings.Controls.OBC.CDL.Reals.MultiSumPPumHeaTotTotal pump power for heating applications
Buildings.Fluid.Sources.Boundary_pTbouHeaWatPressure boundary condition representing the expansion vessel
Buildings.Fluid.Sources.Boundary_pTbouChiWatPressure boundary condition representing the expansion vessel
Buildings.Controls.OBC.CDL.Reals.MultiSumPPumCooTotTotal pump power for space cooling
Buildings.Controls.OBC.CDL.Reals.MultiSumPPumTotTotal pump power
Buildings.Fluid.Sensors.TemperatureTwoPortsenTHeaWatSupHeating water supply temperature
Buildings.Fluid.Sensors.TemperatureTwoPortsenTChiWatSupChilled water supply temperature
Buildings.DHC.ETS.Combined.Subsystems.SwitchBoxswiFloFlow switch box
Buildings.DHC.ETS.BaseClasses.JunctionbypHeaWatSupBypass heating water (supply)
Buildings.DHC.ETS.BaseClasses.JunctionbypHeaWatRetBypass heating water (return)
Buildings.Controls.OBC.CDL.Logical.TrueFalseHoldenaHeaEnable heating
Buildings.DHC.ETS.Combined.Subsystems.HeatPumpproHeaWatSubsystem for heating water production
Buildings.Controls.OBC.CDL.Reals.MultiSummasFloHeaTotCompute district water mass flow rate used for heating service
Modelica.Blocks.Sources.ConstantzerReplacement variable
Buildings.Fluid.Sensors.TemperatureTwoPortsenTHeaWatRetHeating water return temperature
Buildings.Fluid.Sensors.TemperatureTwoPortsenTChiWatRetChilled water return temperature
Buildings.Fluid.Sensors.MassFlowRatesenMasFloHeaWatPriPrimary heating water mass flow rate
Buildings.Controls.OBC.CDL.Logical.TrueFalseHoldenaSHWEnable SHW production
Modelica.Blocks.Sources.Constantzer1Replacement variable
Buildings.Controls.OBC.CDL.Reals.AddmasFloHeaService water mass flow rate for heating applications
Buildings.Controls.OBC.CDL.Reals.MultiSumPHeaTotTotal power used for heating and hot water production
Buildings.Controls.OBC.CDL.Reals.SubtractdTHHWHeating hot water DeltaT
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametercapFloHHWCapacity flow rate
Buildings.DHC.ETS.Combined.Controls.PrimaryVariableFlowconFloConHHWMass flow rate control
Buildings.Controls.OBC.CDL.Reals.MaxpriOveEnsure primary overflow
Buildings.Controls.OBC.CDL.Reals.MultiplyloaHHWHeating load
Fluid.Sensors.MassFlowRatesenMasFlo1HexChiChilled water HX primary mass flow rate

Revisions

  • June 21, 2024, by Antoine Gautier:
    Added HX primary flow sensor.
    This is for #3906.
  • February 15, 2024, by Ettore Zanetti:
    Switch box SwiFlo valve pressure drop reduced to zero.
  • October 2, 2023, by Michael Wetter:
    Renamed input loaSHW to QReqHotWat_flow.
  • May 17, 2023, by David Blum:
    Assigned dp_nominal to pum1HexChi.
    Corrected calculation of heat pump evaporator mass flow control.
    This is for issue 3379.
  • February 23, 2021, by Antoine Gautier:
    Refactored with subsystem models and partial ETS base class.
    This is for issue 1769.
  • December 12, 2017, by Michael Wetter:
    Removed call to Modelica.Utilities.Files.loadResource.
    This is for issue 1097.