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

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.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.MultiZone.VAV.SetPoints.Validation.ExhaustDamper ExhaustDamper Validate the controller of an actuated exhaust damper without fan
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanDirectPressure ReturnFanDirectPressure Validate model for calculating return fan control with direct building pressure of multi zone VAV AHU
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyFan SupplyFan Validate SupplyFan
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplySignals_Valve SupplySignals_Valve Validate model for controlling coil valve postion of multi zone VAV AHU
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyTemperature SupplyTemperature Validate model for calculating supply air temperature of multi zone VAV AHU

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

Validate the controller of an actuated exhaust damper without fan

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

Information

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

Modelica definition

model ExhaustDamper "Validate the controller of an actuated exhaust damper without fan" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.ExhaustDamper exhDamPos(k=0.1) "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 meaBuiPre( height=8, duration=1200, offset=8, startTime=0) "Measured indoor building static pressure"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.ExhaustDamper exhDamPos1(k=0.5) "Block of controlling actuated exhaust damper without fan"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.ExhaustDamper exhDamPos2(k=1) "Block of controlling actuated exhaust damper without fan"; equation connect(meaBuiPre.y, exhDamPos.dpBui); connect(supFan.y, exhDamPos.uSupFan); connect(supFan.y, exhDamPos1.uSupFan); connect(supFan.y, exhDamPos2.uSupFan); connect(meaBuiPre.y, exhDamPos1.dpBui); connect(meaBuiPre.y, exhDamPos2.dpBui); end ExhaustDamper;

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanDirectPressure Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanDirectPressure

Validate model for calculating return fan control with direct building pressure of multi zone VAV AHU

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanDirectPressure

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure for exhaust air damper and return fan control with direct building pressure measurement for systems with multiple zones.

Modelica definition

model ReturnFanDirectPressure "Validate model for calculating return fan control with direct building pressure of multi zone VAV AHU" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure retFanPre(k=0.1) "Return fan control with direct building pressure"; CDL.Logical.Sources.Pulse yFan(period=4000) "Supply fan status"; CDL.Continuous.Sources.Ramp dpBui( height=40, offset=0, duration=1800) "Building static presure"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure retFanPre1(k=0.5) "Return fan control with direct building pressure"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure retFanPre2 "Return fan control with direct building pressure"; equation connect(yFan.y, retFanPre.uFan); connect(dpBui.y, retFanPre.dpBui); connect(yFan.y, retFanPre1.uFan); connect(yFan.y, retFanPre2.uFan); connect(dpBui.y, retFanPre1.dpBui); connect(dpBui.y, retFanPre2.dpBui); end ReturnFanDirectPressure;

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyFan Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyFan

Validate SupplyFan

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyFan

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplyFan.

Modelica definition

model SupplyFan "Validate SupplyFan" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplyFan conSupFan( Td=1, controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI, maxSet=400, k=0.001, Ti=10) "Block outputs supply fan speed"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplyFan conSupFan1( have_perZonRehBox=true, Td=1, controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI, maxSet=400, k=0.001, Ti=10) "Block outputs supply fan speed"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplyFan conSupFan2( have_duaDucBox=false, have_airFloMeaSta=true, Td=1, controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI, maxSet=400, k=0.001, Ti=10) "Block outputs supply fan speed"; protected Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ram( duration=28800, height=6) "Ramp signal for generating operation mode"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine( freqHz=1/14400, offset=3, amplitude=2) "Generate sine signal "; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine1( freqHz=1/14400, offset=200, amplitude=150) "Generate sine signal"; Buildings.Controls.OBC.CDL.Continuous.Abs abs "Block generates absolute value of input"; Buildings.Controls.OBC.CDL.Continuous.Abs abs1 "Block generates absolute value of input"; Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0) "Round real number to given digits"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 "Convert real to integer"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 "Convert real to integer"; Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0) "Round real number to given digits"; equation connect(sine1.y, conSupFan.ducStaPre); connect(sine.y, abs1.u); connect(ram.y, abs.u); connect(abs1.y, round2.u); connect(round2.y, reaToInt1.u); connect(reaToInt1.y, conSupFan.uZonPreResReq); connect(abs.y, round1.u); connect(round1.y, reaToInt2.u); connect(reaToInt2.y, conSupFan.uOpeMod); connect(reaToInt2.y, conSupFan2.uOpeMod); connect(reaToInt1.y, conSupFan2.uZonPreResReq); connect(sine1.y, conSupFan2.ducStaPre); connect(reaToInt2.y, conSupFan1.uOpeMod); connect(reaToInt1.y, conSupFan1.uZonPreResReq); connect(sine1.y, conSupFan1.ducStaPre); end SupplyFan;

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplySignals_Valve Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplySignals_Valve

Validate model for controlling coil valve postion of multi zone VAV AHU

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplySignals_Valve

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplySignals for a change of the supply air temperature setpoint, measured supply air temperature and the supply fan status, to specify coil valve positions, and generate control loop signal.

Modelica definition

model SupplySignals_Valve "Validate model for controlling coil valve postion of multi zone VAV AHU" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplySignals supSig "Output valve position and supply air temperature control loop signal"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFanSta(period=7200) "Supply fan status"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine TSup( amplitude=2, offset=16 + 273.15, freqHz=1/7200) "Supply air temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TSupSet( height=3, duration=7200, offset=15 + 273.15) "Supply air temperature setpoint"; Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplySignals supSig1 "Output valve position and supply air temperature control loop signal"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanOn(k=true) "Fan on"; equation connect(TSupSet.y,supSig.TSupSet); connect(TSup.y, supSig.TSup); connect(supFanSta.y, supSig.uSupFan); connect(TSupSet.y,supSig1.TSupSet); connect(TSup.y, supSig1.TSup); connect(fanOn.y, supSig1.uSupFan); end SupplySignals_Valve;

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyTemperature Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyTemperature

Validate model for calculating supply air temperature of multi zone VAV AHU

Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyTemperature

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplyTemperature for a change of outdoor temperature, operation mode, supply fan status, maximum supply temperature, to specify the supply air temperature for systems with multiple zones.

Modelica definition

model SupplyTemperature "Validate model for calculating supply air temperature of multi zone VAV AHU" Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.SupplyTemperature conTSupSet "Supply air temperature setpoint for multi zone system"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant setZonTem( k=22.5 + 273.15) "Average of heating and cooling setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine outTem( amplitude=5, freqHz=1/86400, offset=18 + 273.15) "Outdoor air temperature"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFanSta(period=43200) "Supply fan status"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp opeMod( offset=1, height=1, duration=90000) "Operation mode"; Buildings.Controls.OBC.CDL.Continuous.Abs abs "Block generates absolute value of input"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine( amplitude=6, freqHz=1/86400) "Block generates sine signal"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 "Convert real to integer"; Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0) "Round real number to given digits"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 "Convert real to integer"; Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0) "Round real number to given digits"; equation connect(supFanSta.y, conTSupSet.uSupFan); connect(outTem.y, conTSupSet.TOut); connect(setZonTem.y, conTSupSet.TZonSetAve); connect(sine.y, abs.u); connect(opeMod.y, round2.u); connect(round2.y, reaToInt2.u); connect(abs.y, round1.u); connect(round1.y, reaToInt1.u); connect(reaToInt1.y, conTSupSet.uZonTemResReq); connect(reaToInt2.y, conTSupSet.uOpeMod); end SupplyTemperature;