Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.

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.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.Common_LoopDisable Common_LoopDisable Validation model for the multi zone VAV AHU minimum outdoor air control - damper position limits
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.Common_VOut_flow Common_VOut_flow Validation model for the multi zone VAV AHU minimum outdoor air control - damper position limits
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.SeparateWithAFMS SeparateWithAFMS Validation model for the minimum outdoor air control - damper position limits for the units with separated outdoor air control
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.SeparateWithDP SeparateWithDP Validation model for the minimum outdoor air control - damper position limits for the units with separated outdoor air control

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.Common_LoopDisable Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.Common_LoopDisable

Validation model for the multi zone VAV AHU minimum outdoor air control - damper position limits

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.Common_LoopDisable

Information

This example validates enable/disable conditions for Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Common for the following input signals: u1SupFan, uFreProSta, uOpeMod.

Modelica definition

model Common_LoopDisable "Validation model for the multi zone VAV AHU minimum outdoor air control - damper position limits" Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet_flow( final k=VOutSet_flow) "Outdoor airflow rate setpoint, 15cfm/occupant and 100 occupants"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet1_flow( final k=VOutSet_flow) "Outdoor airflow rate setpoint, 15cfm/occupant and 100 occupants"; // Fan Status Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanSta( final k=false) "Fan is off"; // Operation Mode Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod1( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.warmUp) "AHU operation mode is NOT Occupied"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp VOut_flow( final duration=1800, final offset=minVOutSet_flow, final height=incVOutSet_flow) "Measured outdoor airflow rate"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp VOut1_flow( final duration=1800, final offset=minVOutSet_flow, final height=incVOutSet_flow) "Measured outdoor airflow rate"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Common damLim "Multi zone VAV AHU minimum outdoor air control - damper position limits"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Common damLim1 "Multi zone VAV AHU minimum outdoor air control - damper position limits"; protected final parameter Real VOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.71 "Example volumetric airflow setpoint, 15cfm/occupant, 100 occupants"; final parameter Real minVOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.61 "Volumetric airflow sensor output, minimum value in the example"; final parameter Real incVOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.2 "Maximum increase in airflow volume during the example simulation"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.occupied) "AHU operation mode is Occupied"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanStatus1( final k=true) "Fan is on"; equation connect(VOut_flow.y, damLim.VOut_flow_normalized); connect(VOutMinSet_flow.y, damLim.VOutMinSet_flow_normalized); connect(fanSta.y, damLim.u1SupFan); connect(VOut1_flow.y, damLim1.VOut_flow_normalized); connect(VOutMinSet1_flow.y, damLim1.VOutMinSet_flow_normalized); connect(fanStatus1.y, damLim1.u1SupFan); connect(opeMod.y, damLim.uOpeMod); connect(opeMod1.y, damLim1.uOpeMod); end Common_LoopDisable;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.Common_VOut_flow Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.Common_VOut_flow

Validation model for the multi zone VAV AHU minimum outdoor air control - damper position limits

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.Common_VOut_flow

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Common for the following control signals: VOut_flow, VOutMinSet_flow. The control loop is always enabled in this example.

Modelica definition

model Common_VOut_flow "Validation model for the multi zone VAV AHU minimum outdoor air control - damper position limits" Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet_flow( final k=minVOutSet_flow) "Outdoor volumetric airflow rate setpoint, 15cfm/occupant and 100 occupants"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp VOut_flow( final duration=1800, final offset=VOutMin_flow, final height=incVOutSet_flow) "Measured outdoor airflow rate"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Common damLim "Multi zone VAV AHU minimum outdoor air control - damper position limits"; protected parameter Real minVOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.71 "Example volumetric airflow setpoint, 15cfm/occupant, 100 occupants"; parameter Real VOutMin_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.61 "Minimal measured volumetric airflow"; parameter Real incVOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=(minVOutSet_flow-VOutMin_flow)*2 "Maximum volumetric airflow increase during the example simulation"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanStatus(k=true) "Fan is on"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant operationMode( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.occupied) "Operation mode is Occupied"; equation connect(VOut_flow.y, damLim.VOut_flow_normalized); connect(VOutMinSet_flow.y, damLim.VOutMinSet_flow_normalized); connect(fanStatus.y, damLim.u1SupFan); connect(operationMode.y, damLim.uOpeMod); end Common_VOut_flow;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.SeparateWithAFMS Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.SeparateWithAFMS

Validation model for the minimum outdoor air control - damper position limits for the units with separated outdoor air control

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.SeparateWithAFMS

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.SeparateWithAFMS for the following control signals: VOut_flow, VOutMinSet_flow.

Modelica definition

model SeparateWithAFMS "Validation model for the minimum outdoor air control - damper position limits for the units with separated outdoor air control" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.SeparateWithAFMS disMinCon( final minSpe=0.1) "Disable the minimum outdoor air control due to that the supply fan is not proven on"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.SeparateWithAFMS disMinCon1( final minSpe=0.1) "Disable the minimum outdoor air control due to that it is not in occupied mode"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.SeparateWithAFMS minCon( final minSpe=0.1) "Multi zone VAV AHU minimum outdoor air control - damper position limits"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet_flow( final k=minVOutSet_flow) "Outdoor volumetric airflow rate setpoint, 15cfm/occupant and 100 occupants"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp VOut_flow( final duration=1800, final offset=VOutMin_flow, final height=incVOutSet_flow) "Measured outdoor airflow rate"; protected parameter Real minVOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.71 "Example volumetric airflow setpoint, 15cfm/occupant, 100 occupants"; parameter Real VOutMin_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.61 "Minimal measured volumetric airflow"; parameter Real incVOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=(minVOutSet_flow-VOutMin_flow)*2 "Maximum volumetric airflow increase during the example simulation"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanStatus( final k=true) "Fan is on"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant operationMode( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.occupied) "Operation mode is Occupied"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.occupied) "AHU operation mode is Occupied"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod1( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.warmUp) "AHU operation mode is Occupied"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet_flow1( final k=minVOutSet_flow) "Outdoor airflow rate setpoint, 15cfm/occupant and 100 occupants"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanSta( final k=false) "Fan is off"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp VOut_flow1( final duration=1800, final offset=minVOutSet_flow, final height=incVOutSet_flow) "Measured outdoor airflow rate"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp outDamPos( final duration=1800, final offset=0.1, final height=0.5) "Outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant supFanSpe( final k=0) "Supply fan speed"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet_flow2( final k=minVOutSet_flow) "Outdoor airflow rate setpoint, 15cfm/occupant and 100 occupants"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanSta1( final k=true) "Fan is on"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp VOut_flow2( final duration=1800, final offset=minVOutSet_flow, final height=incVOutSet_flow) "Measured outdoor airflow rate"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp outDamPos1( final duration=1800, final offset=0.1, final height=0.5) "Outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant supFanSpe1( final k=0.2) "Supply fan speed"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp outDamPos2( final duration=1800, final offset=0.1, final height=0.5) "Outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supFanSpe2( final height=0.5, final duration=1800, final offset=0.1) "Supply fan speed"; equation connect(VOut_flow.y,minCon. VOut_flow_normalized); connect(VOutMinSet_flow.y,minCon. VOutMinSet_flow_normalized); connect(fanStatus.y, minCon.u1SupFan); connect(operationMode.y,minCon. uOpeMod); connect(VOutMinSet_flow1.y, disMinCon.VOutMinSet_flow_normalized); connect(VOut_flow1.y, disMinCon.VOut_flow_normalized); connect(fanSta.y, disMinCon.u1SupFan); connect(opeMod.y, disMinCon.uOpeMod); connect(outDamPos.y, disMinCon.uOutDam); connect(supFanSpe.y, disMinCon.uSupFan); connect(VOutMinSet_flow2.y, disMinCon1.VOutMinSet_flow_normalized); connect(VOut_flow2.y, disMinCon1.VOut_flow_normalized); connect(fanSta1.y, disMinCon1.u1SupFan); connect(opeMod1.y, disMinCon1.uOpeMod); connect(outDamPos1.y, disMinCon1.uOutDam); connect(supFanSpe1.y, disMinCon1.uSupFan); connect(outDamPos2.y, minCon.uOutDam); connect(supFanSpe2.y, minCon.uSupFan); end SeparateWithAFMS;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.SeparateWithDP Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.SeparateWithDP

Validation model for the minimum outdoor air control - damper position limits for the units with separated outdoor air control

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.Validation.SeparateWithDP

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.SeparateWithDP for the following control signals: VOut_flow, VOutMinSet_flow.

Modelica definition

model SeparateWithDP "Validation model for the minimum outdoor air control - damper position limits for the units with separated outdoor air control" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.SeparateWithDP disMinCon( final venStd=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1, final dpDesMinOutDam=300, final minSpe=0.1) "Disable the minimum outdoor air control due to that the supply fan is not proven on"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.SeparateWithDP disMinCon1( final venStd=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1, final dpDesMinOutDam=300, final minSpe=0.1) "Disable the minimum outdoor air control due to that it is not in occupied mode"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Limits.SeparateWithDP minCon( final venStd=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1, final dpDesMinOutDam=300, final minSpe=0.1) "Multi zone VAV AHU minimum outdoor air control - damper position limits"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet_flow( final k=minVOutSet_flow) "Outdoor volumetric airflow rate setpoint, 15cfm/occupant and 100 occupants"; protected parameter Real minVOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.71 "Example volumetric airflow setpoint, 15cfm/occupant, 100 occupants"; parameter Real VOutMin_flow( final unit="m3/s", final quantity="VolumeFlowRate")=0.61 "Minimal measured volumetric airflow"; parameter Real incVOutSet_flow( final unit="m3/s", final quantity="VolumeFlowRate")=(minVOutSet_flow-VOutMin_flow)*2 "Maximum volumetric airflow increase during the example simulation"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanStatus( final k=true) "Fan is on"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant operationMode( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.occupied) "Operation mode is Occupied"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.occupied) "AHU operation mode is Occupied"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod1( final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.warmUp) "AHU operation mode is Occupied"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet_flow1( final k=minVOutSet_flow) "Outdoor airflow rate setpoint, 15cfm/occupant and 100 occupants"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanSta( final k=false) "Fan is off"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp outDamPos( final duration=1800, final offset=0.1, final height=0.5) "Outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant supFanSpe( final k=0) "Supply fan speed"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant VOutMinSet_flow2( final k=minVOutSet_flow) "Outdoor airflow rate setpoint, 15cfm/occupant and 100 occupants"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanSta1( final k=true) "Fan is on"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp outDamPos1( final duration=1800, final offset=0.1, final height=0.5) "Outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant supFanSpe1( final k=0.2) "Supply fan speed"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp outDamPos2( final duration=1800, final offset=0.1, final height=0.5) "Outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supFanSpe2( final height=0.5, final duration=1800, final offset=0.1) "Supply fan speed"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpDam( final duration=1800, final offset=250, final height=100) "Pressure accross outdoor air damper"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpDam1( final duration=1800, final offset=250, final height=100) "Pressure accross outdoor air damper"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpDam2( final duration=1800, final offset=120, final height=52) "Pressure accross outdoor air damper"; equation connect(VOutMinSet_flow.y,minCon. VOutMinSet_flow_normalized); connect(fanStatus.y, minCon.u1SupFan); connect(operationMode.y,minCon. uOpeMod); connect(VOutMinSet_flow1.y, disMinCon.VOutMinSet_flow_normalized); connect(fanSta.y, disMinCon.u1SupFan); connect(opeMod.y, disMinCon.uOpeMod); connect(outDamPos.y, disMinCon.uOutDam); connect(supFanSpe.y, disMinCon.uSupFan); connect(VOutMinSet_flow2.y, disMinCon1.VOutMinSet_flow_normalized); connect(fanSta1.y, disMinCon1.u1SupFan); connect(opeMod1.y, disMinCon1.uOpeMod); connect(outDamPos1.y, disMinCon1.uOutDam); connect(supFanSpe1.y, disMinCon1.uSupFan); connect(outDamPos2.y, minCon.uOutDam); connect(supFanSpe2.y, minCon.uSupFan); connect(dpDam.y, disMinCon.dpMinOutDam); connect(dpDam1.y, disMinCon1.dpMinOutDam); connect(dpDam2.y, minCon.dpMinOutDam); end SeparateWithDP;