Collection of validation models
Information
This package contains validation models for the classes in
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.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 |
ExhaustDamper
|
Validate the controller of an actuated exhaust damper without fan |
OutsideAirFlow
|
Validate the model of calculating minimum outdoor airflow setpoint |
ReturnFanDirectPressure
|
Validate model for calculating return fan control with direct building pressure
of multi zone VAV AHU |
VAVSupplyFan
|
Validate VAVSupplyFan |
VAVSupplyTemperature
|
Validate model for calculating supply air temperature of multi zone VAV AHU |
Valve
|
Validate model for controlling coil valve postion of multi zone VAV AHU |
Validate the controller of an actuated exhaust damper without fan
Information
This example validates
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.ExhaustDamper.
Modelica definition
Validate the model of calculating minimum outdoor airflow setpoint
Information
This example validates
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.OutsideAirFlow.
Parameters
Type | Name | Default | Description |
Integer | numZon | 5 | Total number of zones that the system serves |
Modelica definition
model OutsideAirFlow
parameter Integer numZon = 5 ;
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.OutsideAirFlow
outAirSet_MulZon(numZon=numZon,
AFlo=
fill(40, numZon),
maxSysPriFlo=1,
minZonPriFlo=
fill(0.08, numZon),
peaSysPop=20)
;
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.OutsideAirFlow
outAirSet_MulZon1(
numZon=numZon,
AFlo=
fill(40, numZon),
maxSysPriFlo=1,
minZonPriFlo=
fill(0.08, numZon),
peaSysPop=20,
have_occSen=false,
have_winSen=false)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant zonPriFloRat[numZon](
k={0.1,0.12,0.2,0.09,0.1})
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp numOfOcc1(
height=2,
duration=3600)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp numOfOcc2(
duration=3600,
height=3)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp numOfOcc3(
duration=3600,
height=3,
startTime=900) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp numOfOcc4(
duration=3600,
startTime=900,
height=2) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp numOfOcc5(
duration=3600,
startTime=0,
height=-3,
offset=3) ;
protected
Buildings.Controls.OBC.CDL.Logical.Sources.Constant winSta[numZon](
k=
fill(false,numZon))
;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant supFan(
k=true) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TZon[numZon](
each height=6,
each offset=273.15 + 17,
each duration=3600) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TDis[numZon](
each height=4,
each duration=3600,
each offset=273.15 + 18) ;
Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod(
final k=Buildings.Controls.OBC.ASHRAE.G36_PR1.Types.OperationModes.occupied)
;
equation
connect(winSta.y, outAirSet_MulZon.uWin);
connect(supFan.y, outAirSet_MulZon.uSupFan);
connect(zonPriFloRat.y, outAirSet_MulZon.VBox_flow);
connect(TZon.y, outAirSet_MulZon.TZon);
connect(TDis.y,outAirSet_MulZon.TDis);
connect(numOfOcc1.y, outAirSet_MulZon.nOcc[1]);
connect(numOfOcc2.y, outAirSet_MulZon.nOcc[2]);
connect(numOfOcc3.y, outAirSet_MulZon.nOcc[3]);
connect(numOfOcc4.y, outAirSet_MulZon.nOcc[4]);
connect(numOfOcc5.y, outAirSet_MulZon.nOcc[5]);
connect(opeMod.y, outAirSet_MulZon.uOpeMod);
connect(zonPriFloRat.y, outAirSet_MulZon1.VBox_flow);
connect(opeMod.y, outAirSet_MulZon1.uOpeMod);
connect(supFan.y, outAirSet_MulZon1.uSupFan);
connect(TDis.y, outAirSet_MulZon1.TDis);
connect(TZon.y, outAirSet_MulZon1.TZon);
end OutsideAirFlow;
Validate model for calculating return fan control with direct building pressure
of multi zone VAV AHU
Information
This example validates
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.ReturnFanDirectPressure
for exhaust air damper and return fan control with direct building pressure measurement
for systems with multiple
zones.
Modelica definition
Validate VAVSupplyFan
Information
This example validates
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.VAVSupplyFan.
Modelica definition
model VAVSupplyFan
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.VAVSupplyFan
conSupFan(numZon=4,
Td=1,
controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI,
maxSet=400,
k=0.001,
Ti=10) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ram(
duration=28800,
height=6) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp vavBoxFlo1(
duration=28800,
height=1.5,
offset=1) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp vavBoxFlo2(
duration=28800,
offset=1,
height=0.5) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp vavBoxFlo3(
duration=28800,
height=1,
offset=0.3) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp vavBoxFlo4(
duration=28800,
height=1,
offset=0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine(
freqHz=1/14400,
offset=3,
amplitude=2) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine1(
freqHz=1/14400,
offset=200,
amplitude=150) ;
Buildings.Controls.OBC.CDL.Continuous.Abs abs
;
Buildings.Controls.OBC.CDL.Continuous.Abs abs1
;
Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0)
;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1
;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2
;
Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0)
;
equation
connect(vavBoxFlo1.y, conSupFan.VBox_flow[1]);
connect(vavBoxFlo2.y, conSupFan.VBox_flow[2]);
connect(vavBoxFlo3.y, conSupFan.VBox_flow[3]);
connect(vavBoxFlo4.y, conSupFan.VBox_flow[4]);
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);
end VAVSupplyFan;
Validate model for calculating supply air temperature of multi zone VAV AHU
Information
This example validates
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.VAVSupplyTemperature
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 VAVSupplyTemperature
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.VAVSupplyTemperature
conTSetSup
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant setZonTem(
k=22.5 + 273.15) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine outTem(
amplitude=5,
freqHz=1/86400,
offset=18 + 273.15) ;
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFanSta(period=43200)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp opeMod(
offset=1,
height=1,
duration=90000) ;
Buildings.Controls.OBC.CDL.Continuous.Abs abs
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine(
amplitude=6, freqHz=1/86400)
;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1
;
Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0)
;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2
;
Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0)
;
equation
connect(supFanSta.y, conTSetSup.uSupFan);
connect(outTem.y, conTSetSup.TOut);
connect(setZonTem.y, conTSetSup.TSetZones);
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, conTSetSup.uZonTemResReq);
connect(reaToInt2.y, conTSetSup.uOpeMod);
end VAVSupplyTemperature;
Validate model for controlling coil valve postion of multi zone VAV AHU
Information
This example validates
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.VAVSupplySignals
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 Valve
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.VAVSupplySignals
AHUValve
;
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFanSta(period=7200)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine TSup(
amplitude=2,
offset=16 + 273.15,
freqHz=1/7200) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TSupSet(
height=3,
duration=7200,
offset=15 + 273.15)
;
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.SetPoints.VAVSupplySignals
AHUValve1
;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanOn(k=true) ;
equation
connect(TSupSet.y, AHUValve.TSetSup);
connect(TSup.y, AHUValve.TSup);
connect(supFanSta.y, AHUValve.uSupFan);
connect(TSupSet.y, AHUValve1.TSetSup);
connect(TSup.y, AHUValve1.TSup);
connect(fanOn.y, AHUValve1.uSupFan);
end Valve;