Buildings.Controls.OBC.CDL.Continuous.Sources.Validation

Collection of models that validate the continuous sources blocks of the CDL

Information

This package contains models that validate the blocks in Buildings.Controls.OBC.CDL.Continuous.Sources.

The examples plot various outputs, which have been verified against analytical solutions. These model outputs are stored as reference data to allow continuous validation whenever models in the library change.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths CalendarTimeMonths Validation model for the calendar time model
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonthsMinus CalendarTimeMonthsMinus Validation model for the calendar time model with start time slightly below the full hour
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonthsPlus CalendarTimeMonthsPlus Validation model for the calendar time model with start time slightly higher than the full hour
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Constant Constant Validate the Constant block
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Pulse Pulse Validation model for the Pulse block
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Ramp Ramp Validation model for the Ramp
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Sine Sine Validation model for Sine
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.StandardTime StandardTime Test model for the StandardTime block
Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.TimeTable TimeTable Validation model for TimeTable block

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths

Validation model for the calendar time model

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths

Information

This model validates the use of the Buildings.Controls.OBC.CDL.Continuous.Sources.CalendarTime block for a period of a couple of months. This shorter simulation time has been selected to store the reference results that are used in the regression tests at a resulation that makes sense for the minute and hour outputs.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model CalendarTimeMonths "Validation model for the calendar time model" extends Modelica.Icons.Example; Buildings.Controls.OBC.CDL.Continuous.Sources.CalendarTime calTim(zerTim= Buildings.Controls.OBC.CDL.Types.ZeroTime.NY2017) "Computes date and time assuming time=0 corresponds to new year 2017"; end CalendarTimeMonths;

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonthsMinus Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonthsMinus

Validation model for the calendar time model with start time slightly below the full hour

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonthsMinus

Information

This model validates the use of the Buildings.Controls.OBC.CDL.Continuous.Sources.CalendarTime. It is identical to Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths except that the start and end time are different.

Extends from Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths (Validation model for the calendar time model).

Modelica definition

model CalendarTimeMonthsMinus "Validation model for the calendar time model with start time slightly below the full hour" extends Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths; end CalendarTimeMonthsMinus;

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonthsPlus Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonthsPlus

Validation model for the calendar time model with start time slightly higher than the full hour

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonthsPlus

Information

This model validates the use of the Buildings.Controls.OBC.CDL.Continuous.Sources.CalendarTime. It is identical to Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths except that the start and end time are different.

Extends from Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths (Validation model for the calendar time model).

Modelica definition

model CalendarTimeMonthsPlus "Validation model for the calendar time model with start time slightly higher than the full hour" extends Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.CalendarTimeMonths; end CalendarTimeMonthsPlus;

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Constant Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Constant

Validate the Constant block

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Constant

Information

Validation test for the block Buildings.Controls.OBC.CDL.Continuous.Sources.Constant.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Constant "Validate the Constant block" extends Modelica.Icons.Example; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con(k=2.5) "Block output real constant value"; end Constant;

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Pulse Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Pulse

Validation model for the Pulse block

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Pulse

Information

Validation test for the block Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Pulse "Validation model for the Pulse block" extends Modelica.Icons.Example; Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse pulse( amplitude=2.0, width=0.5, offset=0.2, period=1) "Block that generates pulse signal of type Real"; end Pulse;

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Ramp Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Ramp

Validation model for the Ramp

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Ramp

Information

Validation test for the block Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Ramp "Validation model for the Ramp" extends Modelica.Icons.Example; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ram( height=2, duration=3, offset=0.5, startTime=1.0) "Block that generates ramp signal"; end Ramp;

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Sine Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Sine

Validation model for Sine

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.Sine

Information

Validation test for the block Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Sine "Validation model for Sine" extends Modelica.Icons.Example; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin( amplitude=5, freqHz=1/60, phase=0, offset=10, startTime=10) "Sine source block"; end Sine;

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.StandardTime Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.StandardTime

Test model for the StandardTime block

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.StandardTime

Information

This model tests the implementation of the block that outputs the model time.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model StandardTime "Test model for the StandardTime block" extends Modelica.Icons.Example; Buildings.Controls.OBC.CDL.Continuous.Sources.ModelTime staTim "Standard time"; end StandardTime;

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.TimeTable Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.TimeTable

Validation model for TimeTable block

Buildings.Controls.OBC.CDL.Continuous.Sources.Validation.TimeTable

Information

This model validates the TimeTable block. It takes as a parameter a time table of the format

table = [ 0*3600, 0;
          6*3600, 1;
         18*3600, 0.5;
         24*3600, 0];

The block timTabLin applies smoothness method of linear segments between table points, periodically repeat the table scope.

The block timTabLinHol applies smoothness method of linear segments between table points, hold the last table points when it becomes outside of table scope.

The block timTabLinDer applies smoothness method of linear segments between table points, extrapolate by using the derivative at the last table points to find points outside the table scope.

The block timTabCon applies smoothness method of constant segments between table points, periodically repeat the table scope.

The block timTabLinCon applies smoothness method of linear segments between table points, periodically repeat the table scope. Table points is different so to ensure constant zero during time range of (0*3600, 6*36000).

table = [ 0*3600, 0;
          6*3600, 0;
          6*3600, 1;
         18*3600, 0.5;
         24*3600, 0];

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model TimeTable "Validation model for TimeTable block" extends Modelica.Icons.Example; Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin(smoothness= Buildings.Controls.OBC.CDL.Types.Smoothness.LinearSegments, table=[0, 0; 6*3600, 1; 18*3600, 0.5; 24*3600, 0]) "Time table with smoothness method of linear segments"; Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLinHol( smoothness=Buildings.Controls.OBC.CDL.Types.Smoothness.LinearSegments, extrapolation=Buildings.Controls.OBC.CDL.Types.Extrapolation.HoldLastPoint, table=[0, 0; 6*3600, 1; 18*3600, 0.5; 24*3600, 0]) "Time table with smoothness method of linear segments, hold first and last value"; Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLinDer( smoothness=Buildings.Controls.OBC.CDL.Types.Smoothness.LinearSegments, extrapolation=Buildings.Controls.OBC.CDL.Types.Extrapolation.LastTwoPoints, table=[0, 0; 6*3600, 1; 18*3600, 0.5; 24*3600, 0]) "Time table with smoothness method of linear segments, extrapolate with der"; Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabCon(smoothness= Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0, 0; 6*3600, 1; 18*3600, 0.5; 24*3600, 0]) "Time table with smoothness method of constant segments"; Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLinCon( smoothness=Buildings.Controls.OBC.CDL.Types.Smoothness.LinearSegments, table=[0, 0; 6*3600, 0; 6*3600, 1; 18*3600, 0.5; 24*3600, 0]) "Time table with smoothness method of linear segments"; end TimeTable;