Creating a model
Dealing with causality
When you create a system, you link different components together at their ports. Each port exchanges several variables in both directions, some as inputs, others as outputs. An output variable is colored green; an input variable is colored red.
A connection between the ports of two components is only possible if the inputs at the port of one component correspond to the outputs at the port of the other component. That is, a variable defined as output on one port (green) must be defined as input on the other port (red). This variable matching and directional requirement is known as port causality.
Figure 3: Incompatible ports
In this example, the ports of the spring submodel are incompatible with those of the worm gear, as you can see by looking at the external variables of each component. The spring component requires velocity and displacement as inputs (shown with red arrows) and computes the force (shown with the green arrow). Port 3 of the the worm gear also requires velocity and displacement as inputs, and outputs the force, and hence is not compatible.
Figure 4: Spring submodel ports
Figure 5: Worm gear submodel ports
An arrangement that would allow a spring to be connected with one port of the worm gear is shown below, where the spring is first connected to a mass.
Figure 6: Worm gear connected with a spring
Below we present some examples of port causality:
Linear causality
Can I connect a mass with a spring? Yes.
Can I connect a mass with a damper? Yes.
Can I connect a spring with another spring? No.
Can I connect a mass with another mass? No.
Rotary causality
Can I connect a rotary load to a rotary spring? Yes.
Can I connect a rotary load with a rotary damper? Yes.
Can I connect a rotary spring with another rotary spring? No.
Can I connect a rotary load with another rotary load? No.
Can I connect a mass with a rotary spring? No.
Source: https://docs.sw.siemens.com/en-US/doc/254352342/PL20250521841123434.amesim_collection.Quick_Start/xid2248551 · retrieved 2026-07-17