modelGuideline36

Variable air volume flow system with terminal reheat and Guideline 36 control sequence serving five thermal zones

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:

image

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

TypeNameDefaultDescription
IntegernumZon (from PartialHVAC)5Total 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.AreaATot (from PartialHVAC)sum(AFlo)Total floor area for all zone
Realconv (from PartialHVAC)1.2/3600Conversion factor for nominal mass flow rate
Modelica.Units.SI.HeatFlowRateQHeaAHU_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.HeatFlowRateQCooAHU_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)
RealratOAFlo_A (from PartialHVAC)0.3e-3Outdoor airflow rate required per unit area
RealratOAFlo_P (from PartialHVAC)2.5e-3Outdoor airflow rate required per person
RealratP_A (from PartialHVAC)5e-2Occupant density
RealeffZ (from PartialHVAC)0.8Zone air distribution effectiveness (limiting value)
RealdivP (from PartialHVAC)0.7Occupant diversity ratio
Modelica.Units.SI.VolumeFlowRate[numZon]VZonOA_flow_nominal (from PartialHVAC)(ratOAFlo_P*ratP_A + ratOAFlo_A)*AFlo/effZZone outdoor air flow rate of each VAV box
Modelica.Units.SI.VolumeFlowRateVou_flow_nominal (from PartialHVAC)(divP*ratOAFlo_P*ratP_A + ratOAFlo_A)*sum(AFlo)System uncorrected outdoor air flow rate
RealeffVen (from PartialHVAC)if divP < 0.6 then 0.88*divP + 0.22 else 0.75System ventilation efficiency
Modelica.Units.SI.VolumeFlowRateVot_flow_nominal (from PartialHVAC)Vou_flow_nominal/effVenSystem design outdoor air flow rate
Modelica.Units.SI.PressureDifferencedpBuiStaSet (from PartialHVAC)12Building static pressure
RealyFanMin (from PartialHVAC)0.1Minimum fan speed
BooleanallowFlowReversal (from PartialHVAC)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Modelica.Units.SI.TimesamplePeriod120Sample period of component, set to the same value as the trim and respond that process yPreSetReq
Modelica.Units.SI.PressureDifferencedpDisRetMax40Maximum 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_nominalDesign mass flow rate per zone for heating
Modelica.Units.SI.MassFlowRatemAir_flow_nominal (from PartialHVAC)mCooAir_flow_nominalNominal mass flow rate for fan
Modelica.Units.SI.MassFlowRatemCooAir_flow_nominal (from PartialHVAC)0.7*sum(mCooVAV_flow_nominal)Nominal mass flow rate for fan
Modelica.Units.SI.MassFlowRatemHeaAir_flow_nominal (from PartialHVAC)0.7*sum(mHeaVAV_flow_nominal)Nominal mass flow rate for fan
Modelica.Units.SI.MassFlowRatemHeaWat_flow_nominal (from PartialHVAC)QHeaAHU_flow_nominal/cpWat/10Nominal water mass flow rate for heating coil in AHU
Modelica.Units.SI.MassFlowRatemCooWat_flow_nominal (from PartialHVAC)QCooAHU_flow_nominal/cpWat/(-6)Nominal water mass flow rate for cooling coil
Room temperature setpoints
Modelica.Units.SI.TemperatureTHeaOn (from PartialHVAC)293.15Heating setpoint during on
Modelica.Units.SI.TemperatureTHeaOff (from PartialHVAC)285.15Heating setpoint during off
Modelica.Units.SI.TemperatureTCooOn (from PartialHVAC)297.15Cooling setpoint during on
Modelica.Units.SI.TemperatureTCooOff (from PartialHVAC)303.15Cooling setpoint during off
Air handler unit nominal temperatures and humidity
Modelica.Units.SI.TemperatureTCooAirMix_nominal (from PartialHVAC)303.15Mixed air temperature during cooling nominal conditions (used to size cooling coil)
Modelica.Units.SI.TemperatureTCooAirSup_nominal (from PartialHVAC)285.15Supply air temperature during cooling nominal conditions (used to size cooling coil)
Modelica.Units.SI.MassFractionwCooAirMix_nominal (from PartialHVAC)0.017Humidity ratio of mixed air at a nominal conditions used to size cooling coil (in kg/kg dry total)
Modelica.Units.SI.TemperatureTCooWatInl_nominal (from PartialHVAC)279.15Cooling coil nominal inlet water temperature
Modelica.Units.SI.TemperatureTHeaAirMix_nominal (from PartialHVAC)277.15Mixed air temperature during heating nominal conditions (used to size heating coil)
Modelica.Units.SI.TemperatureTHeaAirSup_nominal (from PartialHVAC)285.15Supply air temperature during heating nominal conditions (used to size heating coil)
Modelica.Units.SI.TemperatureTHeaWatInl_nominal (from PartialHVAC)Reheat coil nominal inlet water temperature

Connectors

TypeNameDefaultDescription
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.BusweaBus (from PartialHVAC)Weather data bus
Modelica.Fluid.Interfaces.FluidPort_aportHeaCoiSup (from PartialHVAC)Heating coil loop supply
Modelica.Fluid.Interfaces.FluidPort_bportHeaCoiRet (from PartialHVAC)Heating coil loop return
Modelica.Fluid.Interfaces.FluidPort_aportHeaTerSup (from PartialHVAC)Terminal heat loop supply
Modelica.Fluid.Interfaces.FluidPort_bportHeaTerRet (from PartialHVAC)Terminal heat loop return
Modelica.Fluid.Interfaces.FluidPort_aportCooCoiSup (from PartialHVAC)Cooling coil loop supply
Modelica.Fluid.Interfaces.FluidPort_bportCooCoiRet (from PartialHVAC)Coolin coil loop return

Components

TypeNameDefaultDescription
Buildings.Fluid.Sources.Outsideamb (from PartialHVAC)Ambient conditions
Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTUheaCoi (from PartialHVAC)Heating coil
Fluid.HeatExchangers.WetCoilEffectivenessNTUcooCoi (from PartialHVAC)Cooling coil
Buildings.Fluid.FixedResistances.PressureDropdpRetDuc (from PartialHVAC)Pressure drop for return duct
Buildings.Fluid.Movers.Preconfigured.SpeedControlled_yfanSup (from PartialHVAC)Supply air fan
Buildings.Fluid.Sensors.VolumeFlowRatesenSupFlo (from PartialHVAC)Sensor for supply fan flow rate
Buildings.Fluid.Sensors.VolumeFlowRatesenRetFlo (from PartialHVAC)Sensor for return fan flow rate
Modelica.Blocks.Routing.RealPassThroughTOut (from PartialHVAC)
Buildings.Fluid.Sensors.TemperatureTwoPortTSup (from PartialHVAC)
Buildings.Fluid.Sensors.RelativePressuredpDisSupFan (from PartialHVAC)Supply fan static discharge pressure
Buildings.Controls.SetPoints.OccupancyScheduleoccSch (from PartialHVAC)Occupancy schedule
Buildings.Fluid.Sensors.TemperatureTwoPortTRet (from PartialHVAC)Return air temperature sensor
Buildings.Fluid.Sensors.TemperatureTwoPortTMix (from PartialHVAC)Mixed air temperature sensor
Buildings.Fluid.Sensors.VolumeFlowRateVOut1 (from PartialHVAC)Outside air volume flow rate
Resultsres (from PartialHVAC)Results of the simulation
Fluid.Actuators.Dampers.ExponentialdamRet (from PartialHVAC)Return air damper
Fluid.Actuators.Dampers.ExponentialdamOut (from PartialHVAC)Outdoor air damper
Fluid.FixedResistances.JunctionsplCooSup (from PartialHVAC)Flow splitter
Fluid.Actuators.Valves.TwoWayEqualPercentagevalCooCoi (from PartialHVAC)Valve for cooling coil
Fluid.FixedResistances.JunctionsplCooRet (from PartialHVAC)Flow splitter
Fluid.Movers.Preconfigured.SpeedControlled_ypumCooCoi (from PartialHVAC)Supply air fan
Fluid.Movers.Preconfigured.SpeedControlled_ypumHeaCoi (from PartialHVAC)Pump for heating coil
Fluid.Actuators.Valves.TwoWayEqualPercentagevalHeaCoi (from PartialHVAC)Valve for heating coil
Fluid.FixedResistances.JunctionsplHeaRet (from PartialHVAC)Flow splitter
Fluid.FixedResistances.JunctionsplHeaSup (from PartialHVAC)Flow splitter
Buildings.Examples.VAVReheat.BaseClasses.VAVReheatBox[numZon]VAVBox (from PartialHVAC)VAV boxes
Buildings.Fluid.FixedResistances.Junction[numZon - 1]splRetRoo (from PartialHVAC)Splitter for room return air
Buildings.Fluid.FixedResistances.Junction[numZon - 1]splSupRoo (from PartialHVAC)Splitter for room supply air
Fluid.FixedResistances.PressureDropdpSupDuc (from PartialHVAC)Pressure drop for supply duct
Fluid.FixedResistances.JunctionsplRetOut (from PartialHVAC)Flow splitter
Buildings.Controls.OBC.CDL.Reals.SwitchswiFreStaPumSwitch for freeze stat of pump
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantyFreHeaCoiFlow rate signal for heating coil when freeze stat is on
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[numZon]warCooTimWarm up and cool down time
Buildings.Controls.OBC.CDL.Logical.Sources.Constant[numZon]falStaNo zone has override switch
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorreaRepAssume all zones have same occupancy schedule
Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicatorbooRepAssume all zones have same occupancy schedule
Buildings.Controls.OBC.CDL.Integers.Sources.Constant[numZon]demLimLevDemand limit level, assumes to be 0
Buildings.Examples.VAVReheat.BaseClasses.Controls.SystemHysteresissysHysHeaHysteresis and delay to switch heating on and off
Buildings.Examples.VAVReheat.BaseClasses.Controls.SystemHysteresissysHysCooHysteresis and delay to switch cooling on and off
Buildings.Controls.OBC.CDL.Reals.SwitchswiFreStaValSwitch for freeze stat of valve
Buildings.Examples.VAVReheat.BaseClasses.Controls.FreezeStatfreStaFreeze stat for heating coil
Buildings.Controls.OBC.Utilities.OptimalStart[numZon]optStaOptimal startup
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatortZonNexOccNext occupancy for each zone
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[numZon]TOccHeaSetOccupied heating setpoint for zone air
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[numZon]TOccCooSetOccupied cooling setpoint for zone air
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.ControllerconAHUAir handler unit controller
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.OutdoorAirFlow.ASHRAE62_1.SumZonesumZonSum up zone ventilation setpoints
Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.OperationModeopeModSelOperation mode
Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.ZoneStatus[numZon]zonStaStatus of different zone temperature
Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.GroupStatusgroStaZone group status
Buildings.Controls.OBC.ASHRAE.G36.ThermalZones.Setpoints[numZon]TZonSetZone setpoint temperature
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[numZon]TUnoHeaSetUnoccupied heating setpoint for zone air
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[numZon]TUnoCooSetUnoccupied cooling setpoint for zone air
Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicatorintRepAll zones in same operation mode
Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.Reheat.Controller[numZon]conVAVReheat box control
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorTSupAHUReplicate AHU supply temperature
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorTSupAHUSetReplicate AHU supply temperature setpoint
Buildings.Controls.OBC.CDL.Integers.Sources.Constant[numZon]oveRidNo override flow setpoint, no override damper position
Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicatorbooScaRepSupply fan commanded on
Buildings.Controls.OBC.CDL.Logical.Sources.Constant[numZon]hotWatPlaHot water plant status
Buildings.Controls.OBC.CDL.Integers.MultiSumpreRetReqZone pressure reset request
Buildings.Controls.OBC.CDL.Integers.MultiSumtemResReqZone temperature reset request
Buildings.Controls.OBC.CDL.Logical.FallingEdgefalEdgReset back to normal after freeze protection
Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.ZoneGroupSystemahuModAHU operating mode
Buildings.Controls.OBC.CDL.Logical.Sources.Constant[numZon]truStaAll windows are closed

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 parameter lat as 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 in Buildings.Examples.VAVReheat.BaseClasses.PartialHVAC rather 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 name yOutDam to yExhDam and 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.