Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.

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.TerminalUnits.CoolingOnly.Validation.Controller Controller Validation of model that controls cooling only unit

Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Validation.Controller Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Validation.Controller

Validation of model that controls cooling only unit

Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Validation.Controller

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Controller.

Modelica definition

model Controller "Validation of model that controls cooling only unit" Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Controller cooBoxCon( final venStd=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1_2016, final VAreBreZon_flow=0.006, final VPopBreZon_flow=0.005, final VMin_flow=0.5, final VCooMax_flow=1.5, final have_preIndDam=true, final staPreMul=1, final floHys=0.01, final looHys=0.01, final damPosHys=0.01, final VOccMin_flow=0, final VAreMin_flow=0) "Cooling only unit controller"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine TZon( final freqHz=1/86400, final amplitude=4, final offset=299.15) "Zone temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp disAirTem( final height=2, final duration=43200, final offset=273.15 + 15, final startTime=28800) "Discharge airflow temperture"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse winSta( final width=0.05, final period=43200, final shift=43200) "Window opening status"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant cooSet( final k=273.15 + 24) "Zone cooling setpoint temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant heaSet( final k=273.15 + 20) "Zone heating setpoint temperature"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse occ( final width=0.75, final period=43200, final shift=28800) "Occupancy status"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp opeMod( final offset=1, final height=2, final duration=28800, final startTime=28800) "Operation mode"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 "Convert real to integer"; Buildings.Controls.OBC.CDL.Continuous.Round round2( final n=0) "Round real number to given digits"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine CO2( final amplitude=400, final freqHz=1/28800, final offset=600) "CO2 concentration"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp supAirTem( final height=2, final duration=43200, final offset=273.15 + 14) "Supply air temperature from air handling unit"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine VDis_flow( final offset=1.2, final amplitude=0.6, final freqHz=1/28800) "Discharge airflow rate"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp oveFlo( final height=2, final duration=10000, final startTime=35000) "Override flow setpoint"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 "Convert real to integer"; Buildings.Controls.OBC.CDL.Continuous.Round round1( final n=0) "Round real number to given digits"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp oveDam( final height=2, final duration=5000, startTime=60000) "Override damper position"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt3 "Convert real to integer"; Buildings.Controls.OBC.CDL.Continuous.Round round3( final n=0) "Round real number to given digits"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFanSta( final width=0.9, final period=73200, final shift=18800) "Supply fan status"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant CO2Set(final k=894) "CO2 concentration setpoint"; equation connect(TZon.y, cooBoxCon.TZon); connect(cooSet.y, cooBoxCon.TCooSet); connect(heaSet.y, cooBoxCon.THeaSet); connect(winSta.y, cooBoxCon.u1Win); connect(occ.y, cooBoxCon.u1Occ); connect(opeMod.y,round2. u); connect(round2.y,reaToInt2. u); connect(reaToInt2.y, cooBoxCon.uOpeMod); connect(CO2.y, cooBoxCon.ppmCO2); connect(disAirTem.y, cooBoxCon.TDis); connect(supAirTem.y, cooBoxCon.TSup); connect(VDis_flow.y, cooBoxCon.VDis_flow); connect(oveFlo.y,round1. u); connect(round1.y,reaToInt1. u); connect(oveDam.y, round3.u); connect(round3.y,reaToInt3. u); connect(reaToInt1.y, cooBoxCon.oveFloSet); connect(reaToInt3.y, cooBoxCon.oveDamPos); connect(supFanSta.y, cooBoxCon.u1Fan); connect(CO2Set.y, cooBoxCon.ppmCO2Set); end Controller;