modelGuideline36
Extends from Buildings.Examples.VAVReheat.BaseClasses.PartialHVAC (Partial model of variable air volume flow system with terminal reheat that serves five thermal zones).
Information
This model consist of an HVAC system is a variable air volume (VAV) flow system with economizer and a heating and cooling coil in the air handler unit. There is also a reheat coil and an air damper in each of the five zone inlet branches.
See the model Buildings.Examples.VAVReheat.BaseClasses.PartialHVAC for a description of the HVAC system.
The control is based on ASHRAE Guideline 36, and implemented using the sequences from the library Buildings.Controls.OBC.ASHRAE.G36 for multi-zone VAV systems with economizer. The figures below shows the schematic diagram and controls of an HVAC system that supplies 5 zones:
A similar model but with a different control sequence can be found in Buildings.Examples.VAVReheat.ASHRAE2006. Note that this model, because of the frequent time sampling, has longer computing time than Buildings.Examples.VAVReheat.ASHRAE2006. The reason is that the time integrator cannot make large steps because it needs to set a time step each time the control samples its input.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | numZon (from PartialHVAC) | 5 | Total number of served VAV boxes |
| Modelica.Units.SI.Volume[numZon] | VRoo (from PartialHVAC) | Room volume per zone | |
| Modelica.Units.SI.Area[numZon] | AFlo (from PartialHVAC) | Floor area per zone | |
| Modelica.Units.SI.Area | ATot (from PartialHVAC) | sum(AFlo) | Total floor area for all zone |
| Real | conv (from PartialHVAC) | 1.2/3600 | Conversion factor for nominal mass flow rate |
| Modelica.Units.SI.HeatFlowRate | QHeaAHU_flow_nominal (from PartialHVAC) | mHeaAir_flow_nominal*cpAir*(THeaAirSup_nominal - THeaAirMix_nominal) | Nominal heating heat flow rate of air handler unit coil |
| Modelica.Units.SI.HeatFlowRate | QCooAHU_flow_nominal (from PartialHVAC) | 1.3*mCooAir_flow_nominal*cpAir*(TCooAirSup_nominal - TCooAirMix_nominal) | Nominal total cooling heat flow rate of air handler unit coil (negative number) |
| Real | ratOAFlo_A (from PartialHVAC) | 0.3e-3 | Outdoor airflow rate required per unit area |
| Real | ratOAFlo_P (from PartialHVAC) | 2.5e-3 | Outdoor airflow rate required per person |
| Real | ratP_A (from PartialHVAC) | 5e-2 | Occupant density |
| Real | effZ (from PartialHVAC) | 0.8 | Zone air distribution effectiveness (limiting value) |
| Real | divP (from PartialHVAC) | 0.7 | Occupant diversity ratio |
| Modelica.Units.SI.VolumeFlowRate[numZon] | VZonOA_flow_nominal (from PartialHVAC) | (ratOAFlo_P*ratP_A + ratOAFlo_A)*AFlo/effZ | Zone outdoor air flow rate of each VAV box |
| Modelica.Units.SI.VolumeFlowRate | Vou_flow_nominal (from PartialHVAC) | (divP*ratOAFlo_P*ratP_A + ratOAFlo_A)*sum(AFlo) | System uncorrected outdoor air flow rate |
| Real | effVen (from PartialHVAC) | if divP < 0.6 then 0.88*divP + 0.22 else 0.75 | System ventilation efficiency |
| Modelica.Units.SI.VolumeFlowRate | Vot_flow_nominal (from PartialHVAC) | Vou_flow_nominal/effVen | System design outdoor air flow rate |
| Modelica.Units.SI.PressureDifference | dpBuiStaSet (from PartialHVAC) | 12 | Building static pressure |
| Real | yFanMin (from PartialHVAC) | 0.1 | Minimum fan speed |
| Boolean | allowFlowReversal (from PartialHVAC) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Modelica.Units.SI.Time | samplePeriod | 120 | Sample period of component, set to the same value as the trim and respond that process yPreSetReq |
| Modelica.Units.SI.PressureDifference | dpDisRetMax | 40 | Maximum return fan discharge static pressure setpoint |
| Nominal mass flow rate | |||
| Modelica.Units.SI.MassFlowRate[numZon] | mCooVAV_flow_nominal (from PartialHVAC) | Design mass flow rate per zone for cooling | |
| Modelica.Units.SI.MassFlowRate[numZon] | mHeaVAV_flow_nominal (from PartialHVAC) | 0.3*mCooVAV_flow_nominal | Design mass flow rate per zone for heating |
| Modelica.Units.SI.MassFlowRate | mAir_flow_nominal (from PartialHVAC) | mCooAir_flow_nominal | Nominal mass flow rate for fan |
| Modelica.Units.SI.MassFlowRate | mCooAir_flow_nominal (from PartialHVAC) | 0.7*sum(mCooVAV_flow_nominal) | Nominal mass flow rate for fan |
| Modelica.Units.SI.MassFlowRate | mHeaAir_flow_nominal (from PartialHVAC) | 0.7*sum(mHeaVAV_flow_nominal) | Nominal mass flow rate for fan |
| Modelica.Units.SI.MassFlowRate | mHeaWat_flow_nominal (from PartialHVAC) | QHeaAHU_flow_nominal/cpWat/10 | Nominal water mass flow rate for heating coil in AHU |
| Modelica.Units.SI.MassFlowRate | mCooWat_flow_nominal (from PartialHVAC) | QCooAHU_flow_nominal/cpWat/(-6) | Nominal water mass flow rate for cooling coil |
| Room temperature setpoints | |||
| Modelica.Units.SI.Temperature | THeaOn (from PartialHVAC) | 293.15 | Heating setpoint during on |
| Modelica.Units.SI.Temperature | THeaOff (from PartialHVAC) | 285.15 | Heating setpoint during off |
| Modelica.Units.SI.Temperature | TCooOn (from PartialHVAC) | 297.15 | Cooling setpoint during on |
| Modelica.Units.SI.Temperature | TCooOff (from PartialHVAC) | 303.15 | Cooling setpoint during off |
| Air handler unit nominal temperatures and humidity | |||
| Modelica.Units.SI.Temperature | TCooAirMix_nominal (from PartialHVAC) | 303.15 | Mixed air temperature during cooling nominal conditions (used to size cooling coil) |
| Modelica.Units.SI.Temperature | TCooAirSup_nominal (from PartialHVAC) | 285.15 | Supply air temperature during cooling nominal conditions (used to size cooling coil) |
| Modelica.Units.SI.MassFraction | wCooAirMix_nominal (from PartialHVAC) | 0.017 | Humidity ratio of mixed air at a nominal conditions used to size cooling coil (in kg/kg dry total) |
| Modelica.Units.SI.Temperature | TCooWatInl_nominal (from PartialHVAC) | 279.15 | Cooling coil nominal inlet water temperature |
| Modelica.Units.SI.Temperature | THeaAirMix_nominal (from PartialHVAC) | 277.15 | Mixed air temperature during heating nominal conditions (used to size heating coil) |
| Modelica.Units.SI.Temperature | THeaAirSup_nominal (from PartialHVAC) | 285.15 | Supply air temperature during heating nominal conditions (used to size heating coil) |
| Modelica.Units.SI.Temperature | THeaWatInl_nominal (from PartialHVAC) | Reheat coil nominal inlet water temperature | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a[numZon] | port_supAir (from PartialHVAC) | Supply air to thermal zones | |
| Modelica.Fluid.Interfaces.FluidPort_a[numZon] | port_retAir (from PartialHVAC) | Return air from thermal zones | |
| Modelica.Blocks.Interfaces.RealInput[numZon] | TRoo (from PartialHVAC) | Room temperatures | |
| BoundaryConditions.WeatherData.Bus | weaBus (from PartialHVAC) | Weather data bus | |
| Modelica.Fluid.Interfaces.FluidPort_a | portHeaCoiSup (from PartialHVAC) | Heating coil loop supply | |
| Modelica.Fluid.Interfaces.FluidPort_b | portHeaCoiRet (from PartialHVAC) | Heating coil loop return | |
| Modelica.Fluid.Interfaces.FluidPort_a | portHeaTerSup (from PartialHVAC) | Terminal heat loop supply | |
| Modelica.Fluid.Interfaces.FluidPort_b | portHeaTerRet (from PartialHVAC) | Terminal heat loop return | |
| Modelica.Fluid.Interfaces.FluidPort_a | portCooCoiSup (from PartialHVAC) | Cooling coil loop supply | |
| Modelica.Fluid.Interfaces.FluidPort_b | portCooCoiRet (from PartialHVAC) | Coolin coil loop return |
Components
Revisions
-
August 21, 2023, by Jianjun Hu:
Changed the indication of the status when window is closed. In default, it should be true (closed dry contact) rather than false. This is for issue #3257. -
December 20, 2021, by Michael Wetter:
Changed parameter declarations and added optimal start up. This is for issue #2829. -
November 9, 2021, by Baptiste:
Vectorized the terminal boxes to be expanded to any number of zones.
This is for issue #2735. -
October 4, 2021, by Michael Wetter:
Refactored Buildings.Examples.VAVReheat and its base classes to separate building from HVAC model.
This is for issue #2652. -
September 16, 2021, by Michael Wetter:
Removed assignment of parameterlatas this is now obtained from the weather data reader.
This is for IBPSA, #1477. -
September 3, 2021, by Michael Wetter:
Updated documentation.
This is for issue #2600. -
August 24, 2021, by Michael Wetter:
Changed model to include the hydraulic configurations of the cooling coil, heating coil and VAV terminal box.
This is for issue #2594. -
April 30, 2021, by Michael Wetter:
Reformulated replaceable class and introduced floor areas in base class to avoid access of components that are not in the constraining type.
This is for issue #2471. -
April 16, 2021, by Michael Wetter:
Refactored model to implement the economizer dampers directly inBuildings.Examples.VAVReheat.BaseClasses.PartialHVACrather than through the model of a mixing box. Since the version of the Guideline 36 model has no exhaust air damper, this leads to simpler equations.
This is for issue #2454. -
March 15, 2021, by David Blum:
Change component nameyOutDamtoyExhDamand update documentation graphic to include relief damper.
This is for #2399. -
July 10, 2020, by Antoine Gautier:
Changed design and control parameters for outdoor air flow.
This is for #2019 -
June 15, 2020, by Jianjun Hu:
Upgraded sequence of specifying operating mode according to G36 official release. -
April 20, 2020, by Jianjun Hu:
Exported actual VAV damper position as the measured input data for terminal controller.
This is for issue #1873 -
March 20, 2020, by Jianjun Hu:
Replaced the AHU controller with reimplemented one. The new controller separates the zone level calculation from the system level calculation and does not include vector-valued calculations.
This is for #1829. -
March 09, 2020, by Jianjun Hu:
Replaced the block that calculates operation mode and zone temperature setpoint, with the new one that does not include vector-valued calculations.
This is for #1709. -
May 19, 2016, by Michael Wetter:
Changed chilled water supply temperature to 6°C. This is for #509. -
April 26, 2016, by Michael Wetter:
Changed controller for freeze protection as the old implementation closed the outdoor air damper during summer. This is for #511. -
January 22, 2016, by Michael Wetter:
Corrected type declaration of pressure difference. This is for #404. -
September 24, 2015 by Michael Wetter:
Set default temperature for medium to avoid conflicting start values for alias variables of the temperature of the building and the ambient air. This is for issue 426.