modelBuildingTimeSeries
Extends from Buildings.DHC.Loads.BaseClasses.PartialBuilding (Partial class for building model).
Information
This is a simplified building model where the space heating and cooling loads are provided as time series. In order to approximate the emission characteristic of the building HVAC system, this model uses idealized fan coil models that are parameterized with the peak load, determined from the provided time series, and design values of the hot water and chilled water supply and return temperatures.
The time series that provide the loads are read from the file filNam.
This file must have columns as shown in this example:
#1 #Heating, cooling and domestic hot water loads # #First column: Seconds in the year (loads are hourly) #Second column: cooling loads in Watts (as negative numbers). #Third column: space heating loads in Watts #Fourth column: domestic hot water loads in Watts # #Peak space cooling load = -146960 Watts #Peak space heating load = 167690 Watts #Peak water heating load = 9390 Watts double tab1(8760,4) 0;0;18230;0 3600;0;17520;0 7200;0;20170;0 10800;0;22450;0 [further rows omitted]Specificallly, the format must be as follows:
- The first column must be the time of the year in seconds.
-
If
have_chiWat = true, then the next column must be the space cooling load in Watts. Note that cooling is a negative number.
Ifhave_chiWat = false, this column must be present but it will be ignored, and hence it can be set to any number such as0. -
If
have_heaWat = true, the next column must be the space heating load in Watts.
Ifhave_heaWat = false, this column must be present but it will be ignored, and hence it can be set to any number such as0. -
If
have_hotWat = true, the next column must be the domestic hot water load in Watts.
Ifhave_hotWat = false, this column must be present but it will be ignored, and hence it can be set to any number such as0.
The entry double tab1(8760,4) shows how many columns and rows are present.
The header also needs to contain the lines that start with #Peak as shown in the example above.
Implementation details
The total space heating (resp. cooling) load is split between
facMulHea (resp. facMulCoo)
identical terminal units with heat transfer performance approximated based on
design specifications of a reference terminal unit.
It is not expected that the user modifies the default values
that are proposed for facMulHea and facMulCoo
unless detailed design data are available for the building
HVAC system.
In that latter case, the following set of parameters should be
modified consistently to match the design data.
- Hot water (resp. chilled water) supply and return temperature
T_aHeaWat_nominalandT_bHeaWat_nominal(resp.T_aChiWat_nominalandT_bChiWat_nominal) - Terminal unit entering air temperature
T_aLoaHea_nominal(resp.T_aLoaCoo_nominal) and humidity ratiow_aLoaCoo_nominal - Terminal unit air mass flow rate
mLoaHea_flow_nominal(resp.mLoaCoo_flow_nominal) - Terminal unit scaling factor
facMulHea(resp.facMulCoo)
For reference, the default reference terminal unit performance is based on manufacturer data (Carrier fan coil model 42NL/NH) at selection conditions as specified in the "Advanced" tab.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nPorts_aHeaWat (from PartialBuilding) | 0 | Number of heating water inlet ports |
| Integer | nPorts_bHeaWat (from PartialBuilding) | 0 | Number of heating water outlet ports |
| Integer | nPorts_aChiWat (from PartialBuilding) | 0 | Number of chilled water inlet ports |
| Integer | nPorts_bChiWat (from PartialBuilding) | 0 | Number of chilled water outlet ports |
| String | filNam | File name with thermal loads as time series | |
| Real | k | 0.1 | Gain of controller |
| Modelica.Units.SI.Time | Ti | 10 | Time constant of integrator block |
| Configuration | |||
| Boolean | have_heaWat (from PartialBuilding) | false | Set to true if the building has heating water system |
| Boolean | have_chiWat (from PartialBuilding) | false | Set to true if the building has chilled water system |
| Boolean | have_eleHea (from PartialBuilding) | false | Set to true if the building has decentralized electric heating system |
| Boolean | have_eleCoo (from PartialBuilding) | false | Set to true if the building has decentralized electric cooling system |
| Boolean | have_fan (from PartialBuilding) | false | Set to true if fan power is computed |
| Boolean | have_pum (from PartialBuilding) | false | Set to true if pump power is computed |
| Boolean | have_weaBus (from PartialBuilding) | false | Set to true to use a weather bus |
| Boolean | have_heaLoa (from PartialBuilding) | have_heaWat or have_eleHea | Set to true if the building has heating loads |
| Boolean | have_cooLoa (from PartialBuilding) | have_chiWat or have_eleCoo | Set to true if the building has cooling loads |
| Boolean | have_hotWat | false | Set to true if SHW load is included in the time series |
| Scaling | |||
| Real | facMul (from PartialBuilding) | 1 | Multiplier factor |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialBuilding) | false | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
| Advanced › Scaling | |||
| Real | facMulHea | QHea_flow_nominal/(QHea_flow_nominal_ref*abs(T_aLoaHea_nominal - T_aHeaWat_nominal)/abs(T_aLoaHea_nominal_ref - T_aHeaWat_nominal_ref)*mLoaHea_flow_nominal/mLoaHea_flow_nominal_ref) | Heating terminal unit multiplier factor |
| Real | facMulCoo | QCoo_flow_nominal/(QCoo_flow_nominal_ref*abs(h_aLoaCoo_nominal - hSat_nominal)/abs(h_aLoaCoo_nominal_ref - hSat_nominal_ref)*mLoaCoo_flow_nominal/mLoaCoo_flow_nominal_ref) | Cooling terminal unit scaling factor |
| Nominal condition | |||
| Modelica.Units.SI.Temperature | T_aHeaWat_nominal | 323.15 | Heating water inlet temperature at nominal conditions |
| Modelica.Units.SI.Temperature | T_bHeaWat_nominal | T_aHeaWat_nominal - 10 | Heating water outlet temperature at nominal conditions |
| Modelica.Units.SI.Temperature | T_aChiWat_nominal | 280.15 | Chilled water inlet temperature at nominal conditions |
| Modelica.Units.SI.Temperature | T_bChiWat_nominal | T_aChiWat_nominal + 5 | Chilled water outlet temperature at nominal conditions |
| Modelica.Units.SI.HeatFlowRate | QCoo_flow_nominal | if have_chiWat then Buildings.DHC.Loads.BaseClasses.getPeakLoad(string = "#Peak space cooling load", filNam = Modelica.Utilities.Files.loadResource(filNam)) else 0 | Design cooling heat flow rate (<=0) |
| Modelica.Units.SI.HeatFlowRate | QHea_flow_nominal | if have_heaWat then Buildings.DHC.Loads.BaseClasses.getPeakLoad(string = "#Peak space heating load", filNam = Modelica.Utilities.Files.loadResource(filNam)) else 0 | Design heating heat flow rate (>=0) |
| Modelica.Units.SI.MassFlowRate | mChiWat_flow_nominal | QCoo_flow_nominal/cp_default/(T_aChiWat_nominal - T_bChiWat_nominal) | Chilled water mass flow rate at nominal conditions (all units) |
| Modelica.Units.SI.MassFlowRate | mHeaWat_flow_nominal | QHea_flow_nominal/cp_default/(T_aHeaWat_nominal - T_bHeaWat_nominal) | Heating water mass flow rate at nominal conditions (all units) |
| Advanced › Nominal condition | |||
| Modelica.Units.SI.Temperature | T_aLoaHea_nominal | 293.15 | Load side inlet temperature at nominal conditions in heating mode |
| Modelica.Units.SI.Temperature | T_aLoaCoo_nominal | 298.15 | Load side inlet temperature at nominal conditions in cooling mode |
| Modelica.Units.SI.MassFraction | w_aLoaCoo_nominal | 0.01 | Load side inlet humidity ratio at nominal conditions in cooling mode |
| Modelica.Units.SI.MassFlowRate | mLoaHea_flow_nominal | 0.5 | Load side mass flow rate at nominal conditions in heating mode (single unit) |
| Modelica.Units.SI.MassFlowRate | mLoaCoo_flow_nominal | mLoaHea_flow_nominal | Load side mass flow rate at nominal conditions in cooling mode (single unit) |
| Advanced › Reference terminal unit performance | |||
| Modelica.Units.SI.Temperature | T_aHeaWat_nominal_ref | 323.15 | Heating water inlet temperature at nominal conditions of reference terminal unit |
| Modelica.Units.SI.Temperature | T_aLoaHea_nominal_ref | 293.15 | Load side inlet temperature at nominal conditions in heating mode of reference terminal unit |
| Modelica.Units.SI.MassFlowRate | mLoaHea_flow_nominal_ref | 0.5 | Load side mass flow rate at nominal conditions in heating mode of reference terminal unit |
| Modelica.Units.SI.HeatFlowRate | QHea_flow_nominal_ref | 4.5E3 | Heat flow at nominal conditions in heating mode of reference terminal unit |
| Modelica.Units.SI.Temperature | T_aChiWat_nominal_ref | 279.15 | Chilled water inlet temperature at nominal conditions of reference terminal unit |
| Modelica.Units.SI.Temperature | T_aLoaCoo_nominal_ref | 298.15 | Load side inlet temperature at nominal conditions in cooling mode of reference terminal unit |
| Modelica.Units.SI.MassFraction | w_aLoaCoo_nominal_ref | 0.01 | Load side inlet humidity ratio at nominal conditions in cooling mode of reference terminal unit |
| Modelica.Units.SI.MassFlowRate | mLoaCoo_flow_nominal_ref | 0.5 | Load side mass flow rate at nominal conditions in cooling mode of reference terminal unit |
| Modelica.Units.SI.HeatFlowRate | QCoo_flow_nominal_ref | -5.8E3 | Heat flow at nominal conditions in cooling mode of reference terminal unit |
Connectors
Components
Contents
| Name | Description |
|---|---|
Revisions
-
May 3, 2023, by David Blum:
AppliedfacMulto domestic hot water load.
This is for issue 3379. -
November 21, 2022, by David Blum:
ScalefacMulHeaandfacMulCoowith peak load.
This is for issue 2302. -
December 21, 2020, by Antoine Gautier:
Refactored for optional hot water and multiplier factor.
This is for issue 2291. -
September 18, 2020, by Jianjun Hu:
Changed flow distribution components and the terminal units to be conditional depending on if there is water-based heating, or cooling system. This is for issue 2147. -
February 21, 2020, by Antoine Gautier:
First implementation.