IEA EBC Annex 60 EBC logo

Annex60.Utilities.Diagnostics

Library with models to diagnose model errors

Information

This package contains components models for run-time diagnostics. The models in this package can be used to stop a simulation if a test is violated.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Annex60.Utilities.Diagnostics.AssertEquality AssertEquality Assert when condition is violated
Annex60.Utilities.Diagnostics.AssertInequality AssertInequality Assert when condition is violated
Annex60.Utilities.Diagnostics.BaseClasses BaseClasses Package with base classes for Annex60.Utilities.Diagnostics

Annex60.Utilities.Diagnostics.AssertEquality Annex60.Utilities.Diagnostics.AssertEquality

Assert when condition is violated

Annex60.Utilities.Diagnostics.AssertEquality

Information

Model that triggers an assert if |u1-u2| > threShold and t > t0.

Extends from BaseClasses.PartialInputCheck (Assert when condition is violated).

Parameters

TypeNameDefaultDescription
TimestartTime0Start time for activating the assert [s]
RealthreShold1E-2Threshold for equality comparison
Stringmessage"Inputs differ by more than ... 

Connectors

TypeNameDescription
input RealInputu1Value to check
input RealInputu2Value to check

Modelica definition

block AssertEquality "Assert when condition is violated" extends BaseClasses.PartialInputCheck(message = "Inputs differ by more than threShold"); equation if noEvent(time > t0) then assert(noEvent(abs(u1 - u2) < threShold), message + "\n" + " time = " + String(time) + "\n" + " u1 = " + String(u1) + "\n" + " u2 = " + String(u2) + "\n" + " abs(u1-u2) = " + String(abs(u1-u2)) + "\n" + " threShold = " + String(threShold)); end if; end AssertEquality;

Annex60.Utilities.Diagnostics.AssertInequality Annex60.Utilities.Diagnostics.AssertInequality

Assert when condition is violated

Annex60.Utilities.Diagnostics.AssertInequality

Information

Model that triggers an assert if u1 > u2 - threShold and t > t0.

Extends from BaseClasses.PartialInputCheck (Assert when condition is violated).

Parameters

TypeNameDefaultDescription
TimestartTime0Start time for activating the assert [s]
RealthreShold0Threshold for equality comparison
Stringmessage"Inputs differ by more than ... 

Connectors

TypeNameDescription
input RealInputu1Value to check
input RealInputu2Value to check

Modelica definition

block AssertInequality "Assert when condition is violated" extends BaseClasses.PartialInputCheck(message = "Inputs differ by more than threShold", threShold = 0); equation if noEvent(time > t0) then assert(noEvent(u1 > u2 - threShold), message + "\n" + " time = " + String(time) + "\n" + " u1 = " + String(u1) + "\n" + " u2 = " + String(u2) + "\n" + " abs(u1-u2) = " + String(abs(u1-u2)) + "\n" + " threShold = " + String(threShold)); end if; end AssertInequality;

http://iea-annex60.org