Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify discrete and remove odd statement about Pantelides. #2887

Merged
merged 15 commits into from
Mar 19, 2021
11 changes: 3 additions & 8 deletions chapters/classes.tex
Original file line number Diff line number Diff line change
Expand Up @@ -383,14 +383,9 @@ \subsection{Component Variability Prefixes discrete, parameter, constant}\label{
definition equations is given in \cref{variability-of-expressions}.

\begin{nonnormative}
A discrete-time variable is a piecewise constant signal which
changes its values only at event instants during simulation. Such types
of variables are needed in order that special algorithms, such as the
algorithm of Pantelides for index reduction, can be applied (it must be
known that the time derivative of these variables is identical to zero).
Furthermore, memory requirements can be reduced in the simulation
environment, if it is known that a component can only change at event
instants.
A discrete-time variable is a piecewise constant signal which changes its values only at event instants during simulation.
There may be additional \lstinline!Real! variables that are piecewise constant without being declared as \lstinline!discrete!.
Those additional variables may not be used where a \lstininline!discrete! variable is required, but tools may optimize code to only compute them at events.
HansOlsson marked this conversation as resolved.
Show resolved Hide resolved
HansOlsson marked this conversation as resolved.
Show resolved Hide resolved

A \lstinline!parameter! variable is constant during simulation. This prefix gives the library designer the possibility to express that the physical equations in a library are only valid if some of the used components are constant during simulation. The same also holds for discrete-time and constant variables. Additionally, the \lstinline!parameter! prefix allows a convenient graphical user interface in an experiment environment, to support quick changes of the most important constants of a compiled model. In combination with an if-clause, a \lstinline!parameter! prefix allows removing parts of a model before the symbolic processing of a model takes place in order to avoid variable causalities in the model (similar to \lstinline!#ifdef! in C). Class parameters can be sometimes used as an alternative.

Expand Down