Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.

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.TerminalUnits.Reheat.Validation.DamperValves DamperValves Validate model for controlling damper and valve position of VAV reheat terminal unit
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.Validation.SystemRequests SystemRequests Validation of model that generates system requests

Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.Validation.DamperValves Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.Validation.DamperValves

Validate model for controlling damper and valve position of VAV reheat terminal unit

Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.Validation.DamperValves

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.DamperValves for damper and valve control of VAV reheat terminal unit.

Modelica definition

model DamperValves "Validate model for controlling damper and valve position of VAV reheat terminal unit" Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.DamperValves damVal(kDam=1, V_flow_nominal=2) "Output signal for controlling VAV reheat box damper and valve position"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp uHea( duration=36000, height=-1, offset=1, startTime=0) "Heating control signal"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp uCoo( height=1, duration=36000, offset=0, startTime=50400) "Cooling control signal"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant THeaSet(k=273.15 + 20) "Zone heating setpoint temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZon(k=273.15 + 22) "Zone temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSup(k=273.15 + 13) "AHU supply air temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant VActMin_flow(k=0.01) "Active minimum airflow setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant VActHeaMin_flow(k=0.015) "Active heating minimum airflow setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant VActHeaMax_flow(k=0.05) "Active heating maximum airflow setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant VActCooMin_flow(k=0.015) "Active cooling minimum airflow setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant VActCooMax_flow(k=0.075) "Active cooling maximum airflow setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine VDis_flow( offset=0.015, amplitude=0.002, freqHz=1/86400) "Discharge airflow rate"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TDis(k=273.15 + 25) "Discharge air temperature"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant occSig( k=Buildings.Controls.OBC.ASHRAE.G36_PR1.Types.OperationModes.occupied) "Occupied signal"; equation connect(VDis_flow.y, damVal.VDis_flow); connect(TDis.y, damVal.TDis); connect(VActCooMax_flow.y, damVal.VActCooMax_flow); connect(VActCooMin_flow.y, damVal.VActCooMin_flow); connect(VActHeaMax_flow.y, damVal.VActHeaMax_flow); connect(VActHeaMin_flow.y, damVal.VActHeaMin_flow); connect(VActMin_flow.y, damVal.VActMin_flow); connect(uCoo.y, damVal.uCoo); connect(uHea.y, damVal.uHea); connect(THeaSet.y, damVal.THeaSet); connect(TSup.y, damVal.TSup); connect(TZon.y, damVal.TZon); connect(occSig.y, damVal.uOpeMod); end DamperValves;

Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.Validation.SystemRequests Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.Validation.SystemRequests

Validation of model that generates system requests

Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.Validation.SystemRequests

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.SystemRequests for generating system requests.

Modelica definition

model SystemRequests "Validation of model that generates system requests" Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.SystemRequests sysReq_RehBox(have_heaPla=true, have_heaWatCoi=true) "Block outputs system requests"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine(freqHz=1/7200, offset=296.15) "Generate data for setpoint"; Buildings.Controls.OBC.CDL.Discrete.UnitDelay TZonCooSet(samplePeriod=1800) "Cooling setpoint temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine TZon( freqHz=1/7200, amplitude=2, offset=299.15) "Zone temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp uCoo( height=0.9, duration=7200, offset=0.1) "Cooling loop signal"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp disAirSet( height=0.9, duration=7200, offset=0.1) "Discharge airflow rate setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp disAirRate( duration=7200, offset=0.1, height=0.3) "Discharge airflow rate"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp damPos( duration=7200, height=0.7, offset=0.3) "Damper position"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine1( freqHz=1/7200, offset=305.15) "Generate data for setpoint"; Buildings.Controls.OBC.CDL.Discrete.UnitDelay TDisHeaSet( samplePeriod=1800) "Discharge air setpoint temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine TDis( freqHz=1/7200, amplitude=2, offset=293.15) "Discharge air temperature"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp valPos( duration=7200, height=1, offset=0) "Hot water valve position"; equation connect(sine.y, TZonCooSet.u); connect(TZonCooSet.y, sysReq_RehBox.TZonCooSet); connect(TZon.y, sysReq_RehBox.TZon); connect(uCoo.y, sysReq_RehBox.uCoo); connect(disAirSet.y, sysReq_RehBox.VDisSet_flow); connect(disAirRate.y, sysReq_RehBox.VDis_flow); connect(damPos.y,sysReq_RehBox.yDam_actual); connect(sine1.y, TDisHeaSet.u); connect(TDisHeaSet.y, sysReq_RehBox.TDisHeaSet); connect(TDis.y, sysReq_RehBox.TDis); connect(valPos.y,sysReq_RehBox.uHeaVal); end SystemRequests;