Bond graph is an explicit graphical tool for capturing the common energy structure of systems. It increases one's insight into systems behavior. In the vector form, they give concise description of complex systems. Moreover, the notations of causality provides a tool not only for formulation of system equations, but also for intuition based discussion of system behavior, viz. controllability, observability, fault diagnosis, etc.
In 1959, Prof. H.M.Paynter gave the revolutionary idea of portraying systems in terms of power bonds, connecting the elements of the physical system to the so called junction structures which were manifestations of the constraints. This power exchange portray of a system is called Bond Graph (some refer it as Bondgraph), which can be both power and information oriented. Later on, Bond Graph theory has been further developed by many researchers like Karnopp, Rosenberg, Thoma, Breedveld, etc. who have worked on extending this modeling technique to power hydraulics, mechatronics, general thermodynamic systems and recently to electronics and non-energetic systems like economics and queuing theory.
By this approach, a physical system can be represented by symbols and lines, identifying the power flow paths. The lumped parameter elements of resistance, capacitance and inertance are interconnected in an energy conserving way by bonds and junctions resulting in a network structure. From the pictorial representation of the bond graph, the derivation of system equations is so systematic that it can be algorithmized. The whole procedure of modeling and simulation of the system may be performed by some of the existing software e.g., ENPORT, Camp-G, SYMBOLS, COSMO, LorSim etc.
Bond graph bibliography by F.E.Cellier and Bondgraph.info >> Bibliography give a through account of the work carried out in the particular field. The following sections will briefly explain the reader to understand the mnemonics of the bond graph. However, the explanation given here is not a complete one; it is only limited to the extent of initiating new bond graphers.
Power variables of Bond Graphs
The language of bond graphs aspires to express general class physical systems through power interactions. The factors of power i.e., Effort and Flow, have different interpretations in different physical domains. Yet, power can always be used as a generalized co-ordinate to model coupled systems residing in several energy domains. One such system may be an electrical motor driving a hydraulic pump or an thermal engine connected with a muffler; where the form of energy varies within the system. Power variables of bond graph may not be always realizable (viz. in bond graphs for economic systems); such factual power is encountered mostly in non-physical domains and pseudo bond graphs.
In the following table, effort and flow variables in some physical domains are listed.
|Systems||Effort (e)||Flow (f)|
|Mechanical||Force (F)||Velocity (v)|
|Torque (t)||Angular velocity (w)|
|Electrical||Voltage (V)||Current (i)|
|Hydraulic||Pressure (P)||Volume flow rate (dQ/dt)|
|Thermal||Temperature (T)||Entropy change rate (ds/dt)|
|Pressure (P)||Volume change rate (dV/dt)|
|Chemical||Chemical potential (m)||Mole flow rate (dN/dt)|
|Enthalpy (h)||Mass flow rate (dm/dt)|
|Magnetic||Magneto-motive force (em)||Magnetic flux (f)|
Bond Graph Standard Elements
In bond graphs, one needs to recognize only four groups of basic symbols, i.e.,
three basic one port passive elements, two basic active elements, two basic two port elements
and two basic junctions. The basic variables are effort (e), flow (f), time
integral of effort (P) and the time integral of flow (Q).
Basic 1-Port elements
A 1-port element is addressed through a single power port, and at the port a
single pair of effort and flow variables exists. Ports are classified as passive
ports and active ports.
The passive ports are idealized elements because they contain no sources of power. The inertia or inductor, compliance or capacitor, and resistor or dashpot are classified as passive elements.
The 1-port resistor is an element in which the effort and flow variables at the
single port are related by a static function. Usually, resistors dissipate
energy. This must be true for simple electrical resistors, mechanical dampers
or dashpots, porous plugs in fluid lines, and other analogous passive elements.
The bond graph symbol for the resistive element is shown below.
The half arrow pointing towards R means that the power i.e., product of F and V (or e * f) is positive and flowing into R, where e, represents effort or force, and f, represents flow or velocity. The constitutive relationship between e, f and R is given by :
e = R * f
Power = e * f = R * f 2
Consider a 1-port device in which a static constitutive relation exists
between an effort and a displacement. Such a device stores and gives up energy
without loss. In bond graph terminology, an element that relates effort to the
generalized displacement (or time integral of flow)
is called a one port capacitor. In the physical terms, a capacitor is an
idealization of devices like springs, torsion bars, electrical capacitors,
gravity tanks, and accumulators, etc. The bondgraphic symbol, defining constitutive
relation for a C-element are shown below.
In a spring, the deformation (Q) and the effort (e) at any moment is given by,
Q = ò-t¥ f dt, e = K ò-t¥ f dt.
Here, flow is the cause and deformation (and hence effort) is the consequence. In a capacitor, the charge accumulated on the plates (Q) or voltage (e) is given by,
Q = ò-t¥ i dt, e = C -1 ò-t¥ i dt.
Here, the current is the cause and the total charge (and hence voltage) is the consequence.
A second energy storing 1-port arises if the momentum, P, is related by a
static constitutive law to the flow, f. Such an element is called an inertial
element in bond graph terminology. The inertial element is used to model
inductance effects in electrical systems and mass or inertia effects in
mechanical or fluid systems. The bond graph symbol for an inertial element
is depicted in the figure given below.
If the mechanics of mass point is examined by considering the impulse-momentum equation, then we have;
P = ò-t¥ e dt, f = m-1 ò-t¥ e dt.
Here, effort is the cause and velocity (and hence momentum) is the consequence. Similarly the current in an inductor is given by;
i = L -1 ò-t¥ e dt.
Effort and Flow Sources :
The active ports are those, which give reaction to the source. For, example if we
step on a rigid body, our feet reacts with a force or source. For this reason,
sources are called active ports. Force is considered as an effort source and the
surface of a rigid body gives a velocity source. They are represented as an
half arrow pointing away from the source symbol. The effort source is represented
and the flow source is represented as shown below.
In electrical domain, an ideal shell would be represented as an effort source. Similarities can be drawn for source representations in other domains.
Basic 2-Port elements
There are only two kinds of two port elements, namely "Transformer" and "Gyrator". The bond graph symbols for these elements are TF and GY, respectively. As the name suggests, two bonds are attached to these elements.
The Transformer :
The bondgraphic transformer can represent an ideal electrical transformer,
a mass less lever, etc. The transformer does not create, store or destroy energy.
It conserves power and transmits the factors of power with proper scaling as
defined by the transformer modulus (discussed afterwards).
The meaning of a transformer may be better understood if we consider an example given here. In this example, a mass less ideal lever is considered. Standard and bondgraphic nomenclature of a lever are shown in the figure below. It is also assumed that the lever is rigid, which means a linear relationship can be established between power variables at both the ends of the lever.
From the geometry, we have,
V2 = (b/a) V1
The power transmission implies
F2 = (a/b) F1 , so that V2 F2 = V1 F1.
In bondgraphs, such a situation may be represented as shown in the above figure.
The 'r' above the transformer denotes the modulus of the transformer, which may be a constant or any expression (like 'b/a'). The small arrow represents the sense in which this modulus is to be used.
fj = r fi , and ej = (1/r) ei.
Thus the following expression establishes the conservation of power,
ej fj = ei fi .
The Gyrator :
A transformer relates flow-to-flow and effort-to-effort. Conversely, a
gyrator establishes relationship between
flow to effort and effort to flow, again keeping the power on the ports same.
The simplest gyrator is a mechanical gyroscope, shown in the figure below.
A vertical force creates additional motion in horizontal direction and to maintain a vertical motion, a horizontal force is needed. So the force is transformed into flow and flow is transformed into force with some constant of proportionality. In this example, Izz stands for moment of inertia about z axis. wx , wy and wz stand for angular velocities about respective axes; Tx , Ty and Tz represent torque acting about the corresponding axis.
Tx = Izz wzwy .
The power transmission implies
Ty = Izz wz wx , so that Txwx = Ty wy .
Such relationship can be established by use of a Gyrator as shown in the figure above.
The m above the gyrator denotes the gyrator modulus, where m = Izz wz . This modulus does not have a direction sense associated with it. This modulus is always defined from flow to effort.
ej = m fi , ei = m fj .
Thus the following expression establishes conservation of power, ei fi = ej fj .
In the electrical domain, an ideal DC motor is represented as an gyrator, where the output torque is proportional to the input current and the back emf is proportional to the motor angular speed. In general, gyrators are used in most of the cases where power from one energy domain is transferred to another, viz. electrical to rotational, electrical to magnetic, and hydraulic to rotational.
The 3-Port junction elements
The name 3-port used for junctions is a misnomer.
In fact, junctions can connect two or more bonds.
There are only two kinds of junctions,
the 1 and the 0 junction. They conserve power and are reversible. They simply represent
system topology and hence the underlying layer of junctions and two-port elements in a complete model (also termed the
Junction Structure) is power conserving.
1 junctions have equality of flows and the efforts sum up to zero with the same power orientation. They are also designated by the letter S in some older literature. Such a junction represents a common mass point in a mechanical system, a series connection (with same current flowing in all elements) in a electrical network and a hydraulic pipeline representing flow continuity, etc. Two such junctions with four bonds are shown in the figure below.
Using the inward power sign convention, the constitutive relation (for power conservation at the junctions) for the figure in the left may be written as follows;
e1 f1 + e2 f2 + e3 f3 + e4 f4 = 0.
As 1 junction is a flow equalizing junction,
f1 = f2 = f3 = f4 .
This leads to, e1 + e2 + e3 + e4 = 0.
Now consider the above bond graph shown on the right. In this case, the constitutive relation becomes,
e1 f1 - e2 f2 + e3 f3 - e4 f4 = 0 , and, f1 = f2 = f3 = f4 .
Thus, e1 - e2 + e3 - e4 = 0.
So, a 1 junction is governed by the following rules:
The flows on the bonds attached to a 1-junction are equal and the algebraic sum of the efforts is zero. The signs in the algebraic sum are determined by the half-arrow directions in a bond graph.
0 junctions have equality of efforts while the flows sum up to zero, if power orientations are taken positive toward the junction. The junction can also be designated by the letter P. This junction represents a mechanical series, electrical node point and hydraulic pressure distribution point or pascalian point.
In case of the model in the left, the constitutive relation becomes,
e1 f1 + e2 f2 + e3 f3 + e4 f4 = 0.
whereas, the model in the right is governed by the following relation,
e1 f1 - e2 f2 + e3 f3 - e4 f4 = 0.
As 0 junction is an effort equalizing junction,
e1 = e2 = e3 = e4 .
This leads to, f1 + f2 + f3 + f4 = 0 and f1 - f2 + f3 - f4 = 0, for the left and the right models, respectively.
So, a 0 junction is governed by the following rules:
The efforts on the bonds attached to a 0-junction are equal and the algebraic sum of the flows is zero. The signs in the algebraic sum are determined by the half-arrow directions in a bond graph.
Power directions on the bonds
When one analyses a simple problem of mechanics, say, the problem of a single mass and spring system as shown in the figure below, one initially fixes a
One may take positive displacement, x, towards right and all its time derivatives are then taken positive towards right. The force acting on the mass may also be taken positive towards right. The system, however, in the course of motion may attain such a state that when it is displaced towards the right, the force on the mass happens to be towards the left.
This phenomenon may be interpreted from the results obtained by solving the system of equation(s) when a positive value of displacement and a negative value of force are seen.
So, the initial fixing of a positivity is arbitrary. However, further analysis is related to this fixation. In practice, bond graphs are drawn for general systems. Thus left and right, up and down,
clockwise or counter-clockwise, etc., may not be of general relevance. One has to then create a view point which is general and any particular system
interpretation should be easily derivable. This is done by assigning the bonds with Power directions.
This may be as arbitrary as fixing co-ordinate systems in classical analysis. Say in a bond graph, the power is directed as shown in figure below, where
J : junction,
This assignment means, such variables are chosen for effort and flow, so that whenever both these variables acquire positive values, then the power goes from J to
E. However, for mixed signs of the variables, the power direction is reversed.
As has been discussed earlier, the interpretation of the relative orientation of positive effort and flow may be subjective depending on whether the analysis is carried out from the stand point of J or E. For instance, we can say the downward motion is positive for a particular mass and the upward motion is positive for another mass according to our co-ordinate system; but for a spring, upward and downward motion do not convey any meaning. In such cases, either the compression or the tension of the spring must be identified as a co-ordinate.
Consider, the following example which belongs to the field of mechanics. The mechanical system with its bond graph model are displayed in the figure below.
Here the variables are so chosen that for positive force and velocity, the power goes to the spring. This may be as per the instrumentation arranged as shown in the two illustrations given below.
If one assumes the stand point of the junction 1, then characteristic of the spring should be as determined by the arrangement as shown above, and may appear as plotted in the right.
Assigning numbers to bonds
The bonds in a bond graph may be numbered sequentially using integers starting with 1. However, one need not follow any fixed rule. Assignment of bond number also fixes
the name of the elements or junctions. This is the best bookkeeping technique adopted by most of the existing software products. Some software though follow numbering of elements according to
their instance. However, in models using fields, where many bonds are connected to an element, such a nomenclatures cause difficulty in book-keeping.
For example, the two 1-junctions in the bond graph shown in the right can be uniquely identified as (S 1 2 3 4) and (S 5 8 9); similarly symbols like C3, C9 can be used to identify a particular element.
The use of characters S and P instead of numerals 1 and 0 allows to represent models in tele-type code in the list form, which can be exchanged across platforms. The power direction and causal information may also be appended to the list form to create a globally adoptable model code, which may read something like (S +-1 --2 --3 -+4)(P +-4 ....
Causality establishes the cause and effect relationships between the factors of power. In bondgraphs, the inputs and the outputs are characterized
by the causal stroke. The causal stroke indicates the direction in which the effort signal is directed (by implication, the end of the bond that does not have a causal stroke is the end
towards which the flow signal is directed).
To illustrate the basic concept of the causality, let us assume that there is a prime mover with a smart speed governor as shown in the figure below.
The prime mover is driving the load i.e., the power is going from the prime mover to the load. Apart from sending the power, the prime mover also decides that the load should run at a particular speed depending on the setting of the governor. So, it may be said that from the prime mover, the information of flow is generated which goes to the load. The load generates the information of torque (effort) which the prime mover receives and adjusts the inner mechanisms to compensate for it. The wavy lines in the following figure indicate the direction of flow of the particular information.
The selected causality is generally indicated by a cross bar or causal bar at the bond end to which the effort receiver is connected. In expressing causal relations between the effort and the flow, the choice of causality has an important effect. In the following section, the causality of the different elements are discussed.
For inertance I type storage elements, the flow (f ) is proportional to the time integral of the effort.
f = m-1 ò-t¥ e dt
An example of this would be a mass subjected to a force, causing it to accelerate.
v = m-1 ò-t¥ F dt
In the above relationship effort history is integrated to generate contemporary flow. Therefore, an I element receives effort (cause) and generates flow (effect).
For capacitive C type storage elements, the effort (e) is proportional to the time integral of the flow (f ).
e = k ò-t¥ f dt
Examples of this would be a spring being deformed by a force or a capcitor being charged.
F = K ò-t¥ v dt
V = C-1 ò-t¥ i dt
The above integral relationships show that a C element receives flow and generates effort.
The resistive or dissipative elements do not have time integral form of constitutive laws.
e = R f or f= e/R
The flow and the effort at this port are algebraically related and can thus have any type of causal structure, either with an open-ended bond (causal stroke is away from the element, i.e., at the junction end) indicating a resistive causality or a stroke ended bond indicating a conductive causality.
As per the above discussions, the causal strokes for I, C and R elements are shown in the figure below.
Sources impose either an effort or a flow on a system, but not both.
The bondgraphic sources are assumed to be robust, i.e., as providers of active and infinite energy. The effort source (SE), imposes an effort on the
system which is independent of flow. An Example of this would be an electrical cell that decides the terminal voltage and the attached load decides the current that the cell has to
take and adjust its chemical reactions to maintain the rated terminal voltage.
The flow source (SF), imposes a flow on the system independent of the effort. Examples of this would be cams, constant displacement hydraulic pumps, road excitation, etc. Thus the causality of the source elements are mandatory as shown in the figure below.
The elements I, C, R, SF, and SE are classified as single port, since they interact with the system through one bond only. However, the I, C and R elements can be connected to many bonds to represent tensorial nature, such as the spatial motion of a free body or the stress-strain relationships in a compressible material; in which case they are termed as field elements.
The transformer, by its elemental relation, receives either flow or effort information in one bond and generates the same in its other bond. Thus, one of its port is open-ended with the other end stroked as shown in the figure below.
For the first case, the constitutive equations would be,
fj = r fi and ei = r ej ,
whereas; for the second, the relations are
fj = 1/r fi and ei = 1/r ej .
As mentioned earlier, the gyrator relates flow to effort and effort to flow, therefore, both of its ports have either open-ended or stroke-ended causality as shown below.
For the first case, the constitutive equations would be
ej = r fi and ei = r fj ,
whereas; for the second, the relations are
fj = r ei and fi = r ej .
At a 1 junction, only one bond should bring the information of flow; i.e.,
only one bond should be open ended and all others should be stroked as
displayed in the figure on the right. This uniquely causalled bond at a junction is
termed as Strong bond. In any case two bonds cannot be causalled away from the
1-junction, since this would lead to violation of rules of information exchange (the two bonds
may not impart equal flows).
Similarly at a 0 junction, only one bond should be stroked nearer to the junction. This strong bond determines the effort at the junction, which the weak bonds (other bonds besides the strong bond) carry around.
The proper causality, for a storage element (I or C), is called
Integral Causality, where
the cause is integrated to generate the effect. For example, in C element,
a study of the constitutive equations reveal that flow is integrated and multiplied
with the stiffness to generate effort.
Sometimes the causal strokes will have to be inverted, which means the constitutive relationship for the corresponding element is written as a differential equation. For example, flow in a spring is the time derivative of the ratio of effort and stiffness. Such causality pattern is called Differential Causality.
Implications of an Integral causality means the past data of cause or history function is integrated to arrive at the effect felt at present, whereas, differential causality needs differentiation of the cause at present (that cannot be found properly, since the future is not known) to arrive at the effect. Hence differential causality makes system dependent on future, as if the system is being dragged towards a predestined configuration or in other terms adds specific constrains on the dynamics of the system.
Genuine differential causality is not commonly encountered during system modeling except in certain cases of modeling mechanisms, robotics, etc., where link flexibilities or other aspects are neglected in the model. Such causality is a common occurrence owing to certain direct manipulations in the model. However, spurious occurrences are not ruled out in certain cases such as modeling of a superfluous element (try bond graph of a single degree freedom system, where another mass is placed directly in contact with the main mass), or leaving out certain important element from system (neglecting contact point stiffness etc.).
The occurrence of differential causalities in a system may indicate serious violations of principles of conservation of energy, as illustrated in the following example.
Let us consider the charging of a capacitor through a constant voltage battery source. The system and its bond graph model are shown below.
From the causalled bond graph model, we observe the differential causality in the C-element. If we consider the energy exchange, the energy (E) stored in the capacitor after complete charging to a voltage V is
E = Q2 / 2C , where C is the capacitance and Q is the charge stored in the capacitor.
Also Q = ò-t¥ i dt and V = Q / C .
The energy spent by the shell during charging is
E = ò-t¥ V i dt = V ò-t¥ i dt = Q2 / C .
The later result is anomalous with the energy stored in the capacitor. The loss of half the energy is un accounted for. This can be attributed as one of the implications of the differential causality. The half energy lost is always through dissipation in the system which wrongly has been neglected. If we introduce the resistance in the model, the causality problem is automatically corrected and proper energy conservation is obtained as shown in the figure on the right.
Causality Assignment Procedure
Assign fixed causalities to sources.
Propagate the causality through junctions, if possible, i.e. if any bond has got a causality such that it has become the strong bond for a junction, the causality for all other bonds (week bonds) is determined by laws for causality of junctions and if all other bonds of junction are causalled, the last bond should be the strong bond. Similarly, if any port of a two port is causalled (of TF and GY), the causality of the other can be assigned.
Assign integral causality to one of the storage elements and propagate the causality through junctions. Continue the procedure with other storage elements. This should normally result in complete causalling of the graph.
If the graph is not completely causalled yet, start assigning a resistive causality to a R-element and propagate it. Continue till the entire graph is causalled. In cases, where the model is determined through causalities of R-elements, there may be several possible causal models. It is always advisable to maximize resistive causalities and minimize the conductive causalities in R-elements.
If the system develops differential causalities in some storage elements, try minimizing its number of occurrence through assigning initial integral causalities to other storage elements than those selected before.
Try to avoid differential causalities by suitable changes to the model, such as introducing some compliance or resistance or both.
Discard all models, which result in a causal structure, that violates junction causality rules.
Two animated examples of causalling a model in different ways are illustrated below.