Skip to content

Commit

Permalink
Simplify rule for how to break cycles
Browse files Browse the repository at this point in the history
  • Loading branch information
henrikt-ma committed Dec 8, 2020
1 parent 79d6210 commit fb341d9
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions chapters/classes.tex
Expand Up @@ -313,8 +313,8 @@ \subsection{Component Variability Prefixes discrete, parameter, constant}\label{
It does not have annotation \lstinline!Evaluate = false!.
\item
The expression of its declaration equation does not depend on \lstinline!vc! itself, neither directly nor via cyclic dependency on other parameters.
To satisfy this condition, dependencies shall be removed as needed by applying simplifications based on values of constants and other structural parameters that don't depend on \lstinline!vc! with \lstinline!Evaluate = true!.
% What about breaking cycles by simplification based on values of other evaluated structural parameters that don't have Evaluate = true?
To satisfy this condition, dependencies shall be removed as needed by applying simplifications based on values of constants (except with \lstinline!Evaluate = false!) and all other structural parameters that don't depend on \lstinline!vc!.
That the value of a structural parameter is used for these simplifications does not mean that it has to be determined during translation, but if \lstinline!vc! is found to be a structural parameter, then a Modelica tool will be able to break all cycles involving \lstinline!vc! by making some (possibly none or all) of the other structural parameters determined during translation.
(Note that certain uses of a parameter requires it to be a structural parameter, thereby forcing these simplifications to be made.)
\item
The declaration equation is given by a structural expression (\cref{structural-expressions}).
Expand Down

0 comments on commit fb341d9

Please sign in to comment.