Buildings.Templates.Plants.HeatPumps.Components.Data

Records for design and operating parameters

Information

This package provides records for design and operating parameters.

Extends from Modelica.Icons.MaterialPropertiesPackage (Icon for package containing property classes).

Package Content

Name Description
Buildings.Templates.Plants.HeatPumps.Components.Data.Controller Controller Record for plant controller
Buildings.Templates.Plants.HeatPumps.Components.Data.HeatPumpGroup HeatPumpGroup  

Buildings.Templates.Plants.HeatPumps.Components.Data.Controller Buildings.Templates.Plants.HeatPumps.Components.Data.Controller

Record for plant controller

Information

This record provides the set of parameters for heat pump plant controllers that can be found within Buildings.Templates.Plants.HeatPumps.Components.Controls.

Extends from Modelica.Icons.Record (Icon for records).

Parameters

TypeNameDefaultDescription
HeatPumpPlantcfg Plant configuration parameters
Temperature setpoints
TemperatureTHeaWatSup_nominal Maximum HW supply temperature setpoint (design HW supply temperature) [K]
RealTHeaWatSupSet_min Minimum value to which the HW supply temperature can be reset [K]
TemperatureTOutHeaWatLckBuildings.Templates.Data.Def...Outdoor air lockout temperature above which the HW loop is prevented from operating [K]
TemperatureTChiWatSup_nominal Minimum CHW supply temperature setpoint (design CHW supply temperature) [K]
TemperatureTChiWatSupSet_max Maximum value to which the CHW supply temperature can be reset [K]
TemperatureTOutChiWatLckBuildings.Templates.Data.Def...Outdoor air lockout temperature below which the CHW loop is prevented from operating [K]
Heat pump flow setpoints
VolumeFlowRateVHeaWatHp_flow_nominal Design HW volume flow rate - Each heat pump [m3/s]
VolumeFlowRateVChiWatHp_flow_nominal Design CHW volume flow rate - Each heat pump [m3/s]
Capacity
HeatFlowRatecapHeaHp_nominal Design heating capacity - Each heat pump [W]
VolumeFlowRateVHeaWatSec_flow_nominal Design secondary HW volume flow rate [m3/s]
HeatFlowRatecapCooHp_nominal Design cooling capacity - Each heat pump [W]
VolumeFlowRateVChiWatSec_flow_nominal Design secondary CHW volume flow rate [m3/s]
Information provided by designer
PressureDifferencedpHeaWatRemSet_min5*6894Minimum value to which the HW differential pressure can be reset - Remote sensor [Pa]
PressureDifferencedpChiWatRemSet_min5*6894Minimum value to which the CHW differential pressure can be reset - Remote sensor [Pa]
Information provided by testing, adjusting, and balancing contractor
PressureDifferencedpHeaWatRemSet_max[:] Maximum HW differential pressure setpoint - Remote sensor [Pa]
RealyPumHeaWatPriSet Primary pump speed providing design heat pump flow in heating mode [1]
RealyPumHeaWatSec_min0.1Secondary HW pump minimum speed [1]
PressureDifferencedpChiWatRemSet_max[:] Maximum CHW differential pressure setpoint - Remote sensor [Pa]
RealyPumChiWatPriSet Primary pump speed providing design heat pump flow in cooling mode [1]
RealyPumChiWatSec_min0.1Secondary CHW pump minimum speed [1]
Plant enable
RealschHea[:, 2][0, 1; 24*3600, 1]Heating mode enable schedule
RealschCoo[:, 2][0, 1; 24*3600, 1]Cooling mode enable schedule
Equipment staging and rotation
RealstaEqu[:, :] Staging matrix – Equipment required for each stage [1]
RealplrSta0.9Staging part load ratio [1]

Modelica definition

record Controller "Record for plant controller" extends Modelica.Icons.Record; parameter Buildings.Templates.Plants.HeatPumps.Configuration.HeatPumpPlant cfg "Plant configuration parameters"; // HW loop // RFE: Declare array parameters for unequally sized units. // The current implementation only supports equally sized units. parameter Modelica.Units.SI.Temperature THeaWatSup_nominal( displayUnit="degC", start=Buildings.Templates.Data.Defaults.THeaWatSupMed, final min=273.15) "Maximum HW supply temperature setpoint (design HW supply temperature)"; parameter Real THeaWatSupSet_min( final min=273.15, start=25 + 273.15, final unit="K", displayUnit="degC") "Minimum value to which the HW supply temperature can be reset"; parameter Modelica.Units.SI.Temperature TOutHeaWatLck( displayUnit="degC", final min=273.15)=Buildings.Templates.Data.Defaults.TOutHeaWatLck "Outdoor air lockout temperature above which the HW loop is prevented from operating"; parameter Modelica.Units.SI.VolumeFlowRate VHeaWatHp_flow_nominal( start=0.1, displayUnit="L/s", final min=0) "Design HW volume flow rate - Each heat pump"; parameter Modelica.Units.SI.HeatFlowRate capHeaHp_nominal( start=1, final min=0) "Design heating capacity - Each heat pump"; parameter Modelica.Units.SI.VolumeFlowRate VHeaWatSec_flow_nominal( start=0.01, displayUnit="L/s", final min=0) "Design secondary HW volume flow rate"; parameter Modelica.Units.SI.PressureDifference dpHeaWatRemSet_min( final min=0, start=5 * 6894)=5 * 6894 "Minimum value to which the HW differential pressure can be reset - Remote sensor"; // HACK(AntoineGautier): // Using cfg.nSenDpHeaWatRem for size(dpHeaWatRemSet_max, 1) is not supported by Dymola which fails to "evaluate and check the size declaration". // So the size is kept unassigned. // This requires explicitely providing a value with OCT, even if enable=false. parameter Modelica.Units.SI.PressureDifference dpHeaWatRemSet_max[:]( start=fill(Buildings.Templates.Data.Defaults.dpHeaWatRemSet_max, cfg.nSenDpHeaWatRem), final min=fill(0, cfg.nSenDpHeaWatRem)) "Maximum HW differential pressure setpoint - Remote sensor"; parameter Real yPumHeaWatPriSet( final max=1, final min=0, start=1, final unit="1") "Primary pump speed providing design heat pump flow in heating mode"; parameter Real yPumHeaWatSec_min( final unit="1", final min=0, final max=1)=0.1 "Secondary HW pump minimum speed"; // CHW loop parameter Modelica.Units.SI.Temperature TChiWatSup_nominal( displayUnit="degC", start=Buildings.Templates.Data.Defaults.TChiWatSup, final min=273.15) "Minimum CHW supply temperature setpoint (design CHW supply temperature)"; parameter Modelica.Units.SI.Temperature TChiWatSupSet_max( final min=273.15, start=15 + 273.15, displayUnit="degC") "Maximum value to which the CHW supply temperature can be reset"; parameter Modelica.Units.SI.Temperature TOutChiWatLck( displayUnit="degC", final min=273.15)=Buildings.Templates.Data.Defaults.TOutChiWatLck "Outdoor air lockout temperature below which the CHW loop is prevented from operating"; parameter Modelica.Units.SI.VolumeFlowRate VChiWatHp_flow_nominal( start=0.1, displayUnit="L/s", final min=0) "Design CHW volume flow rate - Each heat pump"; parameter Modelica.Units.SI.HeatFlowRate capCooHp_nominal( start=1, final min=0) "Design cooling capacity - Each heat pump"; parameter Modelica.Units.SI.VolumeFlowRate VChiWatSec_flow_nominal( start=0.01, displayUnit="L/s", final min=0) "Design secondary CHW volume flow rate"; parameter Modelica.Units.SI.PressureDifference dpChiWatRemSet_min( final min=0, start=5 * 6894)=5 * 6894 "Minimum value to which the CHW differential pressure can be reset - Remote sensor"; // HACK(AntoineGautier): // Using cfg.nSenDpChiWatRem for size(dpChiWatRemSet_max, 1) is not supported by Dymola which fails to "evaluate and check the size declaration". // So the size is kept unassigned. // This requires explicitely providing a value with OCT, even if enable=false. parameter Modelica.Units.SI.PressureDifference dpChiWatRemSet_max[:]( start=fill(Buildings.Templates.Data.Defaults.dpChiWatRemSet_max, cfg.nSenDpChiWatRem), final min=fill(0, cfg.nSenDpChiWatRem)) "Maximum CHW differential pressure setpoint - Remote sensor"; parameter Real yPumChiWatPriSet( final max=1, final min=0, start=1, final unit="1") "Primary pump speed providing design heat pump flow in cooling mode"; parameter Real yPumChiWatSec_min( final unit="1", final min=0, final max=1)=0.1 "Secondary CHW pump minimum speed"; parameter Real schHea[:, 2](start=[ 0, 1; 24 * 3600, 1])=[ 0, 1; 24 * 3600, 1] "Heating mode enable schedule"; parameter Real schCoo[:, 2](start=[ 0, 1; 24 * 3600, 1])=[ 0, 1; 24 * 3600, 1] "Cooling mode enable schedule"; // HACK(AntoineGautier): // Using cfg.nHp for size(staEqu, 2) is not supported by Dymola which fails to "evaluate and check the size declaration". // So the size is kept unassigned and a check is performed at initialization. // Furthermore, a start value cannot be provided as the number of plant stages is not known beforehand. // If provided, there will likely be a mismatch between assigned value and start value. // Therefore, no enable annotation can be used. parameter Real staEqu[:, :]( each final max=1, each final min=0, each final unit="1") "Staging matrix – Equipment required for each stage"; parameter Real plrSta( final max=1, final min=0, start=0.9, final unit="1")=0.9 "Staging part load ratio"; end Controller;

Buildings.Templates.Plants.HeatPumps.Components.Data.HeatPumpGroup Buildings.Templates.Plants.HeatPumps.Components.Data.HeatPumpGroup


Buildings.Templates.Plants.HeatPumps.Components.Data.HeatPumpGroup

Information

This record provides the set of parameters for heat pump group models that can be found within Buildings.Templates.Plants.HeatPumps.Components.HeatPumpGroups.

Only identical heat pumps are currently supported.

Extends from Modelica.Icons.Record (Icon for records).

Parameters

TypeNameDefaultDescription
GenericperFitHpperFitHp(dpHeaLoa_nominal=dp...Performance data - Equation fit model - Each heat pump
Configuration
IntegernHp Number of heat pumps
HeatPumptyp Equipment type
Booleanis_rev Set to true for reversible heat pumps, false for heating only
HeatPumpModeltypMod Type of heat pump model
SpecificHeatCapacitycpHeaWat_defaultBuildings.Utilities.Psychrom...HW default specific heat capacity [J/(kg.K)]
SpecificHeatCapacitycpSou_defaultif typ == Buildings.Template...Source fluid default specific heat capacity [J/(kg.K)]
Nominal condition
MassFlowRatemHeaWatHp_flow_nominal HW mass flow rate - Each heat pump [kg/s]
PressureDifferencedpHeaWatHp_nominal Pressure drop at design HW mass flow rate - Each heat pump [Pa]
HeatFlowRatecapHeaHp_nominal Heating capacity - Each heat pump [W]
TemperatureTHeaWatSupHp_nominal (Highest) HW supply temperature - Each heat pump [K]
MassFlowRatemChiWatHp_flow_nominal CHW mass flow rate - Each heat pump [kg/s]
HeatFlowRatecapCooHp_nominal Cooling capacity - Each heat pump [W]
TemperatureTChiWatSupHp_nominal (Lowest) CHW supply temperature - Each heat pump [K]
TemperatureTSouHeaHp_nominal OAT or source fluid supply temperature (evaporator entering) in heating mode - Each heat pump [K]
MassFlowRatemSouWwHeaHp_flow_nominal Source fluid mass flow rate in heating mode - Each heat pump [kg/s]
PressureDifferencedpSouWwHeaHp_nominal Source fluid pressure drop in heating mode - Each heat pump [Pa]
TemperatureTSouCooHp_nominal OAT or source fluid supply temperature (condenser entering) in cooling mode - Each heat pump [K]
MassFlowRatemSouWwCooHp_flow_nominal Source fluid mass flow rate in cooling mode - Each heat pump [kg/s]

Modelica definition

record HeatPumpGroup extends Modelica.Icons.Record; parameter Integer nHp( final min=1) "Number of heat pumps"; parameter Buildings.Templates.Components.Types.HeatPump typ "Equipment type"; parameter Boolean is_rev "Set to true for reversible heat pumps, false for heating only"; parameter Buildings.Templates.Components.Types.HeatPumpModel typMod "Type of heat pump model"; // Default fluid properties parameter Modelica.Units.SI.SpecificHeatCapacity cpHeaWat_default=Buildings.Utilities.Psychrometrics.Constants.cpWatLiq "HW default specific heat capacity"; /* cpChiWat_default is for internal use only. It is the same as cpChiWat_default for reversible HP. Non-reversible HP that can be controlled to produce either HW or CHW shall be modeled with chiller components (as a chiller/heater). */ final parameter Modelica.Units.SI.SpecificHeatCapacity cpChiWat_default= cpHeaWat_default "CHW default specific heat capacity"; parameter Modelica.Units.SI.SpecificHeatCapacity cpSou_default=if typ == Buildings.Templates.Components.Types.HeatPump.AirToWater then Buildings.Utilities.Psychrometrics.Constants.cpAir else Buildings.Utilities.Psychrometrics.Constants.cpWatLiq "Source fluid default specific heat capacity"; // RFE: Declare array parameters for unequally sized units. // The current implementation only supports equally sized units. parameter Modelica.Units.SI.MassFlowRate mHeaWatHp_flow_nominal( final min=0) "HW mass flow rate - Each heat pump"; parameter Modelica.Units.SI.PressureDifference dpHeaWatHp_nominal( min=0, start=Buildings.Templates.Data.Defaults.dpChiWatChi) "Pressure drop at design HW mass flow rate - Each heat pump"; parameter Modelica.Units.SI.HeatFlowRate capHeaHp_nominal "Heating capacity - Each heat pump"; parameter Modelica.Units.SI.Temperature THeaWatSupHp_nominal( final min=273.15) "(Highest) HW supply temperature - Each heat pump"; final parameter Modelica.Units.SI.Temperature THeaWatRetHp_nominal= THeaWatSupHp_nominal - abs(capHeaHp_nominal) / cpHeaWat_default / mHeaWatHp_flow_nominal "HW return temperature - Each heat pump"; parameter Modelica.Units.SI.MassFlowRate mChiWatHp_flow_nominal( start=0, final min=0) "CHW mass flow rate - Each heat pump"; final parameter Modelica.Units.SI.PressureDifference dpChiWatHp_nominal= dpHeaWatHp_nominal *(mChiWatHp_flow_nominal / mHeaWatHp_flow_nominal) ^ 2 "Pressure drop at design CHW mass flow rate - Each heat pump"; parameter Modelica.Units.SI.HeatFlowRate capCooHp_nominal( start=0) "Cooling capacity - Each heat pump"; parameter Modelica.Units.SI.Temperature TChiWatSupHp_nominal( start=Buildings.Templates.Data.Defaults.TChiWatSup, final min=253.15) "(Lowest) CHW supply temperature - Each heat pump"; final parameter Modelica.Units.SI.Temperature TChiWatRetHp_nominal=if is_rev then TChiWatSupHp_nominal + abs(capCooHp_nominal) / cpChiWat_default / mChiWatHp_flow_nominal else Buildings.Templates.Data.Defaults.TChiWatRet "CHW return temperature - Each heat pump"; parameter Modelica.Units.SI.Temperature TSouHeaHp_nominal( start=Buildings.Templates.Data.Defaults.TOutHpHeaLow, final min=220) "OAT or source fluid supply temperature (evaporator entering) in heating mode - Each heat pump"; parameter Modelica.Units.SI.MassFlowRate mSouWwHeaHp_flow_nominal( start=mHeaWatHp_flow_nominal, final min=0) "Source fluid mass flow rate in heating mode - Each heat pump"; parameter Modelica.Units.SI.PressureDifference dpSouWwHeaHp_nominal( min=0, start=Buildings.Templates.Data.Defaults.dpChiWatChi) "Source fluid pressure drop in heating mode - Each heat pump"; final parameter Modelica.Units.SI.MassFlowRate mSouHeaHp_flow_nominal=if typ == Buildings.Templates.Components.Types.HeatPump.WaterToWater then mSouWwHeaHp_flow_nominal else Buildings.Templates.Data.Defaults.mAirFloByCapChi * abs(capHeaHp_nominal) "Source fluid mass flow rate in heating mode - Each heat pump"; final parameter Modelica.Units.SI.PressureDifference dpSouHeaHp_nominal=if typ == Buildings.Templates.Components.Types.HeatPump.WaterToWater then dpSouWwHeaHp_nominal else Buildings.Templates.Data.Defaults.dpAirChi "Source fluid pressure drop in heating mode - Each heat pump"; parameter Modelica.Units.SI.Temperature TSouCooHp_nominal( start=Buildings.Templates.Data.Defaults.TOutHpCoo, final min=273.15) "OAT or source fluid supply temperature (condenser entering) in cooling mode - Each heat pump"; parameter Modelica.Units.SI.MassFlowRate mSouWwCooHp_flow_nominal( start=mChiWatHp_flow_nominal, final min=0) "Source fluid mass flow rate in cooling mode - Each heat pump"; final parameter Modelica.Units.SI.MassFlowRate mSouCooHp_flow_nominal=if typ == Buildings.Templates.Components.Types.HeatPump.WaterToWater then mSouWwCooHp_flow_nominal else Buildings.Templates.Data.Defaults.mAirFloByCapChi * abs(capCooHp_nominal) "Source fluid mass flow rate in cooling mode - Each heat pump"; final parameter Modelica.Units.SI.PressureDifference dpSouCooHp_nominal= dpSouHeaHp_nominal *(mSouCooHp_flow_nominal / mSouHeaHp_flow_nominal) ^ 2 "Source fluid pressure drop in cooling mode - Each heat pump"; replaceable parameter Buildings.Fluid.HeatPumps.Data.EquationFitReversible.Generic perFitHp( dpHeaLoa_nominal=dpHeaWatHp_nominal, dpHeaSou_nominal=dpSouHeaHp_nominal, hea( Q_flow=abs(capHeaHp_nominal), P=0, mLoa_flow=mHeaWatHp_flow_nominal, mSou_flow=mSouHeaHp_flow_nominal, coeQ={1, 0, 0, 0, 0}, coeP={1, 0, 0, 0, 0}, TRefLoa=THeaWatRetHp_nominal, TRefSou=TSouHeaHp_nominal), coo( Q_flow=if is_rev then - abs(capCooHp_nominal) else - 1, P=0, mLoa_flow=mChiWatHp_flow_nominal, mSou_flow=mSouCooHp_flow_nominal, coeQ={1, 0, 0, 0, 0}, coeP={1, 0, 0, 0, 0}, TRefLoa=TChiWatRetHp_nominal, TRefSou=TSouCooHp_nominal)) constrainedby Buildings.Fluid.HeatPumps.Data.EquationFitReversible.Generic "Performance data - Equation fit model - Each heat pump"; end HeatPumpGroup;