Collection of validation models
Information
This package contains validation models for the classes in
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.
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
|
Validate model for controlling VAV terminal box with reheat |
ModeAndSetPoints
|
Validation models of reseting zone setpoint temperature |
Validate model for controlling VAV terminal box with reheat
Information
This example validates
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Controller.
Modelica definition
model Controller
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Controller
con(
AFlo=50,
samplePeriod=120,
V_flow_nominal=(50*3/3600)*6)
;
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Controller
con1(
AFlo=50,
samplePeriod=120,
V_flow_nominal=(50*3/3600)*6,
have_occSen=true,
have_winSen=true,
have_CO2Sen=true)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSetRooCoo(k=273.15 + 24)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp disAirFlo(
offset=0.02,
height=0.0168,
duration=3600) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TZon(
height=6,
offset=273.15 + 17,
duration=3600) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TDis(
height=4,
duration=3600,
offset=273.15 + 18) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TSup(
height=4,
duration=3600,
offset=273.15 + 14) ;
Buildings.Controls.OBC.CDL.Integers.Sources.Constant opeMod(
final k=Buildings.Controls.OBC.ASHRAE.G36_PR1.Types.OperationModes.occupied)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TSetRooHea(k=273.15 + 20)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ppmCO2(
duration=3600,
height=800,
offset=200) ;
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse winSta(period=3600)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp nOcc(
height=5,
duration=4800,
offset=0) ;
Buildings.Controls.OBC.CDL.Continuous.Round rou(n=0) ;
equation
connect(TSetRooHea.y, con.TRooHeaSet);
connect(TSetRooCoo.y, con.TRooCooSet);
connect(disAirFlo.y, con.VDis);
connect(TZon.y, con.TRoo);
connect(TDis.y, con.TDis);
connect(TSup.y, con.TSupAHU);
connect(opeMod.y, con.uOpeMod);
connect(nOcc.y, rou.u);
connect(rou.y, con1.nOcc);
connect(ppmCO2.y, con1.ppmCO2);
connect(winSta.y, con1.uWin);
connect(TSetRooHea.y, con1.TRooHeaSet);
connect(TSetRooCoo.y, con1.TRooCooSet);
connect(disAirFlo.y, con1.VDis);
connect(TZon.y, con1.TRoo);
connect(TDis.y, con1.TDis);
connect(TSup.y, con1.TSupAHU);
connect(opeMod.y, con1.uOpeMod);
end Controller;
Validation models of reseting zone setpoint temperature
Information
This example validates
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.ModeAndSetPoints.
Modelica definition
model ModeAndSetPoints
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.ModeAndSetPoints
setPoi(
numZon=2,
cooAdj=true,
heaAdj=true)
;
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.ModeAndSetPoints
setPoi1(
numZon=2,
have_occSen=true,
have_winSen=true)
;
Buildings.Controls.SetPoints.OccupancySchedule occSch ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine heaSetAdj[2](
each freqHz=1/28800,
each amplitude=0.5)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine cooSetAdj[2](
each freqHz=1/28800)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine TZon1(
amplitude=5,
offset=18 + 273.15,
freqHz=1/86400) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine TZon2(
offset=18 + 273.15,
freqHz=1/86400,
amplitude=7.5) ;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant winSta1(k=false)
;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant winSta2(k=true)
;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant occSen1(k=false)
;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant occSen2(k=true)
;
equation
connect(occSch.tNexOcc, setPoi.tNexOcc);
connect(occSch.occupied, setPoi.uOcc);
connect(TZon1.y, setPoi.TZon[1]);
connect(TZon2.y, setPoi.TZon[2]);
connect(cooSetAdj.y, setPoi.setAdj);
connect(heaSetAdj.y, setPoi.heaSetAdj);
connect(occSch.tNexOcc, setPoi1.tNexOcc);
connect(occSch.occupied, setPoi1.uOcc);
connect(TZon1.y, setPoi1.TZon[1]);
connect(TZon2.y, setPoi1.TZon[2]);
connect(occSen1.y, setPoi1.uOccSen[1]);
connect(occSen2.y, setPoi1.uOccSen[2]);
connect(winSta1.y, setPoi1.uWinSta[1]);
connect(winSta2.y, setPoi1.uWinSta[2]);
end ModeAndSetPoints;