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).

Contents

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 heat pump HW volume flow rate - Each heat pump [m3/s]
VolumeFlowRateVHeaWatHp_flow_min1.1*VHeaWatHp_flow_nominalMinimum heat pump HW volume flow rate - Each heat pump [m3/s]
VolumeFlowRateVChiWatHp_flow_nominal Design heat pump CHW volume flow rate - Each heat pump [m3/s]
VolumeFlowRateVChiWatHp_flow_min1.1*VChiWatHp_flow_nominalMinimum heat pump CHW volume flow rate - Each heat pump [m3/s]
Capacity
HeatFlowRatecapHeaHp_nominal Design heat pump heating capacity - Each heat pump [W]
VolumeFlowRateVHeaWatPri_flow_nominalVHeaWatHp_flow_nominal*cfg.nHpDesign primary HW volume flow rate [m3/s]
VolumeFlowRateVHeaWatSec_flow_nominal Design secondary HW volume flow rate [m3/s]
HeatFlowRatecapCooHp_nominal Design heat pump cooling capacity - Each heat pump [W]
VolumeFlowRateVChiWatPri_flow_nominalVChiWatHp_flow_nominal*cfg.nHpDesign primary CHW volume flow rate [m3/s]
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]
RealTChiWatSupHrc_min Sidestream HRC – Minimum allowable CHW supply temperature [K]
RealTHeaWatSupHrc_max Sidestream HRC – Maximum allowable HW supply temperature [K]
RealCOPHeaHrc_nominal Sidestream HRC – Heating COP at design heating conditions [1]
RealcapCooHrc_min Sidestream HRC – Minimum cooling capacity below which cycling occurs [W]
RealcapHeaHrc_min Sidestream HRC – Minimum heating capacity below which cycling occurs [W]
Information provided by testing, adjusting, and balancing contractor
PressureDifferencedpHeaWatRemSet_max[:] Maximum HW differential pressure setpoint - Remote sensor [Pa]
RealdpHeaWatLocSet_min5*6895Minimum HW loop differential pressure setpoint local to the plant [Pa]
RealdpHeaWatLocSet_max Maximum HW loop differential pressure setpoint local to the plant [Pa]
RealyPumHeaWatPriSet Primary pump speed providing design heat pump flow in heating mode [1]
RealyPumHeaWatPri_min0.1Primary HW pump minimum speed [1]
RealyPumHeaWatSec_min0.1Secondary HW pump minimum speed [1]
PressureDifferencedpChiWatRemSet_max[:] Maximum CHW differential pressure setpoint - Remote sensor [Pa]
RealdpChiWatLocSet_min5*6895Minimum CHW loop differential pressure setpoint local to the plant [Pa]
RealdpChiWatLocSet_max Maximum CHW loop differential pressure setpoint local to the plant [Pa]
RealyPumChiWatPriSet Primary pump speed providing design heat pump flow in cooling mode [1]
RealyPumChiWatPri_min0.1Primary CHW pump minimum speed [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, final min=0) "Design heat pump HW volume flow rate - Each heat pump"; parameter Modelica.Units.SI.VolumeFlowRate VHeaWatHp_flow_min( start=VHeaWatHp_flow_nominal, final min=0)=1.1*VHeaWatHp_flow_nominal "Minimum heat pump HW volume flow rate - Each heat pump"; parameter Modelica.Units.SI.HeatFlowRate capHeaHp_nominal( start=1, final min=0) "Design heat pump heating capacity - Each heat pump"; parameter Modelica.Units.SI.VolumeFlowRate VHeaWatPri_flow_nominal( start=VHeaWatHp_flow_nominal*cfg.nHp, final min=0)=VHeaWatHp_flow_nominal*cfg.nHp "Design primary HW volume flow rate"; parameter Modelica.Units.SI.VolumeFlowRate VHeaWatSec_flow_nominal( start=0.01, 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 dpHeaWatLocSet_min( start=0, final unit="Pa", final min=0)=5 * 6895 "Minimum HW loop differential pressure setpoint local to the plant"; parameter Real dpHeaWatLocSet_max( start=1E5, final unit="Pa", final min=0) "Maximum HW loop differential pressure setpoint local to the plant"; parameter Real yPumHeaWatPriSet( final max=2, final min=0, start=1, final unit="1") "Primary pump speed providing design heat pump flow in heating mode"; parameter Real yPumHeaWatPri_min( final max=1, final min=0, start=0.1, final unit="1")=0.1 "Primary HW pump minimum speed"; 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, final min=0) "Design heat pump CHW volume flow rate - Each heat pump"; parameter Modelica.Units.SI.VolumeFlowRate VChiWatHp_flow_min( start=VChiWatHp_flow_nominal, final min=0)=1.1*VChiWatHp_flow_nominal "Minimum heat pump CHW volume flow rate - Each heat pump"; parameter Modelica.Units.SI.HeatFlowRate capCooHp_nominal( start=1, final min=0) "Design heat pump cooling capacity - Each heat pump"; parameter Modelica.Units.SI.VolumeFlowRate VChiWatPri_flow_nominal( start=VChiWatHp_flow_nominal*cfg.nHp, final min=0)=VChiWatHp_flow_nominal*cfg.nHp "Design primary CHW volume flow rate"; parameter Modelica.Units.SI.VolumeFlowRate VChiWatSec_flow_nominal( start=0.01, 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 dpChiWatLocSet_min( start=0, final unit="Pa", final min=0)=5 * 6895 "Minimum CHW loop differential pressure setpoint local to the plant"; parameter Real dpChiWatLocSet_max( start=1E5, final unit="Pa", final min=0) "Maximum CHW loop differential pressure setpoint local to the plant"; parameter Real yPumChiWatPriSet( final max=2, final min=0, start=1, final unit="1") "Primary pump speed providing design heat pump flow in cooling mode"; parameter Real yPumChiWatPri_min( final max=1, final min=0, start=0.1, final unit="1")=0.1 "Primary CHW pump minimum speed"; 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"; parameter Real TChiWatSupHrc_min( final min=273.15, start=4 + 273.15, final unit="K", displayUnit="degC") "Sidestream HRC – Minimum allowable CHW supply temperature"; parameter Real THeaWatSupHrc_max( final min=273.15, start=60 + 273.15, final unit="K", displayUnit="degC") "Sidestream HRC – Maximum allowable HW supply temperature"; parameter Real COPHeaHrc_nominal( final min=1.1, final unit="1", start=2.8) "Sidestream HRC – Heating COP at design heating conditions"; parameter Real capCooHrc_min( start=0, final min=0, final unit="W") "Sidestream HRC – Minimum cooling capacity below which cycling occurs"; parameter Real capHeaHrc_min( start=0, final min=0, final unit="W") "Sidestream HRC – Minimum heating capacity below which cycling occurs"; 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).

Contents

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;