recordGenericHeatPump
Extends from Modelica.Icons.Record (Icon for records).
Information
Parameters that describe the performance of the heat pump, and design quantities such as temperatures and design mass flow rates of the heat pump.
The performance table in datHea are used to describe the
change in performance for off-design conditions.
The heat pump's heating capacity is, however,
determined solely by the parameters
QHeaDes_flow_nominal for the desired heating capacity at the
leaving condenser temperature THeaConLvg_nominal and the
leaving evaporator temperature THeaEvaLvg_nominal.
The performance table for the evaporator heat flow rate and the electricity
consumption are then scaled up or down to meet this capacity.
This scaled capacity is stored in datHeaSca, and used during the simulation.
The record also computes the cooling capacity at the design conditions
TCooConLvg_nominal and TCooEvaLvg_nominal,
and stores it in the parameter QCooAct_flow_nominal.
This can then be compared to the desired cooling capacity
QCooDes_flow_nominal.
The model also computes the COP for heating and for cooling at the
design temperatures THeaConLvg_nominal and THeaEvaLvg_nominal
for heating and
TCooConLvg_nominal and TCooEvaLvg_nominal
for cooling. These are for reporting only and not used in the heat pump model.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.HeatFlowRate | QConHeaNoSca_flow_nominal | Modelica.Blocks.Tables.Internal.getTable2DValue(tableID = tableID_QCon_flow, u1 = THeaConLvg_nominal, u2 = THeaEvaLvg_nominal) | Heating capacity based on table at heating design condition, without any scaling |
| Real | scaFac | QHeaDes_flow_nominal/QConHeaNoSca_flow_nominal | Scaling factor at heating design conditions |
| Modelica.Units.SI.Power | PEleCooNoSca_nominal | Modelica.Blocks.Tables.Internal.getTable2DValue(tableID = tableID_PEle, u1 = TCooConLvg_nominal, u2 = TCooEvaLvg_nominal) | Electricity use at cooling design conditions based on table, without any scaling |
| Modelica.Units.SI.HeatFlowRate | QConCooNoSca_flow_nominal | Modelica.Blocks.Tables.Internal.getTable2DValue(tableID = tableID_QCon_flow, u1 = TCooConLvg_nominal, u2 = TCooEvaLvg_nominal) | Heating capacity based on table at cooling design condition, without any scaling |
| Modelica.Units.SI.HeatFlowRate | QEvaCooNoSca_flow_nominal | -(QConCooNoSca_flow_nominal - PEleCooNoSca_nominal) | Cooling capacity based on table at cooling design condition, without any scaling |
| Modelica.Units.SI.HeatFlowRate | QCooAct_flow_nominal | scaFac*QEvaCooNoSca_flow_nominal | Actual cooling capacity at cooling design condition, taking into account scaling |
| Real | COPHea_nominal | QConHeaNoSca_flow_nominal/Modelica.Blocks.Tables.Internal.getTable2DValue(tableID = tableID_PEle, u1 = THeaConLvg_nominal, u2 = THeaEvaLvg_nominal) | COP heating, at heating design conditions |
| Real | COPCoo_nominal | -QEvaCooNoSca_flow_nominal/PEleCooNoSca_nominal | COP cooling, at cooling design conditions |
| Modelica.Blocks.Types.ExternalCombiTable2D | tableID_QCon_flow | Modelica.Blocks.Types.ExternalCombiTable2D("NoName", "NoName", datHea.tabQCon_flow, Modelica.Blocks.Types.Smoothness.LinearSegments, Modelica.Blocks.Types.Extrapolation.LastTwoPoints, false) | External table object |
| Modelica.Blocks.Types.ExternalCombiTable2D | tableID_PEle | Modelica.Blocks.Types.ExternalCombiTable2D("NoName", "NoName", datHea.tabPEle, Modelica.Blocks.Types.Smoothness.LinearSegments, Modelica.Blocks.Types.Extrapolation.LastTwoPoints, false) | External table object |
| Performance map | |||
| Fluid.HeatPumps.ModularReversible.Data.TableData2D.GenericHeatPump | datHea | Performance map for the heat pump without scaling. This map will be scaled based on QHeaDes_flow_nominal using scaFac. | |
| Fluid.HeatPumps.ModularReversible.Data.TableData2D.GenericHeatPump | datHeaSca | Performance map for the heat pump with scaling. This map determines the actual capacity based on QHeaDes_flow_nominal. | |
| Part load | |||
| Real | PLRMin | 0.3 | Minimum part load ratio |
| Heating design condition | |||
| Modelica.Units.SI.HeatFlowRate | QHeaDes_flow_nominal | Desired design heating capacity | |
| Modelica.Units.SI.Temperature | THeaConLvg_nominal | Nominal condenser leaving temperature at desired heating capacity | |
| Modelica.Units.SI.Temperature | THeaEvaLvg_nominal | Nominal evaporator leaving temperature at desired heating capacity | |
| Cooling design condition | |||
| Modelica.Units.SI.HeatFlowRate | QCooDes_flow_nominal | Desired design cooling capacity | |
| Modelica.Units.SI.Temperature | TCooConLvg_nominal | Nominal condenser leaving temperature at desired cooling capacity | |
| Modelica.Units.SI.Temperature | TCooEvaLvg_nominal | Nominal evaporator leaving temperature at desired cooling capacity | |
| Condenser | |||
| Modelica.Units.SI.TemperatureDifference | dTCon_nominal | Nominal temperature difference in condenser medium (positive) | |
| Modelica.Units.SI.Temperature | TConLvgMin | 15 + 273.15 | Minimum value for condenser leaving temperature |
| Modelica.Units.SI.MassFlowRate | mCon_flow_nominal | QHeaDes_flow_nominal/dTCon_nominal/Buildings.Utilities.Psychrometrics.Constants.cpWatLiq | Nominal medium flow rate in the condenser |
| Evaporator | |||
| Modelica.Units.SI.TemperatureDifference | dTEva_nominal | Nominal temperature difference in evaporator medium (positive) | |
| Modelica.Units.SI.Temperature | TEvaLvgMax | 15 + 273.15 | Maximum value for leaving evaporator temperature |
| Modelica.Units.SI.MassFlowRate | mEva_flow_nominal | max(abs(QCooDes_flow_nominal/dTEva_nominal), abs(QCooAct_flow_nominal/dTEva_nominal))/Buildings.Utilities.Psychrometrics.Constants.cpWatLiq | Nominal medium flow rate in the evaporator, based on larger of required and actual cooling capacity to ensure actual dTEva is not too large |
Revisions
-
November 14, 2025, by Michael Wetter:
First implementation.
This is for #4354.