Assigning Causality in the Case of Algebraic Loops by
and J.WOLPER
F. LORENZ
Mechanical
Institute
(C3), University
of Liege, Liege, Belgium
When, during causality assignment in bond graph modelling, one is faced with a causality indetermination, one is told to assign “arbitrary” causalities. No rule is given to help except of course that of consistency. However, the dtxerent consistent causal assignments do not necessary lead to the same algorithm ejiciency. Some very simple assignment rules can directly lead to an optimal solution. These rules are particularly useful when causalities are assigned by a computer program.
ABSTRACT:
I. Introduction After causality has been assigned to all the sources and storage elements of a bond graph, and extended as far as possible into the junction structure, some of the dissipative elements may still be causally undetermined. It is well known that such a situation illustrates the presence of algebraic loops (1). Generally, we are told to assign an “arbitrary” causality to one of those elements, to extend that causality into the junction structure and to repeat the process until every bond has its causality assigned. That simple rule works perfectly well when the causality assignment is made by hand and may also be implemented in a computer program through the use of random functions or through an elementary precedence rule. But the question is : Is any choice equally efficient? Our purpose here is to show that it is not and that certain rules are required to improve computing efficiency. The background program is MOPS (modelling of pluridisciplinar systems, Lorenz, under development) which is, like CAMP (computer aided modeling program (2)) a preprocessor, generating an input file for a continuous system simulation language, i.e. CSSL IV (3) in the case of MOPS. Like ENPORT (4) and CAMP, program MOPS is designed to assign automatically the causalities to the studied bond graph.
ZZ.Definitions We will use the definitions (i) External (another (ii) Element stroke is
given by Ort and Martens
(6) :
(internal) bond: a bond which connects a junction to an element junction). (junction) causal: a bond is element (junction) causal if the causal located on the bond end directed toward an element (a junction).
The Franklm Institute 0016~003?:85$3OO+O.OO
237
F. Lorenz and J. Wolper
(iii) Strong (weak) causal determination : a bond gives a junction it is connected to a strong (weak) causal determination if the causal assignment on the bond is such that the common variable on the junction is (not) determined by this bond. We would also like to clarify the distinction between topological, algebraic and computational loops. Topological loops are the loops (as defined by the graph theory) which can be found in a signal flow graph. Brown (6) showed that these loops can be easily located in a bond graph augmented with causal strokes in which they appear as a series of “causal arrows”, pointing in one direction, like a one-way road (except if reversed by GY junctions). The sources must not be considered here. The topological loops are algebraic loops if they contain no integrator, i.e. no storage elements. It will be assumed in this paper that all algebraic loops will be solved by a local time independent computational loop, implying the breaking of the loop on a selected variable. That method is certainly not the only one (algebraic loops can be made artificially time dependent for solving; see (7)) and certainly not the best one in the case of linear systems (for which an analytical solution is easily generated) but it may often be the only practical one for real (nonlinear) systems, in which the loop gain may vary and even cross one border under different operating conditions (one laminar and one turbulent resistor in parallel for instance). Now, causal uncertainties show the existence of algebraic loops but the number of computational loops (and thus the computing efficiency) necessary to solve the system of algebraic loops is critically dependent on the way the missing causalities will be assigned. We find that this number is equal to the number of arbitrary causality assignments, but there is no proof of this fact. ZZZ.Searching for a Rule We will consider bond graphs as simple as possible and write only linear equations since the only purpose of the examples is to illustrate the ideas. We will also use for the moment the arbitrary rule to choose element causal bonds when a causal uncertainty occurs. Any of the two variables associated with that bond may serve to break the computational loop. Consider the example of Fig. l(A), in which we chose an element causal assignment on the bond of element Rl. The corresponding equations are given in Fig, l(B) while Fig. l(C) presents the equivalent signal flow graph. The topological loop is immediately visible on that signal graph, the absence of integrator indicating that it is an algebraic loop. We can
(A)
CR)
(Cl
FIG. 1. 238
Journal of the Frankhn lnst~tute Pergamon Press Ltd.
Causality
(I41
(P)
Assignment
(Cl
FIG. 2.
then break the computational loop on any of thef, or e variables (evenf, could be used). The other causality assignment leads to a similar situation. Consider now the example of Fig. 2. Once again, we chose an element causal assignment on the bond of element Rl and arbitrarily broke the computational loop onfi. However, we then discover that there is still a causal uncertainty so we repeat the process with the bond of R3, and state the conclusion that we need two nested computational loops to solve the problem. A look at Fig. 2(B) and (C) shows clearly that two topological loops really exist but that they reduce to a single computational loop if we choosef, or e (which are on a bond common to both topological loops) to break it. Thus, up to that point, the rule seems to be as follows. Rule 1 “Break the causal uncertainty on any bond but give the junction it is connected to a strong causal determination, then break the computational loop on any of the two variables associated with that bond.” However, the examples considered so far never did contain any internal bond. Let us apply that rule to the bond graph of Fig. 3. We first break the causal uncertainty on R2 and find that it is still impossible to completely determine the problem, so we have also to break on R3 for instance. A look at the signal flow graph of Fig. 3(C) shows that it is impossible, for the chosen causality assignment, to reduce the three topological loops to less than two computational loops. However, there is a
(A)
(El
FIG. 3. Vol 319, No 112, pp. 237-241,lanuary:February Printed m Great Brmin
19X5
239
F. Lorenz and J. Wolper
K2 (A)
(8)
CC)
FIG. 4.
solution. ments do leads to a shown in
Unlike the previous examples, the different consistent causal assignnot lead to similar situations and there exists one causal assignment that single computational loop although it contains four topological loops, as Fig. 4. So we can state Rule 2.
Rule 2
“If there exist some causal uncertainties on internal bonds, choose one of those bonds that allows a causal assignment which is strong at both ends of the bond (eventually through a TF or GY element), then break the computational loop on any of the two variables associated with that bond. Otherwise, use Rule 1.” One may also subsequently notice that if one draws the augmented bond graph with all its topological loops, the number of necessary computational loops is equal to the minimum number of bonds which must be removed to break all topological loops. The efficiency of the rule is that it simultaneously and automatically determines which causal assignment will minimize that number and shows which bonds to “remove”.
IV. Conclusions The solution of algebraic loops may not be very important from a theoretical point of view. However, especially for nonlinear systems where an analytical solution is not always possible, local looping is very computer-time consuming. It has been shown that a truly arbitrary causal assignment is not efficient and that we can take advantage of a systematic procedure. This short paper does not claim to fully solve the problem. The rules given here have only been tested on “little loops” and may require some improvements. For instance, a procedure should be designed to avoid causal loops which are known to be troublesome (8). Discussion about independent and nested loops (detected from connexity properties) can also be valuable for largely dissipative networks. However, we hope the paper succeeded in bringing attention to the non-triviality of the problem of algebraic loops. 240
Journal or the Franklm lnst~fute Pergamon Press Ltd.
Causality Assignment Acknowledgements We wish to thank Prof. J. J. Van Dixhoorn (Twente University of Technology, Netherlands) whose comments helped us improve the clarity of the present paper. research was conducted under IRSIA contract No. 3928.
The This
References (1) D. C. Karnopp and R. C. Rosenberg, “System Dynamics : A Unified Approach”, Wiley, New York, 1975. (2) J. J. Granda, “Computer aided modeling program”, Ph.D. Thesis, University of California, Davis, 1983. (3) R. N. Nilsen, “CSSL-IV users guide and reference manual”, Simulation Services, Chatsworth, California, 1976. (4) R. C. Rosenberg, “A Users Guide to ENPORTX, Wiley, New York, 1974. (5) J. R. Ort and H. R. Martens, “The properties of bond graph junction structure matrices”, Trans. ASME, Series G, Vol. 95, No. 4, pp. 362-367, 1973. (6) F. T. Brown, “Direct application ofthe loop rule to bond graphs”, Trans. ASME, Series G, Vol. 94, No. 3, pp. 253-261, 1972. (7) J. J. van Dixhoorn, “Simulation of bond graphs on minicomputers”, Trans. ASME, Series G, Vol. 99, No. 1, pp. 9-14, 1977. (8) A. S. Perelson, “Bond graph junction structures”, Trans. ASME, Series G, Vol. 97, No. 2, pp. 189-195,1975.
Vol. 319, No. l/2, pp 237 241, JanuaryiFebruary Printed in Great Britain
1985
241