Skip to content

Commit

Permalink
Describe a new concept "simple connector" that is not balanced. (mode…
Browse files Browse the repository at this point in the history
…lica#3356)

* Describe a new concept "simple connector" that is not balanced.
Proposal to resolve modelica#3347
Closes modelica#3347

Co-authored-by: Elena Shmoylova <eshmoylova@users.noreply.github.com>
  • Loading branch information
HansOlsson and eshmoylova committed Apr 18, 2023
1 parent b82222d commit fa5d776
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion chapters/connectors.tex
Expand Up @@ -616,12 +616,17 @@ \section{Restrictions of Connections and Connectors}\label{restrictions-of-conne

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

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!.
For each non-partial non-simple 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 \emph{number of variables} is the number of all elements in the connector class after expanding all records and arrays to a set of scalars of primitive types.
The number of variables of an overdetermined type or record class (see \cref{overconstrained-equation-operators-for-connection-graphs}) is the size of the output argument of the corresponding \lstinline!equalityConstraint!() function.
A simple connector class is not expandable, has some time-varying variables, and has neither \lstinline!input!, \lstinline!output!, \lstinline!stream! nor \lstinline!flow! variables.
\begin{nonnormative}
Expandable connector classes are excluded from this, since their component declarations are only a form of constraint.
\end{nonnormative}
A component of a simple connector class must be declared as \lstinline!input!, \lstinline!output!, or \lstinline!protected!.
\begin{nonnormative}
A simple connector class is thus always unbalanced, but since it is used with causality or not visible to the outside it does not unbalance the model.
\end{nonnormative}

\begin{example}
\begin{lstlisting}[language=modelica]
Expand Down

0 comments on commit fa5d776

Please sign in to comment.