Bond graph

A bond graph is a graphical representation of a physical dynamic system. It allows the conversion of the system into a state-space representation. It is similar to a block diagram or signal-flow graph, with the major difference that the arcs in bond graphs represent bi-directional exchange of physical energy, while those in block diagrams and signal-flow graphs represent uni-directional flow of information. Bond graphs are multi-energy domain (e.g. mechanical, electrical, hydraulic, etc.) and domain neutral. This means a bond graph can incorporate multiple domains seamlessly.
The bond graph is composed of the "bonds" which link together "single port", "double-port" and "multi-port" elements (see below for details). Each bond represents the instantaneous flow of energy ("dE"/"dt") or power. The flow in each bond is denoted by a pair of variables called power variables, akin to conjugate variables, whose product is the instantaneous power of the bond. The power variables are broken into two parts: flow and effort. For example, for the bond of an electrical system, the flow is the current, while the effort is the voltage. By multiplying current and voltage in this example you can get the instantaneous power of the bond.
A bond has two other features described briefly here, and discussed in more detail below. One is the "half-arrow" sign convention. This defines the assumed direction of positive energy flow. As with electrical circuit diagrams and free-body diagrams, the choice of positive direction is arbitrary, with the caveat that the analyst must be consistent throughout with the chosen definition. The other feature is the "causality". This is a vertical bar placed on only one end of the bond. It is not arbitrary. As described below, there are rules for assigning the proper causality to a given port, and rules for the precedence among ports. Causality explains the mathematical relationship between effort and flow. The positions of the causalities show which of the power variables are dependent and which are independent.
If the dynamics of the physical system to be modeled operate on widely varying time scales, fast continuous-time behaviors can be modeled as instantaneous phenomena by using a hybrid bond graph. Bond graphs were invented by Henry Paynter.
Systems for Bond Graph.
Many systems can be expressed in terms used in bond graph. These terms are expressed in the table below.
"Conventions for the table below:"
Other systems
Tetrahedron of state.
The tetrahedron of state is a tetrahedron that graphically shows the conversion between effort and flow. The adjacent image shows the tetrahedron in its generalized form. The tetrahedron can be modified depending on the energy domain.
Using the tetrahedron of state, one can find a mathematical relationship between any variables on the tetrahedron. This is done by following the arrows around the diagram and multiplying any constants along the way. For example, if you wanted to find the relationship between generalized flow and generalized displacement, you would start at the "f(t)" and then integrate it to get "q(t)". More examples of equations can be seen below.
Relationship between generalized displacement and generalized flow.
formula_9
Relationship between generalized flow and generalized effort.
formula_10
Relationship between generalized flow and generalized momentum.
formula_11
Relationship between generalized momentum and generalized effort.
formula_12
Relationship between generalized flow and generalized effort, involving the constant C.
formula_13
All of the mathematical relationships remain the same when switching energy domains, only the symbols change. This can be seen with the following examples.
Relationship between displacement and velocity.
formula_14
Relationship between current and voltage, this is also known as Ohm's law.
formula_15
Relationship between force and displacement, also known as Hooke's law. The negative sign is dropped in this equation because the sign is factored into the way the arrow is pointing in the bond graph.
formula_16
For power systems, the formula for the frequency of ressonance is as follows:
formula_17
For power density systems, the formula for the velocity of the ressonance wave is as follows:
formula_18
Components.
If an engine is connected to a wheel through a shaft, the power is being transmitted in the rotational mechanical domain, meaning the effort and the flow are torque (τ) and angular velocity (ω) respectively. A word bond graph is a first step towards a bond graph, in which words define the components. As a word bond graph, this system would look like:
A half-arrow is used to provide a sign convention, so if the engine is doing work when τ and ω are positive, then the diagram would be drawn:
This system can also be represented in a more general method. This involves changing from using the words, to symbols representing the same items. These symbols are based on the generalized form, as explained above. As the engine is applying a torque to the wheel, it will be represented as a source of effort for the system. The wheel can be presented by an impedance on the system. Further, the torque and angular velocity symbols are dropped and replaced with the generalized symbols for effort and flow. While not necessary in the example, it is common to number the bonds, to keep track of in equations. The simplified diagram can be seen below.
formula_21
Given that effort is always above the flow on the bond, it is also possible to drop the effort and flow symbols altogether, without losing any relevant information. However, the bond number should not be dropped. The example can be seen below.
formula_22
The bond number will be important later when converting from the bond graph to state-space equations.
Association of elements.
Series Association.
Suppose that an element has the following behaviour:
formula_23
Where formula_24 is a generic function (it can even differentiate/integrate its input) and formula_25 is the element's constant. Then, suppose that in a 1-junction you have many of this type of element. Then the total voltage across the junction is:
formula_26
Parallel Association.
Suppose that an element has the following behaviour:
formula_27
Where formula_24 is a generic function (it can even differentiate/integrate its input) and formula_25 is the element's constant. Then, suppose that in a 0-junction you have many of this type of element. Then it is valid:
formula_30
Single-port elements.
Single port elements are elements in a bond graph that can have only one port.
Sources and sinks.
Sources are elements that represent the input for a system. They will either input effort or flow into a system. They are denoted by a capital "S" with either a lower case "e" or "f" for effort or flow respectively. Sources will always have the arrow pointing away from the element. An examples of sources include: motors (source of effort, torque), voltage sources (source of effort), and current sources (source of flow).
formula_31
where "J" indicates a junction. 
Sinks are elements that represent the output for a system. They are represented the same way as sources, but have the arrow pointing into the element instead of away from it.
formula_32
Inertia.
Inertia elements are denoted by a capital "I", and always have power flowing into them. Inertia elements are elements that store energy. Most commonly these are a mass for mechanical systems, and inductors for electrical systems.
formula_33
Resistance.
Resistance elements are denoted by a capital "R", and always have power flowing into them. Resistance elements are elements that dissipate energy. Most commonly these are a damper, for mechanical systems, and resistors for electrical systems.
formula_34
Compliance.
Compliance elements are denoted by a capital "C", and always have power flowing into them. Compliance elements are elements that store potential energy. Most commonly these are springs for mechanical systems, and capacitors for electrical systems.
formula_35
Two-port elements.
These elements have two ports. They are used to change the power between or within a system. When converting from one to the other, no power is lost during the transfer. The elements have a constant that will be given with it. The constant is called a transformer constant or gyrator constant depending on which element is being used. These constants will commonly be displayed as a ratio below the element.
Transformer.
A transformer applies a relationship between flow in flow out, and effort in effort out. Examples include an ideal electrical transformer or a lever.
Denoted
formula_36
where the "r" denotes the modulus of the transformer. This means
and
Gyrator.
A gyrator applies a relationship between flow in effort out, and effort in flow out. An example of a gyrator is a DC motor, which converts voltage (electrical effort) into Angular velocity (angular mechanical flow).
formula_39
meaning that
and
Multi-port elements.
Junctions, unlike the other elements can have any number of ports either in or out. Junctions split power across their ports. There are two distinct junctions, the 0-junction and the 1-junction which differ only in how effort and flow are carried across. The same junction in series can be combined, but different junctions in series cannot.
0-junctions.
0-junctions behave such that all effort values (and its time integral/derivative) are equal across the bonds, but the sum of the flow values in equals the sum of the flow values out, or equivalently, all flows sum to zero. In an electrical circuit, the 0-junction is a node and represents a voltage shared by all components at that node. In a mechanical circuit, the 0-junction is a joint among components, and represents a force shared by all components connected to it.
formula_42
formula_43
An example is shown below.
formula_44
Resulting equations:
formula_45
formula_46
1-junctions.
1-junctions behave opposite of 0-junctions. 1-junctions behave such that all flow values (and its time integral/derivative) are equal across the bonds, but the sum of the effort values in equals the sum the effort values out, or equivalently, all efforts sum to zero. In an electrical circuit, the 1 junction represents a series connection among components. In a mechanical circuit, the 1-junction represents a velocity shared by all components connected to it.
formula_47
formula_48
An example is shown below.
formula_49
Resulting equations:
formula_50
formula_51
Causality.
Bond graphs have a notion of causality, indicating which side of a bond determines the instantaneous effort and which determines the instantaneous flow. In formulating the dynamic equations that describe the system, causality defines, for each modeling element, which variable is dependent and which is independent. By propagating the causation graphically from one modeling element to the other, analysis of large-scale models becomes easier. Completing causal assignment in a bond graph model will allow the detection of modeling situation where an algebraic loop exists; that is the situation when a variable is defined recursively as a function of itself.
As an example of causality, consider a capacitor in series with a battery. It is not physically possible to charge a capacitor instantly, so anything connected in parallel with a capacitor will necessarily have the same voltage (effort variable) as that across the capacitor. Similarly, an inductor cannot change flux instantly and so any component in series with an inductor will necessarily have the same flow as the inductor. Because capacitors and inductors are passive devices, they cannot maintain their respective voltage and flow indefinitely—the components to which they are attached will affect their respective voltage and flow, but only indirectly by affecting their current and voltage respectively.
Note: Causality is a symmetric relationship. When one side "causes" effort, the other side "causes" flow.
In bond graph notation, a causal stroke may be added to one end of the power bond to indicate that the opposite end is defining the effort. Consider a constant-torque motor driving a wheel, i.e. a source of effort ("SE"). That would be drawn as follows:
Symmetrically, the side with the causal stroke (in this case the wheel) defines the flow for the bond.
Causality results in compatibility constraints. Clearly only one end of a power bond can define the effort and so only one end of a bond can have a causal stroke. In addition, the two passive components with time-dependent behavior, "I" and "C", can only have one sort of causation: an "I" component determines flow; a "C" component defines effort. So from a junction, "J", the preferred causal orientation is as follows:
These equations can be manipulated to yield the state equations. For this example, you are trying to find equations that relate formula_54 and formula_55 in terms of formula_56, formula_57, and formula_58.
To start you should recall from the tetrahedron of state that formula_59starting with equation 2, you can rearrange it so that formula_60. formula_61 can be substituted for equation 4, while in equation 4, formula_62 can be replaced by formula_63due to equation 3, which can then be replaced by equation 5. formula_64 can likewise be replaced using equation 7, in which formula_65can be replaced with formula_66 which can then be replaced with equation 10. Following these substituted yields the first state equation which is shown below.
formula_67
The second state equation can likewise be solved, by recalling that formula_68. The second state equation is shown below.
formula_69
Both equations can further be rearranged into matrix form. The result of which is below.
formula_70
At this point the equations can be treated as any other state-space representation problem.
International conferences on bond graph modeling (ECMS and ICBGM).
A bibliography on bond graph modeling may be extracted from the following conferences :