 Bond graph
A bond graph is a graphical description of a physical dynamic system. It is an energybased 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 diagram andcomputer simulation techniques (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, electromechanical, hydraulic, etc.) can be modeled using the bond graph technique.
* Since each bond represents a bidirectional 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 continuoustime behaviors can be modeled as instantaneous phenomena by using a
hybrid bond graph .Basics
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 halfarrow 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 ω /
Junctions
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 (whereKirchhoff's current law applies).
* In a 1 junction, the efforts sum to zero. This corresponds toforce balance 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
R
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 chain ing 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 toR +//+ /
v1   v2 + + i1 i2Causality
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 constanttorque 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 timedependent 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
and
J  C
A resistor has no timedependent 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 0junction, efforts are equal; in a 1junction, flows are equal. Thus, with causal bonds, only one bond can cause the effort in a 0junction and only one can cause the flow in a 1junction. 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.
Example
Consider a simple
RC circuit [www.mech.gla.ac.uk/Research/Control/Publications/Reports/csc99005.ps] :R i1 //+ i2 → v1  v2 C = ↓ic
ground +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 halfarrow. For the purpose of modeling dynamics, this means the output full bond can be ignored and the diagram is simplified:
R 
v3  i3
v1   v2 S_e,in  1  C i1 /  i2 /$S\_e,in$ 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:
$dot\{v\}\_2\; =\; \{1\; over\; C\}\; i\_2$
Because bond 2 is attached to a 1 junction (shared flow) where bond 3 determines the flow, $i\_2\; =\; i\_3\; =\; \{v\_3\; over\; R\}$. In turn, following the effort causality on the 1 junction we can write $v\_3\; =\; v\_1\; \; v\_2$ so:
$dot\{v\}\_2\; =\; \{1\; over\; C\}\; \{\; \{\; v\_1\; \; v\_2\; \}\; over\; R\}$
Since $v\_1$ is an input, and $v\_2$ 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
ground ++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 everpresent 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:
$dot\{v\}\_4\; =\; \{1\; over\; C\_4\}\; i\_4\; =\; \{1\; over\; C\_4\}\; (i\_5\; \; i\_7)\; =\; \{1\; over\; C\_4\}\; (i\_6\; \; i\_2)$
Continuing the expansion:
$dot\{v\}\_4\; =\; \{1\; over\; C\_4\}\; (\{v\_6\; over\; R\_6\}\; \; \{v\_2\; over\; R\_2\})$
$dot\{v\}\_4\; =\; \{1\; over\; C\_4\}\; ($v_1  v_5} over R_6}  v_7  v_3} over R_2})
$dot\{v\}\_4\; =\; \{1\; over\; C\_4\}\; ($v_1  v_4} over R_6}  v_4  v_3} over R_2} )
Grouping by state variables and inputs:
$dot\{v\}\_4\; =\; (\{1\; over\; \{C\_4\; R\_6$ + {1 over {C_4 R_2) v_4 + {1 over {C_4 R_2 v_3 + { 1 over {C_4 R_6 v_1
Similarly, $dot\{v\}\_3$ can be obtained:
$dot\{v\}\_3\; =\; \{1\; over\; \{C\_3\; R\_2\; v\_4\; +\; \{1\; over\; \{C\_3\; R\_2\; v\_3$
from which state equations can be formed:
:$egin\{bmatrix\}dot\{v\}\_4\; \backslash \; dot\{v\}\_3end\{bmatrix\}\; =\; egin\{bmatrix\}(\{1\; over\; \{C\_4\; R\_6\; +\; \{1\; over\; \{C\_4\; R\_2)\; \{1\; over\; \{C\_4\; R\_2\; \backslash \; \{1\; over\; \{C\_3\; R\_2\; \{1\; over\; \{C\_3\; R\_2\; end\{bmatrix\}\; egin\{bmatrix\}v\_4\backslash v\_3end\{bmatrix\}\; +\; egin\{bmatrix\}\{\; 1\; over\; \{C\_4\; R\_6\}\; \}\; \backslash \; 0\; end\{bmatrix\}\; v\_1$.
Other components
Transformer
A transformer adds no power but transforms it, much as an
electrical transformer or alever .Denoted r e1 .. e2  TF  f1 f2where the "r" denotes the modulus of the transformer. This means:$f\_2\; =\; r\; f\_1\; ,$and:$e\_2\; =\; frac\{1\}\{r\}\; e\_1\; ,$.
Gyrator
A gyrator relates flow to effort. It also adds no power and is written e1 μ e2  GY  f1 f2meaning that:$e\_2\; =\; mu\; f\_1\; ,$and:$e\_1\; =\; mu\; f\_2\; ,$.
ee also
*
Hybrid bond graph
* [http://www.20sim.com 20sim] modeling and simulation software for bond graphs
*AMESim simulation software based on the bond graph theory
*MTT Model Transformation Tools [http://mtt.sourceforge.net]
* [http://www.htcinfo.com/download.php SYMBOLS Shakti] SYstem Modeling by BOnd graph Language and Simulation
*Mathematica Bond 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.scseurope.net/conf/ecms2008/bondg.html ECMS2008 22nd European Conference on Modelling and Simulation, June 3rd  6th, 2008 Nicosia, Cyprus]
* [http://www.scs.org/confernc/wmc/wmc07/icbgm07_FinalProgram_2.PDF ICBGM2007: 8th International Conference on Bond Graph Modeling And Simulation, January 1517, 2007, San Diego, California, U.S.A.]
* [http://www.scseurope.net/services/ecms2006/accepted%20papers.html ECMS2006 20TH European Conference on Modelling and Simulation, May 28th  31st, 2006, Bonn, Germany]
* [http://www.lsis.org/~i3m05/progIMAACA.html IMAACA2005 International Mediterranean Modeling Multiconference]
* [http://gaia.csus.edu/~grandajj/icbgm05_FinalProgram.htm ICBGM2005 International Conference on Bond Graph Modeling and Simulation, January 2327, 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 ICBGM2003 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.scseurope.net/conf/ess2002/accepted.html 14TH European Simulation symposium October 2326, 2002 Dresden, Germany]
* [http://www.scseurope.net/conf/ess2001/index.htm ESS'2001 13th European Simulation symposium, Marseilles, France October 18th20th, 2001]
* [http://gaia.csus.edu/~grandajj/WMC2001ICBGM.htm ICBGM2001 International Conference on Bond Graph Modeling and Simulation (ICBGM 2001), Phoenix, Arizona U.S.A.]
* [http://www.scseurope.net/conf/esm2000/time_sched1.htm European Simulation Multiconference 23  26 May, 2000, Gent, Belgium]
* [http://www.scseurope.net/conf/ess99/finproq.html 11th European Simulation symposium, October 2628, 1999 Castle, FriedrichAlexander University,ErlangenNuremberg, Germany ]
* [http://wwwcontrol.eng.cam.ac.uk/extras/conferences/ICBGM99 ICBGM1999 International Conference on Bond Graph Modeling and Simulation January 1720, 1999 San Francisco, California]
* [http://www.scseurope.net/conf/ess97/finmon.html ESS97 9TH European Simulation Symposium and Exhibition Simulation in Industry, Passau, Germany, October 1922, 1997]
* [http://www.ece.arizona.edu/~cellier/icbgm_97_final.html ICBGM1997 3rd International Conference on Bond Graph Modeling And Simulation, January 1215 1997, SheratonCrescent Hotel, Phoenix, Arizona]
* [http://www.scseurope.net/conf/esm97/fintue.html 11th European Simulation Multiconference Istanbul, Turkey, June 14, 1997]
* [http://www.scseurope.net/conf/esm96/esm96fin.html ESM1996 10th annual European Simulation Multiconference Budapest, Hungary, June 26, 1996]
*ICBGM1995 Int. Conf. on Bond Graph Modeling and Simulation (ICBGM’95), January 1518 1995,Las Vegas, Nevada.References
* 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. ISBN13: 9780849309823
* 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 0852969430.Further reading
* Karnopp, D. C., Rosenberg, R. C. and Margolis, D. L., 1990: "System dynamics: a unified approach", Wiley, ISBN 0471621714.
* Thoma, J., 1975: " Bond graphs: introduction and applications", Elsevier Science, ISBN 0080188826.
* Gawthrop, P. J. and Smith, L. P. S., 1996: "Metamodelling: bond graphs and dynamic systems", Prentice Hall, ISBN 0134898249.External links
* [http://www.bondgraph.info Complete Bond Graph Overview]
* [http://www.bondgraph.com CAMPG Bond Graph Software]
* [http://www.inf.ethz.ch/personal/fcellier/BondGraphs/bg.html Bond Graph Compendium]
Wikimedia Foundation. 2010.