Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart

Example models of the block OptimalStart

Information

This package contains example models that integrate the block Buildings.Controls.OBC.Utilities.OptimalStart with a single-zone VAV system, and base classes used by the example models.

There are two sets of example models: one set uses a conventional controller Buildings.Air.Systems.SingleZone.VAV.BaseClasses.ControllerChillerDXHeatingEconomizer; the other set uses a controller based on Guideline36 Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller.

Both sets of examples use the same single-zone building model Buildings.ThermalZones.Detailed.Validation.BaseClasses.SingleZoneFloor and the same single-zone VAV system Buildings.Air.Systems.SingleZone.VAV.ChillerDXHeatingEconomizer.

Each set of example models validates three different seasonal conditions: spring, summer and winter.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSpring ConventionalSpring Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in spring
Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSummer ConventionalSummer Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in summer
Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalWinter ConventionalWinter Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in winter
Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Spring Guideline36Spring Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in spring
Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Summer Guideline36Summer Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in summer
Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Winter Guideline36Winter Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in winter
Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses BaseClasses Base classes of models in the package OptimalStart

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSpring Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSpring

Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in spring

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSpring

Information

This is an example model on how to use the block Buildings.Controls.OBC.Utilities.OptimalStart that integrates with a conventional controller, a single-zone VAV system and a single-zone floor building. The building, HVAC system and controller model can be found in the base class Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUConventional.

This example validates the optimal start results for the spring condition. Note that the optimal start block in this example computes for both heating and cooling conditions. The first few days are initialization period. The optimal start time is zero when the zone temperature is within the heating and cooling setpoint deadband.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model ConventionalSpring "Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in spring" extends Modelica.Icons.Example; BoundaryConditions.WeatherData.ReaderTMY3 weaDat( computeWetBulbTemperature=false, filNam=Modelica.Utilities.Files.loadResource( "modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos")) "Weather data"; Buildings.Controls.OBC.Utilities.OptimalStart optSta( computeHeating=true, computeCooling=true, uLow=0.1, thrOptOn(displayUnit="s")) "Optimal start for heating and cooling system "; Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable TSetRooHea( table=[0,15 + 273.15; 8*3600,20 + 273.15; 18*3600,15 + 273.15; 24*3600,15 + 273.15], smoothness=Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, extrapolation=Buildings.Controls.OBC.CDL.Types.Extrapolation.Periodic, y(each unit="K", each displayUnit="degC")) "Heating setpoint for room temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable TSetRooCoo( table=[0,30 + 273.15; 8*3600,24 + 273.15; 18*3600,30 + 273.15; 24*3600,30 + 273.15], smoothness=Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, extrapolation=Buildings.Controls.OBC.CDL.Types.Extrapolation.Periodic, y(each unit="K", each displayUnit="degC")) "Cooling setpoint for room temperature"; Buildings.Controls.SetPoints.OccupancySchedule occSch(occupancy=3600*{8,18}) "Occupancy schedule"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSetHeaOn(k=20 + 273.15) "Zone heating setpoint during occupied period"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSetCooOn(k=24 + 273.15) "Zone cooling setpoint during occupied time"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal booToRea(realTrue=-6) "Switch to occupied cooling setpoint"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal booToRea1(realTrue=5) "Switch to occupied heating setpoint"; Buildings.Controls.OBC.CDL.Continuous.Add add3 "New cooling setpoint schedule for room"; Buildings.Controls.OBC.CDL.Continuous.Add add4 "New heating setpoint schedule for room"; Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUConventional zonAHUOpt "Model of a single zone with AHU and controller"; Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUConventional zonAHUCon "Model of a single zone with AHU and controller"; Buildings.Controls.OBC.CDL.Logical.Or or2 "Occupied or optimal start for preconditioning"; equation connect(TSetHeaOn.y, optSta.TSetZonHea); connect(TSetRooCoo.y[1], add3.u2); connect(occSch.tNexOcc, optSta.tNexOcc); connect(booToRea.y, add3.u1); connect(TSetCooOn.y, optSta.TSetZonCoo); connect(optSta.optOn, booToRea.u); connect(add4.y, zonAHUOpt.TSetRooHea); connect(add3.y, zonAHUOpt.TSetRooCoo); connect(TSetRooHea.y[1], zonAHUCon.TSetRooHea); connect(TSetRooCoo.y[1], zonAHUCon.TSetRooCoo); connect(zonAHUOpt.TZon, optSta.TZon); connect(optSta.optOn, booToRea1.u); connect(occSch.occupied, zonAHUCon.uOcc); connect(optSta.optOn, or2.u1); connect(occSch.occupied, or2.u2); connect(or2.y, zonAHUOpt.uOcc); connect(add4.u2, TSetRooHea.y[1]); connect(booToRea1.y, add4.u1); connect(weaDat.weaBus, zonAHUOpt.weaBus); connect(weaDat.weaBus, zonAHUCon.weaBus); end ConventionalSpring;

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSummer Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSummer

Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in summer

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSummer

Information

This is an example model on how to use the block Buildings.Controls.OBC.Utilities.OptimalStart that integrates with a conventional controller, a single-zone VAV system and a single-zone floor building. The building, HVAC system and controller model can be found in the base class Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUConventional.

This example validates the optimal start results for the summer condition. Note that the optimal start block in this example computes for both heating and cooling conditions. The first few days are initialization period. The optimal start block calculates the optimal precooling time based on the moving average temperature slope of the zone computed from previous days.

Extends from Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSpring (Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in spring).

Modelica definition

model ConventionalSummer "Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in summer" extends Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSpring; end ConventionalSummer;

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalWinter Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalWinter

Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in winter

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalWinter

Information

This is an example model on how to use the block Buildings.Controls.OBC.Utilities.OptimalStart that integrates with a conventional controller, a single-zone VAV system and a single-zone floor building. The building, HVAC system and controller model can be found in the base class Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUConventional.

This example validates the optimal start results for the winter condition. Note that the optimal start block in this example computes for both heating and cooling conditions. The first few days are initialization period. The optimal start block calculates the optimal preheating time based on the moving average temperature slope of the zone computed from previous days.

Extends from Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSpring (Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in spring).

Modelica definition

model ConventionalWinter "Example model using the block OptimalStart with a conventional controller for a single-zone VAV system in winter" extends Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.ConventionalSpring; end ConventionalWinter;

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Spring Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Spring

Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in spring

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Spring

Information

This is an example model on how to use the block Buildings.Controls.OBC.Utilities.OptimalStart that integrates with a controller based on Guideline36 Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller, a single-zone VAV system and a single-zone floor building. The building, HVAC system and controller model can be found in the base class Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUG36.

This example validates the optimal start results for the spring condition. The first few days are initialization period. The optimal start time is zero when the zone temperature is within the heating and cooling setpoint deadband.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Guideline36Spring "Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in spring" extends Modelica.Icons.Example; BoundaryConditions.WeatherData.ReaderTMY3 weaDat( computeWetBulbTemperature=false, filNam=Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos")) "Weather data"; Buildings.Controls.OBC.Utilities.OptimalStart optStaHea( computeHeating=true, computeCooling=false, uLow=0.1, thrOptOn(displayUnit="s")) "Optimal start for heating"; Buildings.Controls.SetPoints.OccupancySchedule occSch(occupancy=3600*{8,18}) "Occupancy schedule"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSetHeaOn(k=20 + 273.15) "Zone heating setpoint during occupied period"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSetCooOn(k=24 + 273.15) "Zone cooling setpoint during occupied time"; Buildings.Controls.OBC.Utilities.OptimalStart optStaCoo( computeHeating=false, computeCooling=true, uLow=0.1, thrOptOn(displayUnit="s")) "Optimal start for cooling"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con(k=0) "No optimal start"; Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUG36 zonAHUG36Opt "A single zone building with a VAV system and a Guideline36 controller"; Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUG36 zonAHUG36Con "A single zone building with a VAV system and a Guideline36 controller"; equation connect(TSetHeaOn.y, optStaHea.TSetZonHea); connect(TSetCooOn.y, optStaCoo.TSetZonCoo); connect(occSch.tNexOcc, optStaCoo.tNexOcc); connect(optStaCoo.TZon, optStaHea.TZon); connect(occSch.tNexOcc, zonAHUG36Opt.tNexOcc); connect(occSch.occupied, zonAHUG36Opt.uOcc); connect(optStaHea.tOpt, zonAHUG36Opt.warUpTim); connect(optStaCoo.tOpt, zonAHUG36Opt.cooDowTim); connect(zonAHUG36Opt.TZon, optStaHea.TZon); connect(con.y, zonAHUG36Con.warUpTim); connect(con.y, zonAHUG36Con.cooDowTim); connect(occSch.tNexOcc, zonAHUG36Con.tNexOcc); connect(occSch.occupied, zonAHUG36Con.uOcc); connect(occSch.tNexOcc, optStaHea.tNexOcc); connect(weaDat.weaBus, zonAHUG36Opt.weaBus); connect(weaDat.weaBus, zonAHUG36Con.weaBus); end Guideline36Spring;

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Summer Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Summer

Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in summer

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Summer

Information

This is an example model on how to use the block Buildings.Controls.OBC.Utilities.OptimalStart that integrates with a controller based on Guideline36 Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller, a single-zone VAV system and a single-zone floor building. The building, HVAC system and controller model can be found in the base class Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUG36.

This example validates the optimal start results for the summer condition. The first few days are initialization period. The optimal start block calculates the optimal precooling time based on the moving average temperature slope of the zone computed from previous days.

Extends from Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Spring (Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in spring).

Modelica definition

model Guideline36Summer "Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in summer" extends Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Spring; end Guideline36Summer;

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Winter Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Winter

Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in winter

Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Winter

Information

This is an example model on how to use the block Buildings.Controls.OBC.Utilities.OptimalStart that integrates with a controller based on Guideline36 Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller, a single-zone VAV system and a single-zone floor building. The building, HVAC system and controller model can be found in the base class Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUG36.

This example validates the optimal start results for the winter condition. The first few days are initialization period. The optimal start block calculates the optimal preheating time based on the moving average temperature slope of the zone computed from previous days.

Extends from Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Spring (Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in spring).

Modelica definition

model Guideline36Winter "Example model using the block OptimalStart with a Guideline36 controller for a single-zone system in winter" extends Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.Guideline36Spring; end Guideline36Winter;