Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.Validation
Collection of validation models
Information
This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.
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 |
---|---|
Controller | Validation controller model |
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.Validation.Controller
Validation controller model
Information
This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.Controller.
Modelica definition
model Controller "Validation controller model"
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.Controller conAHU(
VPriSysMax_flow=0.35, peaSysPop=6) "Multizone VAV AHU controller";
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSetRooCooOn(
final k=273.15 + 24)
"Cooling on setpoint";
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSetRooHeaOn(
final k=273.15 + 20) "Heating on setpoint";
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TOutCut(
final k=297.15)
"Outdoor temperature high limit cutoff";
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TSup(
height=4,
duration=3600,
offset=273.15 + 14) "AHU supply air temperature";
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp VOut_flow(
duration=1800,
offset=0.02,
height=0.0168)
"Measured outdoor airflow rate";
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TMixMea(
height=4,
duration=1,
offset=273.15 + 2,
startTime=0)
"Measured mixed air temperature";
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine TOut(
amplitude=5,
offset=18 + 273.15,
freqHz=1/3600) "Outdoor air temperature";
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine ducStaPre(
offset=200,
amplitude=150,
freqHz=1/3600) "Duct static pressure";
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine2(
offset=3,
amplitude=2,
freqHz=1/9600) "Duct static pressure setpoint reset requests";
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sine3(
amplitude=6,
freqHz=1/9600)
"Maximum supply temperature setpoint reset";
Buildings.Controls.OBC.CDL.Continuous.Abs abs2
"Block generates absolute value of input";
Buildings.Controls.OBC.CDL.Continuous.Abs abs3
"Block generates absolute value of input";
Buildings.Controls.OBC.CDL.Continuous.Round round3(n=0)
"Round real number to given digits";
Buildings.Controls.OBC.CDL.Continuous.Round round4(n=0)
"Round real number to given digits";
Buildings.Controls.OBC.CDL.Conversions.RealToInteger ducPreResReq
"Convert real to integer";
Buildings.Controls.OBC.CDL.Conversions.RealToInteger maxSupResReq
"Convert real to integer";
Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod(
final k=Buildings.Controls.OBC.ASHRAE.G36_PR1.Types.OperationModes.occupied)
"AHU operation mode is occupied";
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant sumDesZonPop(
final k=5)
"Sum of design zone population";
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant sumDesPopBreZon(
final k=0.0125)
"Sum of the population component design breathing zone flow rate";
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant sumDesAreBreZon(
final k=0.03)
"Sum of the area component design breathing zone flow rate";
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant desSysVenEff(
final k=1)
"Design system ventilation efficiency";
Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse uncOutAir(
amplitude=0.01,
width=0.25,
period=3600,
offset=0.0375) "Sum of all zones required uncorrected outdoor airflow rate";
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp vavBoxFlo2(
offset=1,
height=0.5,
duration=3600)
"Ramp signal for generating VAV box flow rate";
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp vavBoxFlo1(
height=1.5,
offset=1,
duration=3600)
"Ramp signal for generating VAV box flow rate";
Buildings.Controls.OBC.CDL.Continuous.Add add2
"System primary airflow rate, equals to the sum of the measured discharged flow rate of all terminal units";
Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse uOutAirFra_max(
amplitude=0.005,
width=0.25,
period=3600,
offset=0.015)
"Maximum zone outdoor air fraction, equals to the maximum of primary outdoor air fraction of all zones";
equation
connect(TSetRooHeaOn.y, conAHU.TZonHeaSet);
connect(TSetRooCooOn.y, conAHU.TZonCooSet);
connect(TOut.y, conAHU.TOut);
connect(ducStaPre.y, conAHU.ducStaPre);
connect(sine2.y, abs3.u);
connect(abs3.y,round4. u);
connect(round4.y, ducPreResReq.u);
connect(sine3.y, abs2.u);
connect(abs2.y, round3.u);
connect(round3.y, maxSupResReq.u);
connect(opeMod.y, conAHU.uOpeMod);
connect(maxSupResReq.y, conAHU.uZonTemResReq);
connect(ducPreResReq.y, conAHU.uZonPreResReq);
connect(TMixMea.y, conAHU.TMix);
connect(VOut_flow.y, conAHU.VOut_flow);
connect(TOutCut.y, conAHU.TOutCut);
connect(TSup.y, conAHU.TSup);
connect(sumDesZonPop.y, conAHU.sumDesZonPop);
connect(sumDesPopBreZon.y, conAHU.VSumDesPopBreZon_flow);
connect(sumDesAreBreZon.y, conAHU.VSumDesAreBreZon_flow);
connect(desSysVenEff.y, conAHU.uDesSysVenEff);
connect(uncOutAir.y, conAHU.VSumUncOutAir_flow);
connect(vavBoxFlo2.y, add2.u1);
connect(vavBoxFlo1.y, add2.u2);
connect(add2.y, conAHU.VSumSysPriAir_flow);
connect(uOutAirFra_max.y, conAHU.uOutAirFra_max);
end Controller;