Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.

Note that most validation models contain simple input data which may not be realistic, but for which the correct output can be obtained through an analytic solution. The examples plot various outputs, which have been verified against these solutions. These model outputs are stored as reference data and used for continuous validation whenever models in the library change.

Package Content

Name Description
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.ExhaustDamper ExhaustDamper Validate of the controller for actuated exhaust damper without fan
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.OutsideAirFlow OutsideAirFlow Validate the model of calculating minimum outdoor airflow setpoint
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.Supply_T Supply_T Validation model for outdoor minus room air temperature
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.Supply_u Supply_u Validation model for control input

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.ExhaustDamper Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.ExhaustDamper

Validate of the controller for actuated exhaust damper without fan

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.ExhaustDamper

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.ExhaustDamper.

Modelica definition

model ExhaustDamper "Validate of the controller for actuated exhaust damper without fan" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.ExhaustDamper exhDamPos "Block of controlling actuated exhaust damper without fan"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant supFan(k=true) "Supply fan status"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp outDamPos( duration=1200, startTime=0, height=0.6, offset=0.4) "Outdoor air damper position"; equation connect(supFan.y, exhDamPos.uSupFan); connect(outDamPos.y, exhDamPos.uOutDamPos); end ExhaustDamper;

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.OutsideAirFlow Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.OutsideAirFlow

Validate the model of calculating minimum outdoor airflow setpoint

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.OutsideAirFlow

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.OutsideAirFlow.

Modelica definition

model OutsideAirFlow "Validate the model of calculating minimum outdoor airflow setpoint" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.OutsideAirFlow outAirSet_SinZon(AFlo=40, have_occSen=true) "Block to output minimum outdoor airflow rate for system with single zone "; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp numOfOcc( height=4, duration=3600) "Number of occupant detected in zone"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.OutsideAirFlow outAirSet_SinZon_noOccSen(AFlo=40, have_occSen=false) "Block to output minimum outdoor airflow rate for system with single zone without an occupancy sensor"; protected Buildings.Controls.OBC.CDL.Logical.Sources.Constant winSta( k=false) "Window status"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant supFan( k=true) "Supply fan status"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TZon( height=6, offset=273.15 + 17, duration=3600) "Measured zone temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TDis( height=4, duration=3600, offset=273.15 + 18) "Terminal unit discharge air temperature"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod( final k=Buildings.Controls.OBC.ASHRAE.G36_PR1.Types.OperationModes.occupied) "AHU operation mode is Occupied"; equation connect(numOfOcc.y, outAirSet_SinZon.nOcc); connect(winSta.y, outAirSet_SinZon.uWin); connect(TZon.y, outAirSet_SinZon.TZon); connect(outAirSet_SinZon.uOpeMod, opeMod.y); connect(supFan.y, outAirSet_SinZon.uSupFan); connect(TDis.y, outAirSet_SinZon.TDis); connect(winSta.y, outAirSet_SinZon_noOccSen.uWin); connect(TZon.y, outAirSet_SinZon_noOccSen.TZon); connect(outAirSet_SinZon_noOccSen.uOpeMod, opeMod.y); connect(supFan.y, outAirSet_SinZon_noOccSen.uSupFan); connect(TDis.y, outAirSet_SinZon_noOccSen.TDis); end OutsideAirFlow;

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.Supply_T Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.Supply_T

Validation model for outdoor minus room air temperature

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.Supply_T

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Supply for a change in temperature difference between zone air and outdoor air. Hence, this model validates whether the adjustment of the fan speed for medium cooling load is correct implemented.

Modelica definition

model Supply_T "Validation model for outdoor minus room air temperature" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Supply setPoiVAV( yHeaMax=0.7, yMin=0.3, TSupSetMax=303.15, TSupSetMin=289.15, yCooMax=0.9) "Block that computes the setpoints for temperature and fan speed"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uHea(k=0) "Heating control signal"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uCoo(k=0.6) "Cooling control signal"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TOut( duration=1, height=18, offset=273.15 + 10) "Outdoor air temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZon( k=273.15 + 22) "Zone temperature"; Buildings.Controls.OBC.CDL.Continuous.Add dT(k2=-1) "Difference zone minus outdoor temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZonSet( k=273.15 + 22) "Average zone set point"; equation connect(uCoo.y, setPoiVAV.uCoo); connect(TZon.y, setPoiVAV.TZon); connect(TOut.y, setPoiVAV.TOut); connect(uHea.y, setPoiVAV.uHea); connect(dT.u1, TZon.y); connect(dT.u2, TOut.y); connect(TZonSet.y,setPoiVAV.TZonSet); end Supply_T;

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.Supply_u Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.Supply_u

Validation model for control input

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Validation.Supply_u

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Supply for different control signals. Each controller is configured identical, but the input signal for TZon differs in order to validate that the fan speed is increased correctly.

Modelica definition

model Supply_u "Validation model for control input" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Supply setPoiVAV( yHeaMax=0.7, yMin=0.3, TSupSetMax=303.15, TSupSetMin=289.15) "Block that computes the setpoints for temperature and fan speed"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Supply setPoiVAV1( yHeaMax=0.7, yMin=0.3, TSupSetMax=303.15, TSupSetMin=289.15) "Block that computes the setpoints for temperature and fan speed"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Supply setPoiVAV2( yHeaMax=0.7, yMin=0.3, TSupSetMax=303.15, TSupSetMin=289.15) "Block that computes the setpoints for temperature and fan speed"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZon(k=273.15 + 28) "Zone air temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TOut(k=273.15 + 22) "Outdoor temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp uHea( duration=0.25, height=-1, offset=1) "Heating control signal"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp uCoo( duration=0.25, startTime=0.75) "Cooling control signal"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZonSet(k=273.15 + 23) "Average zone set point"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZon1(k=273.15 + 23) "Zone air temperature"; equation connect(TZon.y, setPoiVAV.TZon); connect(TOut.y, setPoiVAV.TOut); connect(uHea.y, setPoiVAV.uHea); connect(uCoo.y, setPoiVAV.uCoo); connect(TZonSet.y,setPoiVAV.TZonSet); connect(TOut.y, setPoiVAV1.TOut); connect(uHea.y, setPoiVAV1.uHea); connect(uCoo.y, setPoiVAV1.uCoo); connect(TZonSet.y,setPoiVAV1.TZonSet); connect(TOut.y, setPoiVAV2.TOut); connect(uHea.y, setPoiVAV2.uHea); connect(uCoo.y, setPoiVAV2.uCoo); connect(TZonSet.y,setPoiVAV2.TZonSet); connect(TOut.y, setPoiVAV1.TZon); connect(TZon1.y, setPoiVAV2.TZon); end Supply_u;