
Found an issue with the book? Report it on Github.
As we have seen several times already, Modelica definitions share a
considerable amount of syntactic similarity. This is just as true
with connector definitions.
The general syntax for a connector definition is:
connector ConnectorName "Description of the connector"
// Declarations for connector variables
end ConnectorName;
Unlike a model or function, a connector is not allowed to
include any behavior. So there can never be an equation or
algorithm section present in a connector.
In our previous discussion of Block Connectors, we showed that
variables within a Modelica connector definition can have a
causality associated with them. If the signal is expected to be
computed externally, then the variable should have the input
qualifier associated with it. If, on the other hand, a signal is
expected to be computed internally (and then transmitted to other
components), it should have the output qualifier associated with
it.
In our discussion of Simple Domains and
Fluid Connectors, we saw numerous examples of connector
definitions that included through and across variables. These
variables always occurred in pairs with the through variable being
prefixed by the flow qualifier while the across variable had not
qualifier associated with it.
As we will see in the coming chapters, such connector definitions are very convenient when modeling physical systems because they enable the Modelica compiler to automatically generate conservation equations for networks of components. Furthermore, they allow quantities like, mass, momentum, energy, charge, species and so on to flow bi-directionally through a network.
A variable in a connector definition can also have the
parameter qualifier associated with it. This qualifier means the
same thing that it meant when we first discussed Parameters,
i.e., the value of the variable cannot change during a simulation.
A parameter variable is frequently used in connector definitions
to indicate the size of an array contained in the connector.
It should be noted that a connector definition can mix causal,
acausal and parameter variables all in the same connector. In fact, a
variable in a connector can itself be a connector as well. This
richness of expressiveness in Modelica allows users to model a range
of different types of interactions and choose, on a variable by
variable basis, the semantics that make the most sense for each
potential interaction.