Collection of validation models
Information
This package contains validation models for the classes in
Buildings.Utilities.Plotters.Examples.BaseClasses.
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.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name |
Description |
CoolingCoilValve
|
Validation model for the cooling coil valve control sequence |
Validation model for the cooling coil valve control sequence
Information
This model validates the cooling coil signal control sequece as implemented
in B33 on the main LBNL campus.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
Real | TOutCooCut | 283.15 | Lower outdoor air temperature limit for enabling cooling [F] |
Real | TSup | 293.15 | Supply air temperature [F] |
Real | TSupSet | 289.15 | Supply air temperature setpoint [F] |
Real | TSetMinLowLim | 278.71 | Minimum supply air temperature for defining the upper limit of the valve position [F] |
Real | TSetMaxLowLim | 283.15 | Maximum supply air temperature for defining the upper limit of the valve position [F] |
Real | LowTSupSet | 280.37 | Supply air temeprature setpoint to check the limiter functionality [F] |
Real | fanFee | 0.60 | Fan feedback [1] |
Modelica definition
model CoolingCoilValve
extends Modelica.Icons.Example;
parameter Real TOutCooCut(
final unit="F",
final quantity = "ThermodynamicTemperature") = 283.15
;
parameter Real TSup(
final unit="F",
final quantity = "ThermodynamicTemperature") = 293.15
;
parameter Real TSupSet(
final unit="F",
final quantity = "ThermodynamicTemperature") = 289.15
;
parameter Real TSetMinLowLim(
final unit="F",
final quantity = "ThermodynamicTemperature") = 278.71
;
parameter Real TSetMaxLowLim(
final unit="F",
final quantity = "ThermodynamicTemperature") = 283.15
;
parameter Real LowTSupSet(
final unit="F",
final quantity = "ThermodynamicTemperature") = 280.37
;
parameter Real fanFee(
final unit="1") = 0.60
;
Buildings.Utilities.Plotters.Examples.BaseClasses.CoolingCoilValve cooVal(
final reverseAction=true,
final alc_int_k=1/100)
;
Buildings.Utilities.Plotters.Examples.BaseClasses.CoolingCoilValve cooVal1(
final reverseAction=true,
final alc_int_k=1/100)
;
Buildings.Utilities.Plotters.Examples.BaseClasses.CoolingCoilValve cooVal2(
final reverseAction=true,
final alc_int_k=1/100)
;
Buildings.Utilities.Plotters.Examples.BaseClasses.CoolingCoilValve cooVal3(
final reverseAction=true,
final alc_int_k=1/100)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTOutAboveCutoff(
final k=TOutCooCut + 5)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTSup(
final k=TSup)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTSupSet(
final k=TSupSet)
;
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse uSupFan(
final period=900)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uFanFee(
final k=fanFee)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTOutBelowCutoff(
final k=TOutCooCut - 5)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTSup1(
final k=TSup)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTSupSet1(
final k=TSupSet)
;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant uSupFan1(
final k=true)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uFanFee1(
final k=fanFee)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTOutAboveCutoff2(
final k=TOutCooCut + 5)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTSupSet2(
final k=TSupSet)
;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant uSupFan2(
final k=true)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uFanFee2(
final k=fanFee)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp uTSup2(
final duration=1800,
final height=4,
final offset=TSupSet - 2,
final startTime=0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTOutAboveCutoff1(
final k=TOutCooCut + 5)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uTSupSet3(
final k=LowTSupSet)
;
Buildings.Controls.OBC.CDL.Logical.Sources.Constant uSupFan3(
final k=true)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp uTSup3(
final duration=1800,
final startTime=0,
final height=TSetMaxLowLim - TSetMinLowLim,
final offset=TSetMinLowLim)
;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant uFanFee3(
final k=fanFee)
;
equation
connect(uTSup.y, cooVal.TSup);
connect(uTSupSet.y, cooVal.TSupSet);
connect(uTOutAboveCutoff.y, cooVal.TOut);
connect(uFanFee.y, cooVal.uFanFee);
connect(cooVal.uFanSta, uSupFan.y);
connect(uTSup2.y, cooVal2.TSup);
connect(uTSupSet2.y, cooVal2.TSupSet);
connect(uTOutAboveCutoff2.y, cooVal2.TOut);
connect(uFanFee2.y, cooVal2.uFanFee);
connect(uSupFan2.y, cooVal2.uFanSta);
connect(uTSup1.y, cooVal1.TSup);
connect(uTSupSet1.y, cooVal1.TSupSet);
connect(uTOutBelowCutoff.y, cooVal1.TOut);
connect(uFanFee1.y, cooVal1.uFanFee);
connect(uSupFan1.y, cooVal1.uFanSta);
connect(uTSup3.y, cooVal3.TSup);
connect(uTSupSet3.y, cooVal3.TSupSet);
connect(uTOutAboveCutoff1.y, cooVal3.TOut);
connect(uFanFee3.y, cooVal3.uFanFee);
connect(uSupFan3.y, cooVal3.uFanSta);
end CoolingCoilValve;