BuildSysPro.IBPSA.ThermalZones.ReducedOrder.Validation.VDI6007.BaseClasses.VerifyDifferenceThreePeriods

# .BuildSysPro.IBPSA.ThermalZones.ReducedOrder.Validation.VDI6007.BaseClasses.VerifyDifferenceThreePeriods

Assert when condition is violated

## Information

Block that outputs `satisfied = false` if `abs(u1-u2) > threShold` within the prescribed time intervals, or `satisfied = true` otherwise.

#### Implementation

The test uses a hysteresis of plus/minus 1% in order to avoid chattering if `abs(u1-u2)` is near `threShold`.

The difference `abs(u1-u2)` is filtered with a first order filter with time constant `tau`. This guards against rounding errors in event handling by upstream signal-generating blocks.

## Revisions

- November 4, 2021, by Michael Wetter:
  Added filtering to guard against rounding errors in events of upstream signal generating blocks.
  This is for Buildings, #2713.
- September 7, 2018, by Michael Wetter:
  Rewrote inequality to turn a state into a time event for Dymola 2019FD01.
- December 16, 2016, by Michael Wetter:
  Reformulated model for https://github.com/ibpsa/modelica-ibpsa/issues/623.
- October 10, 2013, by Michael Wetter:
  Reformulated model to allow scheduling of time events as opposed to state events, and removed `noEvent` operator which is not needed as these are only time events.
- June 29, 2016, by Moritz Lauster:
  First implementation.

Generated at 2026-05-12T20:19:03Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos