modelTableData2DLoadDepSHC

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

Information

This model validates the load calculation and staging logic of the block Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDepSHC. The two available control options are tested: the component hpSup uses supply temperature control, while the component hpRet uses return temperature control.

The model represents a three-module system operating in constant simultaneous heating and cooling mode with the on/off command always true.

The validation is carried out by computing the tracked temperature using the heat flow rate calculated by the block, and feeding back this variable as input to the heat pump model. It is then expected that the tracked temperature matches the setpoint, under the constraints of step-by-step staging and minimum stage runtime. Note that a filtered value of the tracked temperature is used to avoid creating an algebraic loop.

Parameters

TypeNameDefaultDescription
Nominal condition
Modelica.Units.SI.TemperatureTHwSup_nominal323.15HW supply temperature
Modelica.Units.SI.TemperatureTHwRet_nominal315.15HW return temperature
Modelica.Units.SI.TemperatureTChwSup_nominal280.15CHW supply temperature
Modelica.Units.SI.TemperatureTChwRet_nominal285.15CHW return temperature
Modelica.Units.SI.MassFlowRatemHw_flow_nominalQHea_flow_nominal/(THwSup_nominal - THwRet_nominal)/Buildings.Media.Water.cp_constHW mass flow rate
Modelica.Units.SI.MassFlowRatemChw_flow_nominalQCoo_flow_nominal/(TChwSup_nominal - TChwRet_nominal)/Buildings.Media.Water.cp_constCHW mass flow rate
Nominal condition - Heating mode
Modelica.Units.SI.TemperatureTAmbHea_nominal268.15OA temperature
Modelica.Units.SI.HeatFlowRateQHea_flow_nominal58E3Heating heat flow rate - Heating mode
Modelica.Units.SI.HeatFlowRateQHeaShc_flow_nominal85E3Heating heat flow rate - SHC mode
Nominal condition - Cooling mode
Modelica.Units.SI.TemperatureTAmbCoo_nominal308.15Ambient side fluid temperature — Entering or leaving depending on use_TAmbOutForTab
Modelica.Units.SI.HeatFlowRateQCoo_flow_nominal-73E3Cooling heat flow rate - Cooling mode
Modelica.Units.SI.HeatFlowRateQCooShc_flow_nominal-65E3Cooling heat flow rate - SHC mode

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.Sources.RampTChwSetCHW supply or return temperature setpoint
Buildings.Controls.OBC.CDL.Reals.Sources.RampTHwSetHW supply or return temperature setpoint
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantTHwEntCondenser entering HW temperature
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantTChwEntEvaporator entering CHW temperature
Buildings.Controls.OBC.CDL.Logical.Sources.ConstantonHeaCooHeating and cooling on/off command
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantmChw_flowCHW mass flow rate
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantmHw_flowHW mass flow rate
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantcpSpecific heat capacity of load side fluid
Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDepSHChpSupHeat pump with supply temperature control
Modelica.Blocks.Sources.RealExpressionTConLvgHpSupCalculate condenser leaving temperature
Modelica.Blocks.Sources.RealExpressionTEvaLvgHpSupCalculate evaporator leaving temperature
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantTOutOA temperature
Modelica.Blocks.Continuous.FilterfilterFilter to avoid algebraic loop
Modelica.Blocks.Continuous.Filterfilter1Filter to avoid algebraic loop
Buildings.Controls.OBC.CDL.Integers.MultiSumsumNumUniTotal 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.Utilities.AssertassMesAssert condition on number of enabled modules
Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDepSHChpRetHeat pump with return temperature control
Modelica.Blocks.Sources.RealExpressionTConEntHpRetCalculate condenser entering temperature
Modelica.Blocks.Sources.RealExpressionTEvaEntHpRetCalculate evaporator entering temperature
Modelica.Blocks.Continuous.Filterfilter2Filter to avoid algebraic loop
Modelica.Blocks.Continuous.Filterfilter3Filter to avoid algebraic loop
Buildings.Controls.OBC.CDL.Integers.MultiSumsumNumUni1Total number of enabled modules
Buildings.Controls.OBC.CDL.Integers.LessEqualThresholdintLesEquThr1True if number of enabled modules lower or equal to number of modules
Buildings.Controls.OBC.CDL.Utilities.AssertassMes1Assert condition on number of enabled modules
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantTChwLvgCHW leaving temperature
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantTHwLvgHW leaving temperature

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.