Buildings.DHC.Loads.Combined

Package with models for loads

Information

This package contains models of building loads that are used to build example models of DHC systems.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETS BuildingTimeSeriesWithETS Model of a building with loads provided as time series, connected to an ETS
Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETSWithDHWTank BuildingTimeSeriesWithETSWithDHWTank Model of a building with loads provided as time series, connected to an ETS with domestic hot water storage tank
Buildings.DHC.Loads.Combined.Examples Examples This package contains example models
Buildings.DHC.Loads.Combined.BaseClasses BaseClasses Package with base classes that are used by multiple models

Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETS Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETS

Model of a building with loads provided as time series, connected to an ETS

Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETS

Information

This model is composed of a heat pump based energy transfer station model Buildings.DHC.ETS.Combined.HeatPumpHeatExchanger connected to a simplified building model where the space heating, cooling and hot water loads are provided as time series.

Scaling

The parameter bui.facMul is the multiplier factor applied to the building loads that are provided as time series. It is used to represent multiple identical buildings served by a unique energy transfer station. The parameter facMul is the multiplier factor applied to the whole system composed of the building(s) and the energy transfer station. It is used to represent multiple identical ETSs served by the DHC system. So, if for instance the overall heating and cooling efficiency is equal to 1, then the load on the district loop is the load provided as time series multiplied by facMul * bui.facMul.

Note that the parameters QCoo_flow_nominal, QHea_flow_nominal and QHot_flow_nominal are the ETS design values. They include the building loads multiplier factor bui.facMul but not the building and ETS multiplier factor facMul.

Extends from Buildings.DHC.Loads.Combined.BaseClasses.PartialBuildingWithETS (Partial model with ETS model and partial building model).

Parameters

TypeNameDefaultDescription
replaceable package MediumSerWaterService side medium
replaceable package MediumSerHea_aWaterService side medium at heating inlet
replaceable package MediumBuiWaterBuilding side medium
StringfilNam Library path of the file with thermal loads as time series
Configuration
IntegernPorts_heaWat1Number of heating water fluid ports
IntegernPorts_chiWat1Number of chilled water fluid ports
Scaling
RealfacMul1Multiplier factor
ETS model parameters
TemperatureTDisWatMin6 + 273.15District water minimum temperature [K]
TemperatureTDisWatMax17 + 273.15District water maximum temperature [K]
TemperatureDifferencedT_nominal4Water temperature drop/increase accross load and source-side HX (always positive) [K]
TemperatureTChiWatSup_nominal18 + 273.15Chilled water supply temperature [K]
TemperatureTHeaWatSup_nominal38 + 273.15Heating water supply temperature [K]
TemperatureTHotWatSup_nominal63 + 273.15Domestic hot water supply temperature to fixtures [K]
TemperatureTColWat_nominal288.15Cold water temperature (for hot water production) [K]
Pressuredp_nominal50000Pressure difference at nominal flow rate (for each flow leg) [Pa]
RealCOPHeaWat_nominal4.0COP of heat pump for heating water production [1]
RealCOPHotWat_nominal2.3COP of heat pump for hot water production [1]
Assumptions
BooleanallowFlowReversalSerfalseSet to true to allow flow reversal on service side
BooleanallowFlowReversalBuifalseSet to true to allow flow reversal on building side

Connectors

TypeNameDescription
FluidPort_aport_aSerAmbFluid connector for ambient water service supply line
FluidPort_bport_bSerAmbFluid connector for ambient water service return line
FluidPort_aport_aSerHeaFluid connector for heating service supply line
FluidPort_bport_bSerHeaFluid connector for heating service return line
FluidPort_aport_aSerCooFluid connector for cooling service supply line
FluidPort_bport_bSerCooFluid connector for cooling service return line
BusweaBusWeather data bus
output RealOutputQHea_flowTotal heating heat flow rate transferred to the loads (>=0) [W]
output RealOutputQCoo_flowTotal cooling heat flow rate transferred to the loads (<=0) [W]
output RealOutputPHeaPower drawn by heating system [W]
output RealOutputPCooPower drawn by cooling system [W]
output RealOutputPFanPower drawn by fan motors [W]
output RealOutputPPumPower drawn by pump motors [W]
output RealOutputQFue_flow[nFue]Fuel energy input rate [W]
input RealInputTChiWatSupSetChilled water supply temperature set point [K]
input RealInputTHeaWatSupMaxSetHeating water supply temperature set point - Maximum value [K]
input RealInputTHeaWatSupMinSetHeating water supply temperature set point - Minimum value [K]
output RealOutputPPumETSETS pump power [W]
input RealInputTHotWatSupSetService hot water supply temperature set point [K]
input RealInputTColWatCold water temperature [K]

Modelica definition

model BuildingTimeSeriesWithETS "Model of a building with loads provided as time series, connected to an ETS" extends Buildings.DHC.Loads.Combined.BaseClasses.PartialBuildingWithETS( redeclare Buildings.DHC.Loads.BaseClasses.BuildingTimeSeries bui( filNam=filNam, have_hotWat=true, T_aHeaWat_nominal=ets.THeaWatSup_nominal, T_bHeaWat_nominal=ets.THeaWatRet_nominal, T_aChiWat_nominal=ets.TChiWatSup_nominal, T_bChiWat_nominal=ets.TChiWatRet_nominal), redeclare Buildings.DHC.ETS.Combined.HeatPumpHeatExchanger ets( final dT_nominal=dT_nominal, final TDisWatMin=TDisWatMin, final TDisWatMax=TDisWatMax, final TChiWatSup_nominal=TChiWatSup_nominal, final THeaWatSup_nominal=THeaWatSup_nominal, final THotWatSup_nominal=THotWatSup_nominal, final TColWat_nominal=TColWat_nominal, final dp_nominal=dp_nominal, final COPHeaWat_nominal=COPHeaWat_nominal, final COPHotWat_nominal=COPHotWat_nominal, have_hotWat=true, QChiWat_flow_nominal=QCoo_flow_nominal, QHeaWat_flow_nominal=QHea_flow_nominal, QHotWat_flow_nominal=QHot_flow_nominal)); parameter String filNam "Library path of the file with thermal loads as time series"; final parameter Modelica.Units.SI.HeatFlowRate QCoo_flow_nominal( max=-Modelica.Constants.eps)= bui.facMul * bui.QCoo_flow_nominal "Space cooling design load (<=0)"; final parameter Modelica.Units.SI.HeatFlowRate QHea_flow_nominal( min=Modelica.Constants.eps)= bui.facMul * bui.QHea_flow_nominal "Space heating design load (>=0)"; final parameter Modelica.Units.SI.HeatFlowRate QHot_flow_nominal( min=Modelica.Constants.eps)= bui.facMul * Buildings.DHC.Loads.BaseClasses.getPeakLoad( string="#Peak water heating load", filNam=Modelica.Utilities.Files.loadResource(filNam)) "Hot water design load (>=0)"; Buildings.Controls.OBC.CDL.Interfaces.RealInput THotWatSupSet( final unit="K", displayUnit="degC") "Service hot water supply temperature set point"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TColWat( final unit="K", displayUnit="degC") "Cold water temperature"; Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter loaHeaNor( k=1/QHea_flow_nominal) "Normalized heating load"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold enaHeaCoo[2](each t=1e-4) "Threshold comparison to enable heating and cooling"; Modelica.Blocks.Sources.BooleanConstant enaSHW( final k=true) if have_hotWat "SHW production enable signal"; Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter loaCooNor(k=1/ QCoo_flow_nominal) "Normalized cooling load"; equation connect(bui.QReqHotWat_flow, ets.QReqHotWat_flow); connect(THotWatSupSet, ets.THotWatSupSet); connect(TColWat, ets.TColWat); connect(enaHeaCoo[1].y, ets.uHea); connect(enaHeaCoo[2].y, ets.uCoo); connect(enaSHW.y, ets.uSHW); connect(loaHeaNor.y, enaHeaCoo[1].u); connect(loaCooNor.y, enaHeaCoo[2].u); connect(bui.QReqHea_flow, loaHeaNor.u); connect(bui.QReqCoo_flow, loaCooNor.u); connect(loaHeaNor.y, resTHeaWatSup.u); end BuildingTimeSeriesWithETS;

Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETSWithDHWTank Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETSWithDHWTank

Model of a building with loads provided as time series, connected to an ETS with domestic hot water storage tank

Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETSWithDHWTank

Information

This model is the same as Buildings.DHC.Loads.Combined.BuildingTimeSeriesWithETS except that it implements an ETS that uses a heat pump with hot water storage tank for production of domestic hot water. That ETS model is Buildings.DHC.ETS.Combined.HeatPumpHeatExchangerDHWTank.

Extends from Buildings.DHC.Loads.Combined.BaseClasses.PartialBuildingWithETS (Partial model with ETS model and partial building model).

Parameters

TypeNameDefaultDescription
replaceable package MediumSerWaterService side medium
replaceable package MediumSerHea_aWaterService side medium at heating inlet
replaceable package MediumBuiWaterBuilding side medium
StringfilNam Library path of the file with thermal loads as time series
GenericDomesticHotWaterWithHeatExchangerdatWatHea Performance data
Configuration
IntegernPorts_heaWat1Number of heating water fluid ports
IntegernPorts_chiWat1Number of chilled water fluid ports
Scaling
RealfacMul1Multiplier factor
ETS model parameters
TemperatureTDisWatMin6 + 273.15District water minimum temperature [K]
TemperatureTDisWatMax17 + 273.15District water maximum temperature [K]
TemperatureDifferencedT_nominal4Water temperature drop/increase accross load and source-side HX (always positive) [K]
TemperatureTChiWatSup_nominal18 + 273.15Chilled water supply temperature [K]
TemperatureTHeaWatSup_nominal38 + 273.15Heating water supply temperature [K]
TemperatureTHotWatSup_nominal63 + 273.15Domestic hot water supply temperature to fixtures [K]
TemperatureTColWat_nominal288.15Cold water temperature (for hot water production) [K]
Pressuredp_nominal50000Pressure difference at nominal flow rate (for each flow leg) [Pa]
RealCOPHeaWat_nominal4.0COP of heat pump for heating water production [1]
RealCOPHotWat_nominal2.3COP of heat pump for hot water production [1]
Assumptions
BooleanallowFlowReversalSerfalseSet to true to allow flow reversal on service side
BooleanallowFlowReversalBuifalseSet to true to allow flow reversal on building side

Connectors

TypeNameDescription
FluidPort_aport_aSerAmbFluid connector for ambient water service supply line
FluidPort_bport_bSerAmbFluid connector for ambient water service return line
FluidPort_aport_aSerHeaFluid connector for heating service supply line
FluidPort_bport_bSerHeaFluid connector for heating service return line
FluidPort_aport_aSerCooFluid connector for cooling service supply line
FluidPort_bport_bSerCooFluid connector for cooling service return line
BusweaBusWeather data bus
output RealOutputQHea_flowTotal heating heat flow rate transferred to the loads (>=0) [W]
output RealOutputQCoo_flowTotal cooling heat flow rate transferred to the loads (<=0) [W]
output RealOutputPHeaPower drawn by heating system [W]
output RealOutputPCooPower drawn by cooling system [W]
output RealOutputPFanPower drawn by fan motors [W]
output RealOutputPPumPower drawn by pump motors [W]
output RealOutputQFue_flow[nFue]Fuel energy input rate [W]
input RealInputTChiWatSupSetChilled water supply temperature set point [K]
input RealInputTHeaWatSupMaxSetHeating water supply temperature set point - Maximum value [K]
input RealInputTHeaWatSupMinSetHeating water supply temperature set point - Minimum value [K]
output RealOutputPPumETSETS pump power [W]
input RealInputTHotWatSupSetService hot water supply temperature set point [K]
input RealInputTColWatCold water temperature [K]

Modelica definition

model BuildingTimeSeriesWithETSWithDHWTank "Model of a building with loads provided as time series, connected to an ETS with domestic hot water storage tank" extends Buildings.DHC.Loads.Combined.BaseClasses.PartialBuildingWithETS( redeclare Buildings.DHC.Loads.BaseClasses.BuildingTimeSeries bui( filNam=filNam, have_hotWat=true, T_aHeaWat_nominal=ets.THeaWatSup_nominal, T_bHeaWat_nominal=ets.THeaWatRet_nominal, T_aChiWat_nominal=ets.TChiWatSup_nominal, T_bChiWat_nominal=ets.TChiWatRet_nominal), redeclare Buildings.DHC.ETS.Combined.HeatPumpHeatExchangerDHWTank ets( final dT_nominal=dT_nominal, final TDisWatMin=TDisWatMin, final TDisWatMax=TDisWatMax, final TChiWatSup_nominal=TChiWatSup_nominal, final THeaWatSup_nominal=THeaWatSup_nominal, final THotWatSup_nominal=THotWatSup_nominal, final TColWat_nominal=TColWat_nominal, final dp_nominal=dp_nominal, final COPHeaWat_nominal=COPHeaWat_nominal, final COPHotWat_nominal=COPHotWat_nominal, have_hotWat=true, QChiWat_flow_nominal=QCoo_flow_nominal, QHeaWat_flow_nominal=QHea_flow_nominal, QHotWat_flow_nominal=QHot_flow_nominal, datWatHea=datWatHea)); parameter String filNam "Library path of the file with thermal loads as time series"; final parameter Modelica.Units.SI.HeatFlowRate QCoo_flow_nominal( max=-Modelica.Constants.eps)= bui.facMul * bui.QCoo_flow_nominal "Space cooling design load (<=0)"; final parameter Modelica.Units.SI.HeatFlowRate QHea_flow_nominal( min=Modelica.Constants.eps)= bui.facMul * bui.QHea_flow_nominal "Space heating design load (>=0)"; final parameter Modelica.Units.SI.HeatFlowRate QHot_flow_nominal( min=Modelica.Constants.eps)= bui.facMul * Buildings.DHC.Loads.BaseClasses.getPeakLoad( string="#Peak water heating load", filNam=Modelica.Utilities.Files.loadResource(filNam)) "Hot water design load (>=0)"; Buildings.Controls.OBC.CDL.Interfaces.RealInput THotWatSupSet( final unit="K", displayUnit="degC") "Service hot water supply temperature set point"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TColWat( final unit="K", displayUnit="degC") "Cold water temperature"; Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter loaHeaNor( k=1/QHea_flow_nominal) "Normalized heating load"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold enaHeaCoo[2](each t=1e-4) "Threshold comparison to enable heating and cooling"; Modelica.Blocks.Sources.BooleanConstant enaSHW( final k=true) if have_hotWat "SHW production enable signal"; Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter loaCooNor(k=1/ QCoo_flow_nominal) "Normalized cooling load"; parameter HotWater.Data.GenericDomesticHotWaterWithHeatExchanger datWatHea "Performance data"; equation connect(bui.QReqHotWat_flow, ets.QReqHotWat_flow); connect(THotWatSupSet, ets.THotWatSupSet); connect(TColWat, ets.TColWat); connect(enaHeaCoo[1].y, ets.uHea); connect(enaHeaCoo[2].y, ets.uCoo); connect(enaSHW.y, ets.uSHW); connect(loaHeaNor.y, enaHeaCoo[1].u); connect(loaCooNor.y, enaHeaCoo[2].u); connect(bui.QReqHea_flow, loaHeaNor.u); connect(bui.QReqCoo_flow, loaCooNor.u); connect(loaHeaNor.y, resTHeaWatSup.u); end BuildingTimeSeriesWithETSWithDHWTank;