Skip to content

Commit

Permalink
Merge pull request #2486 from HansOlsson/ConnectorEquations
Browse files Browse the repository at this point in the history
Connector equations
  • Loading branch information
HansOlsson committed Feb 17, 2020
2 parents 59057f5 + 27bac7a commit b71dd84
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
12 changes: 8 additions & 4 deletions chapters/classes.tex
Original file line number Diff line number Diff line change
Expand Up @@ -817,11 +817,9 @@ \section{Specialized Classes}\doublelabel{specialized-classes}
of a record may not have prefixes \lstinline!input!, \lstinline!output!,
\lstinline!inner!, \lstinline!outer!, \lstinline!stream,!
or \lstinline!flow!. Enhanced with implicitly available record constructor function,
see \autoref{record-constructor-functions}. Additionally, record components can be used as
component references in expressions and in the left hand side of
assignments, subject to normal type compatibility rules. The components
see \autoref{record-constructor-functions}. The components
directly declared in a record may only be of specialized class record
and type.\\ \hline
or type.\\ \hline
\lstinline!type! & May only be predefined types, enumerations, array of
type, or classes extending from type.\\ \hline
\lstinline!model! & Identical to \lstinline!class!, the basic class concept, i.e., no
Expand Down Expand Up @@ -877,6 +875,12 @@ \section{Specialized Classes}\doublelabel{specialized-classes}
\end{lstlisting}
{]}\\ \hline
\end{longtable}
Additionally only components which are of specialized classes \lstinline!record!, \lstinline!type!, \lstinline!operator record!, and
connector classes based on any of those can be used as component references in normal expressions and in the left hand
side of assignments, subject to normal type compatibility rules.
Additionally components of connectors may be arguments of connect-statements,
and any component can be used as argument to the \lstinline!ndims! and \lstinline!size!-functions, or for accessing
elements of that component (possibly in combination with array indexing).
{[}\emph{Example for ''operator'': }
\begin{lstlisting}[language=modelica]
Expand Down
5 changes: 4 additions & 1 deletion chapters/connectors.tex
Original file line number Diff line number Diff line change
Expand Up @@ -733,7 +733,7 @@ \section{Restrictions of Connections and Connectors}\doublelabel{restrictions-of

\subsection{Balancing Restriction and Size of Connectors}\doublelabel{balancing-restriction-and-size-of-connectors}

For each non-partial connector class the number of flow variables shall
For each non-partial non-expandable connector class the number of flow variables shall
be equal to the number of variables that are neither \lstinline!parameter!,
\lstinline!constant!, \lstinline!input!, \lstinline!output!, \lstinline!stream!
nor \lstinline!flow!. The ``number of variables'' is
Expand All @@ -742,6 +742,9 @@ \subsection{Balancing Restriction and Size of Connectors}\doublelabel{balancing-
variables of an overdetermined type or record class (see \autoref{overconstrained-equation-operators-for-connection-graphs})
is the size of the output argument of the corresponding
\lstinline!equalityConstraint!() function.
\begin{nonnormative}
Expandable connector classes are excluded from this, since their component declarations are only a form of constraint.
\end{nonnormative}

{[}\emph{Examples:}

Expand Down

0 comments on commit b71dd84

Please sign in to comment.