A powerport is always characterized by two variables. One of these variables should be an input and one of these variables should be an output. The choice of input and output variable is called causality. In the Interface Editor you can set the causality of the ports of a submodel. The following causal forms can be chosen:
1. | Fixed out: One of the two variables is always an output variable. |
2. | Preferred out: One of the two variables is preferably an output variable. |
3. | Likes: Same as preferred out but with lower priority: one of the two variables is preferably an output variable |
4. | Indifferent: A powerport with an indifferent causality restriction can have both variables as output. |
During processing, the assignment of the causal forms goes with the rank in the list. First all elements with a fixed out assignment are set, then the elements with a preferred out assignment, then with a likes assignment and finally with an indifferent assignment.
If you select the top of the list in the Interface Editor, you can choose the Port Relations tab to set multiple port restrictions:
• | Equal / Not equal: The equal and not equal restrictions can be used to specify that a powerport p1 must have the same or opposite causality as powerport p2. This is denoted as p1 equal p2 and p1 notequal p2 respectively. |
• | One_out: The restriction One_out should only be used for bond graph ports. It is used to indicate that at a one or zero junction, only one bond may have an effort out causality. |
• | One_in: The constraint restriction One_in should only be used for bond graph ports. It is used to indicate that at a one or zero junction, only one bond may have an effort in causality. |
In the Editor this causality can be made visible by setting the Causality Info command from the View menu.