- Bond graph
A bond graph is a graphical description of a physical dynamic system. It is an energy-based graphical technique for building mathematical models of dynamic systems. A bond graph depicts the energy flow between components used to model a system. Bond graphs have a number of advantages over conventional
block diagramand computer simulationtechniques (Gawthrop and Ballance, 1999):
* Since they work on the principle of conservation of energy, it is difficult to accidentally introduce extra energy into a system.
* Virtually any type of physical system (mechanical, electrical, electro-mechanical, hydraulic, etc.) can be modeled using the bond graph technique.
* Since each bond represents a bi-directional flow, systems which produce a "back force" (e.g., back emf in a motor) on the input are easily modeled without introducing extra feedback loops.
Bond graphs are based on the principle of continuity of power. 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.
The fundamental idea of a bond graph is that power is transmitted between connected components by a combination of "effort" and "flow". In the case of mechanical systems, effort is force and flow is rate; in the case of torsional systems, effort is torque and flow is angular velocity. So if an engine is connected to a wheel through a shaft, the power being transmitted is the product of the effort and the flow so power=τω. 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 τ engine ---------- wheel ω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 τ engine ---------- wheel ω /
A full arrow is used to indicate a measurement (insignificant power transfer through the bond):
wheel ---------- tachometer ω /
Power bonds may join at one of two kinds of junctions: a 0 junction and a 1 junction.
* In a 0 junction, the flow sums to zero and the efforts are equal. This corresponds to a node in an electrical circuit (where
Kirchhoff's current lawapplies).
* In a 1 junction, the efforts sum to zero. This corresponds to
forcebalance at a mass in a mechanical system.
For an example of a 1 junction, consider a resistor in series:
v1 ---///---v2 i1 R i2=i1
As a bond graph, this becomes
v1 | v2 ------ 1 ------ i1 / i2 /
From an electrical point of view, this diagram may seem counterintuitive in that flow is not preserved in the same way across the diagram. It may be helpful to consider the 1 junction as
daisy chaining the bonds it connects to and power bond up to the "R" as a resistor with a lead returning back down, so the above is equivalent to
R +//+ /
v1 | | v2 ------+ +------ i1 i2
Bond graphs have a notion of causality, indicating which side of a bond determines the instantaneous effort and which determines the instantaneous flow. By noting the causation within a bond graph, analysis becomes easier.
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 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.
Active components such as an ideal voltage or current source also are causal.
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. That would be drawn as follows: motor τ
SE ----------| wheel ω
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 only legal configurations for I and C are
J -------| I
J |------- C
A resistor has no time-dependent behavior: you can apply a voltage and get a flow instantly, or apply a flow and get a voltage instantly, thus a resistor can be at either end of a causal bond: | | J -------| R J |-------- R
Sources of flow define flow, sources of effort define effort. Transformers are passive, neither dissipating nor storing energy, so causality passes through them:
.. | | ..
------| TF -----| or |------ TF |------
A gyrator transforms flow to effort and effort to flow, so if flow is caused on one side, effort is caused on the other side and vica versa:
.. | | .. |
------ GY -----| or ------| GY |------
; JunctionsIn a 0-junction, efforts are equal; in a 1-junction, flows are equal. Thus, with causal bonds, only one bond can cause the effort in a 0-junction and only one can cause the flow in a 1-junction. Thus, if the causality of one bond of a junction is known, the causality of the others is also known. That one bond is called the strong bond ___
------| 0 ------
strong bond ^
------ 1 |------ strong bond ^ ___
One can continue, assigning causality using the above rules. Any model which results in inconsistent causality is not physically valid. For example, consider an inductor in series with an ideal current source—a physically impossible configuration. The bond graph would look like
SF ------ 1 ------ I
Assigning causality to the source bond we get: SF |----- 1 ------ IPropagating the causality through the junction gives SF |----- 1 |----- IBut assigning causality to the inductor gives SF |----- 1 |----| Iwhich is invalid, because the causality on the right bond is redundant. This ability to automatically identify impossible configurations is a major advantage of bond graphs.
In contrast, one can inadvertently draw an electrical diagram or mechanical schematic that, while possible to construct, would not behave as modeled. For example, one can connect a capacitor directly to a battery, but the assumption that the battery is an ideal voltage source would be violated corresponding with the fact that the theoretical flux would be infinite. The bond graph would tell you that a resistor needs to be put in series with the capacitor to keep the model realistic.
Consider a simple
RC circuit[www.mech.gla.ac.uk/Research/Control/Publications/Reports/csc99005.ps] :
R i1 --//-----+------ i2 → v1 | v2 C = ↓ic
As a bond graph, the same system looks like
R C ---
--- v1 | | v2 Se,in ------| 1 |----- 0 ------- out i1 /| | / i2 /
Note that the output is assumed to draw no power from the circuit, so a full arrow is used instead of a half-arrow. For the purpose of modeling dynamics, this means the output full bond can be ignored and the diagram is simplified:
v3 | i3
v1 | | v2 S_e,in ------| 1 |----- C i1 /| | i2 /
is a "source of effort" (voltage source) that forces the dynamics. Note that the causality for a source of effort imposes effort on the junction. To avoid formulating integral equations, the causality stroke for the capacitor must also impose effort on the junction. Since every 1 junction should have exactly one flow causal stroke, bond 3 must show flow imposed by the R element (causal stroke away from 1 junction).
To derive the differential equation, start on bond 2 (attached to a reactive element) and write the capacitive relation:
Because bond 2 is attached to a 1 junction (shared flow) where bond 3 determines the flow, . In turn, following the effort causality on the 1 junction we can write so:
Since is an input, and is a state variable, the equation is completely expanded. For systems with multiple I and/or C elements, the process can be repeated once for each derivative of a state variable and a system of (typically linear) differential equations can be formed.
For example, suppose we put two of these in series:
R → i2 R i1 --//-----+------------//-----+------ i3 → v1 | v2 | v3 C = ↓ic C = ↓ic
The corresponding bond graph looks like
R C R C --- ---
| | | 6 | 4 | 2 | 3
--- --- 1 | | 5 7 | | 8 9 SE ------| 1 |------ 0 ------| 1 |------ 0 ------ out /| | / /| | / /
where the ever-present effort/flow (voltage/current in this case) variables have been dropped and the bonds are simply numbered per typical bond graph convention (in this case the first four numbers were placed to avoid confusion with the signal numbering in the circuit diagram). Again, the output is assumed to draw no power so bonds 8 and 9 can effectively be removed in favor of a direct connection to bond 3:
R C R --- ---
| | 6 | 4 | 2
--- 1 | | 5 7 | | 3 SE ------| 1 |------ 0 ------| 1 |------ C /| | / /| | /
As before, we can start with the derivative of a state variable (v4) and follow the bonds to form equations:
Continuing the expansion:
Grouping by state variables and inputs:
Similarly, can be obtained:
from which state equations can be formed:
A transformer adds no power but transforms it, much as an
electrical transformeror a lever.
Denoted r e1 .. e2 ------- TF ------ f1 f2where the "r" denotes the modulus of the transformer. This means:and:.
A gyrator relates flow to effort. It also adds no power and is written e1 μ e2 ------- GY ------ f1 f2meaning that:and:.
Hybrid bond graph
* [http://www.20sim.com 20-sim] modeling and simulation software for bond graphs
AMESimsimulation software based on the bond graph theory
MTTModel Transformation Tools [http://mtt.sourceforge.net]
* [http://www.htcinfo.com/download.php SYMBOLS Shakti] SYstem Modeling by BOnd graph Language and Simulation
MathematicaBond Graph Toolbox allows bond graph design, analysis and simulation in a native symbolic environment [http://www.virtualdynamics.com/softwares.html]
International Conferences on Bond Graph Modeling (ECMS & ICBGM)
A bibliography on Bond Graph modeling may be extracted from the following conferences :
* [http://www.scs-europe.net/conf/ecms2008/bondg.html ECMS-2008 22nd European Conference on Modelling and Simulation, June 3rd - 6th, 2008 Nicosia, Cyprus]
* [http://www.scs.org/confernc/wmc/wmc07/icbgm07_FinalProgram_2.PDF ICBGM-2007: 8th International Conference on Bond Graph Modeling And Simulation, January 15-17, 2007, San Diego, California, U.S.A.]
* [http://www.scs-europe.net/services/ecms2006/accepted%20papers.html ECMS-2006 20TH European Conference on Modelling and Simulation, May 28th - 31st, 2006, Bonn, Germany]
* [http://www.lsis.org/~i3m05/progIMAACA.html IMAACA-2005 International Mediterranean Modeling Multiconference]
* [http://gaia.csus.edu/~grandajj/icbgm05_FinalProgram.htm ICBGM-2005 International Conference on Bond Graph Modeling and Simulation, January 23-27, 2005, New Orleans, Louisiana, U.S.A.] - [http://www.scs.org/search.cfm?startrow=1&continueSearch=1 Papers]
* [http://gaia.csus.edu/~grandajj/icbgm03_FinalProgram.htm ICBGM-2003 International Conference on Bond Graph Modeling and Simulation (ICBGM'2003) January 19 - 23, 2003, Orlando, Florida, USA] - [http://www.scs.org/search.cfm?presearch=db&dbrec=15 Papers]
* [http://www.scs-europe.net/conf/ess2002/accepted.html 14TH European Simulation symposium October 23-26, 2002 Dresden, Germany]
* [http://www.scs-europe.net/conf/ess2001/index.htm ESS'2001 13th European Simulation symposium, Marseilles, France October 18th-20th, 2001]
* [http://gaia.csus.edu/~grandajj/WMC2001-ICBGM.htm ICBGM-2001 International Conference on Bond Graph Modeling and Simulation (ICBGM 2001), Phoenix, Arizona U.S.A.]
* [http://www.scs-europe.net/conf/esm2000/time_sched1.htm European Simulation Multi-conference 23 - 26 May, 2000, Gent, Belgium]
* [http://www.scs-europe.net/conf/ess99/finproq.html 11th European Simulation symposium, October 26-28, 1999 Castle, Friedrich-Alexander University,Erlangen-Nuremberg, Germany ]
* [http://www-control.eng.cam.ac.uk/extras/conferences/ICBGM99 ICBGM-1999 International Conference on Bond Graph Modeling and Simulation January 17-20, 1999 San Francisco, California]
* [http://www.scs-europe.net/conf/ess97/fin-mon.html ESS-97 9TH European Simulation Symposium and Exhibition Simulation in Industry, Passau, Germany, October 19-22, 1997]
* [http://www.ece.arizona.edu/~cellier/icbgm_97_final.html ICBGM-1997 3rd International Conference on Bond Graph Modeling And Simulation, January 12-15 1997, Sheraton-Crescent Hotel, Phoenix, Arizona]
* [http://www.scs-europe.net/conf/esm97/fintue.html 11th European Simulation Multiconference Istanbul, Turkey, June 1-4, 1997]
* [http://www.scs-europe.net/conf/esm96/esm96fin.html ESM-1996 10th annual European Simulation Multiconference Budapest, Hungary, June 2-6, 1996]
*ICBGM-1995 Int. Conf. on Bond Graph Modeling and Simulation (ICBGM’95), January 15-18 1995,Las Vegas, Nevada.
* Amalendu Mukherjee, Ranjit Karmakar (1999): "Modeling and Simulation of Engineering Systems Through Bondgraphs" CRC Press LLC, 2000 N.W. Corporate Blvd., Boca Raton, Florida 33431. ISBN-13: 978-0849309823
* Gawthrop, P. J. and Ballance, D. J., 1999: "Symbolic computation for manipulation of hierarchical bond graphs" in "Symbolic Methods in Control System Analysis and Design", N. Munro (ed), IEE, London, ISBN 0-85296-943-0.
* Karnopp, D. C., Rosenberg, R. C. and Margolis, D. L., 1990: "System dynamics: a unified approach", Wiley, ISBN 0-471-62171-4.
* Thoma, J., 1975: " Bond graphs: introduction and applications", Elsevier Science, ISBN 0-08-018882-6.
* Gawthrop, P. J. and Smith, L. P. S., 1996: "Metamodelling: bond graphs and dynamic systems", Prentice Hall, ISBN 0-13-489824-9.
* [http://www.bondgraph.info Complete Bond Graph Overview]
* [http://www.bondgraph.com CAMP-G Bond Graph Software]
* [http://www.inf.ethz.ch/personal/fcellier/BondGraphs/bg.html Bond Graph Compendium]
Wikimedia Foundation. 2010.