modelTableData2DLoadDepSHC1And2

Example of a primary-secondary plant with four-pipe heat pump

Extends from Modelica.Icons.Example (Icon for runnable examples).

Information

This model illustrates the use of Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDepSHC to model a primary-secondary heating and cooling plant. The simulation covers a 24-hour period with overlapping heating and cooling loads. The heating loads reach their peak value first, the cooling loads reach it last.

The plant model includes the following components:

  • Modular four-pipe heat pump with three units.
  • HW and CHW isolation valves represented by an equivalent actuator.
  • Three headered constant-speed primary HW and CHW pumps.
  • HW and CHW common legs.
  • Three headered variable-speed secondary HW and CHW pumps.

A unique aggregated load is modeled on each loop by means of a cooling or heating component controlled to maintain a constant ΔT and a modulating valve controlled to track a prescribed flow rate.

The closed-loop controls use mostly the same logic as the one described in Buildings.Fluid.HeatPumps.ModularReversible.Examples.TableData2DLoadDepSHC1Only. Only the logic that differs is presented below.

Simulating this model shows how the plant responds to a varying load by

  • enabling or disabling the heating and cooling plants, and switching the heat pump operating mode accordingly,
  • staging or unstaging the heat pump modules in various modes,
  • actuating the corresponding isolation valves,
  • staging and rotating the primary pumps, and
  • staging, rotating and controlling the secondary pumps to meet the remote differential pressure setpoint.

Parameters

TypeNameDefaultDescription
Data.TableData2DLoadDepSHC.GenericdatPerformance data
Nominal condition
Modelica.Units.SI.HeatFlowRateQHea_flow_nominal1500E3Heating heat flow rate
Modelica.Units.SI.HeatFlowRateQCoo_flow_nominal-1500E3Cooling heat flow rate
Modelica.Units.SI.MassFlowRatemHwSec_flow_nominalabs(QHea_flow_nominal/(THwSup_nominal - THwRet_nominal))/Buildings.Utilities.Psychrometrics.Constants.cpWatLiqSecondary HW mass flow rate
Modelica.Units.SI.MassFlowRatemChwSec_flow_nominalabs(QCoo_flow_nominal/(TChwSup_nominal - TChwRet_nominal))/Buildings.Utilities.Psychrometrics.Constants.cpWatLiqSecondary CHW mass flow rate
Modelica.Units.SI.MassFlowRatemHwPri_flow_nominalmHwSec_flow_nominal/0.9Primary HW mass flow rate
Modelica.Units.SI.MassFlowRatemChwPri_flow_nominalmChwSec_flow_nominal/0.9Primary CHW mass flow rate
Modelica.Units.SI.TemperatureTHwSup_nominalBuildings.Templates.Data.Defaults.THeaWatSupMedHW supply temperature
Modelica.Units.SI.TemperatureTChwSup_nominalBuildings.Templates.Data.Defaults.TChiWatSupCHW supply temperature
Modelica.Units.SI.TemperatureTHwRet_nominalBuildings.Templates.Data.Defaults.THeaWatRetMedHW return temperature
Modelica.Units.SI.TemperatureTChwRet_nominalBuildings.Templates.Data.Defaults.TChiWatRetCHW return temperature
Modelica.Units.SI.PressureDifferencedpHwRemSet_maxBuildings.Templates.Data.Defaults.dpHeaWatRemSet_maxMaximum HW differential pressure setpoint - At remote location
Modelica.Units.SI.PressureDifferencedpChwRemSet_maxBuildings.Templates.Data.Defaults.dpChiWatRemSet_maxMaximum CHW differential pressure setpoint - At remote location
Modelica.Units.SI.PressureDifferencedpHwLocSet_maxBuildings.Templates.Data.Defaults.dpHeaWatLocSet_maxMaximum HW differential pressure setpoint - local to the plant
Modelica.Units.SI.PressureDifferencedpChwLocSet_maxBuildings.Templates.Data.Defaults.dpChiWatLocSet_maxMaximum CHW differential pressure setpoint - local to the plant
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamicsModelica.Fluid.Types.Dynamics.FixedInitialType of energy balance: dynamic (3 initialization options) or steady state

Connectors

TypeNameDefaultDescription
Templates.Components.Interfaces.BusbusPumChwPriPrimary CHW pump control bus
Templates.Components.Interfaces.BusbusPumHwPriPrimary HW pump control bus
Templates.Components.Interfaces.BusbusPumHwSecSecondary HW pump control bus
Templates.Components.Interfaces.BusbusPumChwPri1Primary CHW pump control bus

Components

TypeNameDefaultDescription
BoundaryConditions.WeatherData.ReaderTMY3weaDatOutdoor conditions
Fluid.HeatExchangers.SensibleCooler_TloaHwHW system approximated by prescribed return temperature
Fluid.HeatExchangers.Heater_TloaChwCHW system system approximated by prescribed return temperature
Fluid.Actuators.Valves.TwoWayEqualPercentagevalDisHwDistribution system approximated by variable flow resistance
Fluid.Actuators.Valves.TwoWayEqualPercentagevalDisChwDistribution system approximated by variable flow resistance
Fluid.Sensors.RelativePressuredpHwRemHW differential pressure at one remote location
Fluid.Sensors.RelativePressuredpChwRemCHW differential pressure at one remote location
Buildings.Controls.OBC.CDL.Reals.Sources.TimeTableratFloSource signal for flow rate ratio – Index 1 for HW, 2 for CHW
Buildings.Controls.OBC.CDL.Reals.PID[2]ctlEquZonZone equipment controller
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter[2]norFloNormalize flow rate
Fluid.Sensors.MassFlowRatemChw_flowCHW mass flow rate
Fluid.Sensors.MassFlowRatemHw_flowHW mass flow rate
Buildings.Controls.OBC.CDL.Reals.AddParameterTChwRetPrePrescribed CHW return temperature
Buildings.Controls.OBC.CDL.Reals.AddParameterTHwRetPrePrescribed HW return temperature
Buildings.Controls.OBC.CDL.Reals.Maxmax2Limit prescribed HWRT
Buildings.Controls.OBC.CDL.Reals.Minmin1Limit prescribed CHWRT
Buildings.Fluid.FixedResistances.PressureDroppipHwPiping
Buildings.Fluid.FixedResistances.PressureDroppipChwPiping
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantconConstant limiting prescribed return temperature
Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDepSHChpModular heat pump
Sensors.TemperatureTwoPortTChwSupCHW supply temperature
Sensors.TemperatureTwoPortTHwSupHW supply temperature
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]TSupSetSupply temperature setpoints
Sources.Boundary_pTpChwRetPressure boundary conditions at HP inlet
Sources.Boundary_pTpHwRetPressure boundary condition at HP inlet
Actuators.Valves.TwoWayTablevalHwIsoEquivalent actuator for modules' condenser barrels and HW isolation valves
Actuators.Valves.TwoWayTablevalChwIsoEquivalent actuator for modules' evaporator barrels and CHW isolation valves
Buildings.Controls.OBC.CDL.Integers.MultiSumsumNumUniTotal number of enabled modules
Buildings.Controls.OBC.CDL.Utilities.AssertassMesAssert condition on number of enabled modules
Buildings.Controls.OBC.CDL.Integers.LessEqualThresholdintLesEquThrTrue if number of enabled modules lower or equal to number of modules
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]dpHeaSetModule header dp setpoint
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]dpRemSetRemote dp setpoint
Sensors.TemperatureTwoPortTHwRetPlaPlant HW return temperature
Sensors.TemperatureTwoPortTChwRetPlaPlant CHW return temperature
Sensors.TemperatureTwoPortTChwRetCHW return temperature
Sensors.TemperatureTwoPortTHwRetHW return temperature
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdvalChwReqCHW plant request from terminal valve
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdvalHwReqHW plant request from terminal valve
Buildings.Controls.OBC.CDL.Conversions.BooleanToIntegerreqHeaHeating plant request
Buildings.Controls.OBC.CDL.Conversions.BooleanToIntegerreqCooCooling plant request
Templates.Plants.Controls.Enabling.EnableenaHeaEnable heating
Templates.Plants.Controls.Enabling.EnableenaCooEnable cooling
Templates.Components.Routing.SingleToMultipleinlPumChwPriPrimary CHW pumps suction header
Templates.Components.Pumps.MultiplepumChwPriPrimary CHW pumps
Templates.Plants.Controls.Pumps.Generic.StagingHeaderedstaPumChwPriPrimary CHW pump staging
Templates.Components.Routing.SingleToMultipleinlPumHwPriPrimary HW pumps suction header
Templates.Components.Pumps.MultiplepumHwPriPrimary HW pumps
Templates.Components.Routing.MultipleToSingleoutPumHwPriPrimary HW pumps discharge header
Sensors.VolumeFlowRateVHwPriPrimary HW flow
Templates.Plants.Controls.Pumps.Generic.StagingHeaderedstaPumHwPriPrimary HW pump staging
Templates.Components.Pumps.MultiplepumHwSecSecondary HW pumps
Templates.Plants.Controls.Pumps.Generic.ControlDifferentialPressurectlPumHwSecSecondary HW pump control
Templates.Plants.Controls.Pumps.Generic.StagingHeaderedstaPumHwSecSecondary HW pump staging
Templates.Components.Routing.SingleToMultipleinlPumHwSecSecondary HW pumps suction header
Templates.Components.Routing.MultipleToSingleoutPumHwSecSecondary HW pumps discharge header
Templates.Components.Routing.SingleToMultipleinlPumChwSecSecondary CHW pumps suction header
Templates.Components.Pumps.MultiplepumChwSecSecondary CHW pumps
Templates.Components.Routing.MultipleToSingleoutPumChwSecSecondary CHW pumps discharge header
Templates.Plants.Controls.Pumps.Generic.ControlDifferentialPressurectlPumChwSecSecondary CHW pump control
Templates.Plants.Controls.Pumps.Generic.StagingHeaderedstaPumChwSecSecondary CHW pump staging
Sensors.VolumeFlowRateVChwSecSecondary CHW flow
Sensors.VolumeFlowRateVHwSecSecondary HW flow (plant side)
Sensors.VolumeFlowRateVChwPriPrimary CHW flow
Sensors.TemperatureTwoPortTChwSupPriPrimary CHW supply temperature
Sensors.TemperatureTwoPortTHwSupPriPrimary HW supply temperature
FixedResistances.JunctionjunChwBypSupCHW bypass supply junction
FixedResistances.JunctionjunChwBypRetCHW bypass return junction
FixedResistances.JunctionjunHwBypSupHW bypass supply junction
FixedResistances.JunctionjunHwBypRetHW bypass return junction
Templates.Components.Routing.MultipleToSingleoutPumChwPriPrimary CHW pumps discharge header

Contents

NameDescription
MediumMain medium (common for CHW and HW)

Revisions

  • March 23, 2026, by Antoine Gautier:
    Refactored with two separate connectors for heating and cooling on/off commands.
    This is for #4507.
  • July 1, 2025, by Antoine Gautier:
    First implementation.