blockPre
Breaks algebraic loops by adding a delay of the output without advancing time (y = pre(u): event iteration continues until u = pre(u))
Information
This block delays the Boolean input by an infinitesimal small time delay and therefore breaks algebraic loops. In a network of logical blocks, in every closed connection loop, at least one logical block must have a delay, since algebraic systems of Boolean equations are not solvable.
This block returns the value of the input signal u from the
last event iteration. The event iteration stops once both
values are identical, i.e., if u = pre(u).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | pre_u_start | false | Start value of pre(u) at initial time |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u | Input to be delayed by one event iteration | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y | Input delayed by one event iteration |
Revisions
-
July 17, 2026, by Antoine Gautier:
Replaced initial equation with start attribute on input. This is for IBPSA, #2136. -
May 24, 2017, by Milica Grahovac:
First CDL implementation.