Delay
Delay applies a constant transport delay to each of \(M\) input channels:
Block Diagram

Figure 1: Delay model
Model Parameters
Symbol |
Units |
JSON |
Description |
Note |
|---|---|---|---|---|
\(M\) |
[-] |
|
Channel count |
Required, positive integer |
\(\boldsymbol{\tau}\) |
[s] |
|
Channel delays |
Required, each positive |
Parameter Validation
Model Derived Parameters
Model Ports
Symbol |
Port |
Type |
Units |
Description |
Note |
|---|---|---|---|---|---|
\(\mathbf{u}\) |
|
Input |
\([u]\) |
Input vector port |
\(\mathbf{u} \in \mathbb{R}^M\) |
\(\mathbf{y}\) |
|
Output |
\([u]\) |
Delayed output port |
\(\mathbf{y} \in \mathbb{R}^M\) |
The output provides both value and time derivative.
Submodels
None.
Submodel Validation
None.
Submodel Wiring
None.
Model Variables
History samples are implementation data, not DAE variables or residual rows.
Internal Variables
Differential
None.
Algebraic
None.
External Variables
Differential
None.
Algebraic
Symbol |
Units |
Description |
Note |
|---|---|---|---|
\(\mathbf{u}\) |
\([u]\) |
Input vector |
\(\mathbf{u} \in \mathbb{R}^M\) |
Model Equations
Internal Equations
Differential
None.
Algebraic
None.
External Equations
Each channel satisfies \(y_m(t)=u_m(t-\tau_m)\).
History Realization
History Record
Accepted input history is stored as the knot sequence
where \(\mathbf{u}_j\) and \(\mathbf{u}'_j\) are the input value and derivative at \(t_j\). The first knot holds the initialized values. Channels share knot times and read the record at \(t-\tau_m\) independently.

Figure 2: Delay history record and channel taps
Warning
Later knots are appended only at accepted steps, and the solver step size must not exceed \(\tau_{\min}\). These constraints keep every lookup at or behind the accepted frontier; the realization must not extrapolate beyond it.
Interpolation
Suppressing the channel index, a lookup at \(\xi \le 0\) uses the analytic prehistory. For \(\xi \in (t_j,t_{j+1}]\), the bracketing knots define the cubic Hermite interpolant
Its derivative comes from the same polynomial. For smooth input and exact knot data, the interpolant is \(C^1\) with nominal fourth-order value accuracy and third-order derivative accuracy in the knot spacing.
Initialization
A prehistory for \(\mathbf{u}(t)\) and \(\mathrm{d}\mathbf{u}/\mathrm{d}t\) must be specified over
Its endpoint value and derivative must match the initialized input at \(t_0\). The delay does not synthesize prehistory. At \(t_0\),
Monitors
None.