modelTableData2DLoadDepSHC
Extends from Modelica.Icons.Example.
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
| Type | Name | Default | Description |
|---|---|---|---|
| Nominal condition | |||
| Modelica.Units.SI.Temperature | THwSup_nominal | 323.15 | HW supply temperature |
| Modelica.Units.SI.Temperature | THwRet_nominal | 315.15 | HW return temperature |
| Modelica.Units.SI.Temperature | TChwSup_nominal | 280.15 | CHW supply temperature |
| Modelica.Units.SI.Temperature | TChwRet_nominal | 285.15 | CHW return temperature |
| Modelica.Units.SI.MassFlowRate | mHw_flow_nominal | QHea_flow_nominal/(THwSup_nominal - THwRet_nominal)/Buildings.Media.Water.cp_const | HW mass flow rate |
| Modelica.Units.SI.MassFlowRate | mChw_flow_nominal | QCoo_flow_nominal/(TChwSup_nominal - TChwRet_nominal)/Buildings.Media.Water.cp_const | CHW mass flow rate |
| Nominal condition - Heating mode | |||
| Modelica.Units.SI.Temperature | TAmbHea_nominal | 268.15 | OA temperature |
| Modelica.Units.SI.HeatFlowRate | QHea_flow_nominal | 58E3 | Heating heat flow rate - Heating mode |
| Modelica.Units.SI.HeatFlowRate | QHeaShc_flow_nominal | 85E3 | Heating heat flow rate - SHC mode |
| Nominal condition - Cooling mode | |||
| Modelica.Units.SI.Temperature | TAmbCoo_nominal | 308.15 | Ambient side fluid temperature — Entering or leaving depending on use_TAmbOutForTab |
| Modelica.Units.SI.HeatFlowRate | QCoo_flow_nominal | -73E3 | Cooling heat flow rate - Cooling mode |
| Modelica.Units.SI.HeatFlowRate | QCooShc_flow_nominal | -65E3 | Cooling heat flow rate - SHC mode |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Reals.Sources.Ramp | TChwSet | CHW supply or return temperature setpoint | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Ramp | THwSet | HW supply or return temperature setpoint | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | THwEnt | Condenser entering HW temperature | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | TChwEnt | Evaporator entering CHW temperature | |
| Buildings.Controls.OBC.CDL.Logical.Sources.Constant | onHeaCoo | Heating and cooling on/off command | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | mChw_flow | CHW mass flow rate | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | mHw_flow | HW mass flow rate | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | cp | Specific heat capacity of load side fluid | |
| Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDepSHC | hpSup | Heat pump with supply temperature control | |
| Modelica.Blocks.Sources.RealExpression | TConLvgHpSup | Calculate condenser leaving temperature | |
| Modelica.Blocks.Sources.RealExpression | TEvaLvgHpSup | Calculate evaporator leaving temperature | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | TOut | OA temperature | |
| Modelica.Blocks.Continuous.Filter | filter | Filter to avoid algebraic loop | |
| Modelica.Blocks.Continuous.Filter | filter1 | Filter to avoid algebraic loop | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | sumNumUni | Total number of enabled modules | |
| Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold | intLesEquThr | True if number of enabled modules lower or equal to number of modules | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes | Assert condition on number of enabled modules | |
| Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDepSHC | hpRet | Heat pump with return temperature control | |
| Modelica.Blocks.Sources.RealExpression | TConEntHpRet | Calculate condenser entering temperature | |
| Modelica.Blocks.Sources.RealExpression | TEvaEntHpRet | Calculate evaporator entering temperature | |
| Modelica.Blocks.Continuous.Filter | filter2 | Filter to avoid algebraic loop | |
| Modelica.Blocks.Continuous.Filter | filter3 | Filter to avoid algebraic loop | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | sumNumUni1 | Total number of enabled modules | |
| Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold | intLesEquThr1 | True if number of enabled modules lower or equal to number of modules | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes1 | Assert condition on number of enabled modules | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | TChwLvg | CHW leaving temperature | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | THwLvg | HW 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.