A bond graph is a graphical representation of a physical dynamic system. It allows the conversion of the system into a statespace representation. It is similar to a block diagram or signalflow graph, with the major difference that the arcs in bond graphs represent bidirectional exchange of physical energy, while those in block diagrams and signalflow graphs represent unidirectional flow of information. Bond graphs are multienergy 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", "doubleport" and "multiport" 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 "halfarrow" sign convention. This defines the assumed direction of positive energy flow. As with electrical circuit diagrams and freebody 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 continuoustime behaviors can be modeled as instantaneous phenomena by using a hybrid bond graph. Bond graphs were invented by Henry Paynter.^{[1]}
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:
  is the active power;
  is a matrix object;
  is a vector object;
  is the hermitian of x  it is the complex conjugate of the transpose of x. If x is a scalar, then the hermitian is the same as the complex conjugate;
  is the Euler notation for differentiation, where:
 Vergentfactor:
Generalized flow  Generalized displacement  Generalized effort  Generalized momentum  Generalized power (is in watt for
power systems) 
Generalized energy (is in joule for
power systems)  

Name  
Description  Time derivative of displacement  A quality related to static behaviour.  The energy per unit of displacement  Time integral of effort  Transformation of energy from one to another form  Conserved quantity in closed systems 
Elements  
Name  Hyperance  Compliance  Resistance  Inertance  Abrahance  Magnance 
Properties  Power dissipative element  Charge storage element  Power dissipative element  Momentum storage element  Power dissipative element  Power dissipative element 
Quantitative Behaviour  For 1Dimension systems (linear)
For 1Dimension systems Impedance: 
For NDimension systems:
For 1Dimension systems: Impedance: 
For 1Dimesion systems (linear)
For NDimension systems For 1D systems: Impedance: 
For NDimension systems
For 1Dimension systems Impedance: 
For 1Dimension systems (linear)
For 1Dimension systems Impedance 
For 1Dimension systems (linear)
For 1Dimension systems Impedance 
Flowrelated variables  : Pounce / Pop  : Flounce / Crackle  : Jounce / Snap  : Jerk 

: Acceleration  : Velocity (Flow)  : Displacement (Displacement)  : Absement  
: Absity  : Abseleration  : Abserk  
Effortrelated variables  : Yank  : Force (Effort)  : Linear momentum (Momentum)  
Passive Elements  
Compliance (C)  Resistance (R)  Inertance (I)  Abrahance (A)  Magnance (M) 
Spring

Damper

Mass

AbrahamLorentz Force

Magnetic Radiation Reaction Force

Cantilever

Cyclotron Radiation Resistance


Prismatic floater in a wide waterbody

Viscous Friction


Elastic Rod

Inverse of Kinetic Mobility


Newton's Law of Gravtation

Geometry Interacting with Air (e.g. drag)


Coulomb's Law

Absquare Damper


Casimir Force

Dry Friction


BiotSavart Law


Piston pressing fluid inside an adiabatic chamber

Flowrelated variables  : Angular Jerk  : Angular acceleration 

: Angular velocity (Flow)  : Angular displacement (Displacement)  
Effortrelated variables  : Rotatum  : Torque (Effort) 
: Angular Momentum (Momentum)  
Passive Elements  
Compliance (C)  Resistance (R)  Inertance (I) 
Inverse of the angular spring constant

Angular damping

Mass moment of inertia
Type

Rod Torsion

Governor (e.g. used in music boxes)


Bending Moment (cantilever)


Parallel force field

Flowrelated variables  : Electric Inertia  : Electric Current (Flow)  : Electric Charge (Displacement)  

Effortrelated variables  : Distension  : Voltage (Effort)  : Flux Linkage (Momentum)  
Elements  
Hyperance (H)  Compliance (C)  Resistance (R)  Inertance (I)  Abrahance (A) 
Frequency Dependent Negative Resistor (FDNR)

Linear Capacitor

Linear Resistor

Linear Inductor (solenoid)

Frequency Dependent Negative Conductance (FDNC)
Type 
Diode

Toroid

Flowrelated variables  : Volumetric flow rate (Flow)  : Volume (Displacement) 

Effortrelated variables  : Pressure (Effort)  : Fluid momentum (Momentum) 
Elements  
Compliance (C)  Resistance (R)  Inertance (I) 
Pipe Elasticity

Darcy Sponge

Fluid Inertia in Pipes

Compressible Fluid (approximation)

Valve


Tank with area
Case (prismatic case)
Case (current diode case)

Poiseuille Resistance for Cylinders


Isothermal Chamber

Turbulence Resistance


Compressible Fluid

Nozzle


Adiabatic Bladder

Check Valve

Flowrelated variables  : Magnetic Flux (Displacement)  

Effortrelated variables  : Magnetomotive force (Momentum)  
Elements  
Compliance (C)  Resistance (R)  Inertance (I) 
Permeance ()

Magnetic Complex Impedance ()

Magnetic Complex Inductance ()

Flowrelated variables  : Gravitational Current Loop (Flow)  : Gravitational Charge (Displacement) 

Effortrelated variables  : Gravitational Voltage (Effort)  : Gravitational Momentum (Momentum) 
Elements  
Compliance (C)  Resistance (R)  Inertance (I) 
Gravitational Capacitance
Type

Gravitational Orbital Resistance
Type

Gravitational Inductance
Type

Flowrelated variables  : Current Density (Flow)  : Electric Displacement Field (Displacement) 

Effortrelated variables  : Electric Field (Effort)  : Magnetic Potential Vector (Momentum) 
Elements  
Compliance (C)  Resistance (R)  Volumetric Power Density Inertance () 
Electrical Permittivity
Type 
Electrical Resistivity
Type 
Magnetic Permeability 
Flowrelated variables  : Magnetic Flux Density (Displacement)  

Effortrelated variables  : Magnetic Field Strength (Effort)  
Elements  
Compliance (C)  Resistance (R)  Volumetric Power Density Inertance () 
Magnetic Permeability for Magnetic Circuits
Type 
Flowrelated variables  : Flux of Mass (Flow)  : Accumulated Flux of Mass (Displacement) 

Effortrelated variables  : Acceleration of Gravity (Effort)  
Elements  
Compliance (C)  Resistance (R)  Volumetric Power Density Inertance () 
Gravitational Permittivity
Type

Gravitational Permeability 
Flowrelated variables  : Gravitomagnetic Field (Displacement)  

Effortrelated variables  : Gravitomagnetic Field Strength (Effort)  
Elements  
Compliance (C)  Resistance (R)  Volumetric Power Density Inertance () 
Gravitational Permeability

Flowrelated variables  : Heatrate (Flow)  : Total heat (Displacement) 

Effortrelated variables  : Temperature (Effort)  
Elements  
Compliance (C)  Resistance (R)  Inertance (I) 
Isobaric heat

Conduction Resistance


Isocoric heat

Convection Resistance


Isothermal heat

StefanBoltzmann law

Flowrelated variables  : Strainrate (Flow)  : Strain (Displacement) 

Effortrelated variables  : Stress (Effort)  
Elements  
Compliance (C)  Resistance (R)  Volumetric Power Density Inertance () 
Inverse of Rigidity
Type

Viscosity
Type 
Power Density Inertance: Density of Material

Other systems
 Thermodynamic Power System (flow is entropyrate and effort is temperature)
 Electrochemical Power System (flow is chemical activity and effort is chemical potential)
 Thermochemical Power System (flow is massrate and effort is mass specific enthalpy)
 Macroeconomics CurrencyRate System (displacement is commodity and effort is price per commodity)
 Microeconomics CurrencyRate System (displacement is population and effort is GDP per capita)
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.
Relationship between generalized flow and generalized effort.
Relationship between generalized flow and generalized momentum.
Relationship between generalized momentum and generalized effort.
Relationship between generalized flow and generalized effort, involving the constant C.
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.
Relationship between current and voltage, this is also known as Ohm's law.
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.
For power systems, the formula for the frequency of ressonance is as follows:
For power density systems, the formula for the velocity of the ressonance wave is as follows:
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 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:
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.
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.
The bond number will be important later when converting from the bond graph to statespace equations.
Association of elements
Series Association
Suppose that an element has the following behaviour:
Where is a generic function (it can even differentiate/integrate its input) and is the element's constant. Then, suppose that in a 1junction you have many of this type of element. Then the total voltage across the junction is:
Parallel Association
Suppose that an element has the following behaviour:
Where is a generic function (it can even differentiate/integrate its input) and is the element's constant. Then, suppose that in a 0junction you have many of this type of element. Then it is valid:
Singleport 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).
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.
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.
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.
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.
Twoport 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
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).
meaning that
and
Multiport 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 0junction and the 1junction 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.
0junctions
0junctions 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 0junction is a node and represents a voltage shared by all components at that node. In a mechanical circuit, the 0junction is a joint among components, and represents a force shared by all components connected to it.
An example is shown below.
Resulting equations:
1junctions
1junctions behave opposite of 0junctions. 1junctions 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 1junction represents a velocity shared by all components connected to it.
An example is shown below.
Resulting equations:
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 largescale 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 constanttorque 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 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 preferred causal orientation is as follows:
The reason that this is the preferred method for these elements can be further analyzed if you consider the equations they would give shown by the tetrahedron of state.
The resulting equations involve the integral of the independent power variable. This is preferred over the result of having the causality the other way, which results in derivative. The equations can be seen below.
It is possible for a bond graph to have a causal bar on one of these elements in the nonpreferred manner. In such a case a "causal conflict" is said to have occurred at that bond. The results of a causal conflict are only seen when writing the statespace equations for the graph. It is explained in more details in that section.
A resistor has no timedependent behavior: 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:
Sources of flow (SF) define flow, sources of effort (SE) define effort. Transformers are passive, neither dissipating nor storing energy, so causality passes through them:
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 vice versa:
 Junctions
In 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'
Determining causality
In order to determine the causality of a bond graph certain steps must be followed. Those steps are:
 Draw Source Causal Bars
 Draw Preferred causality for C and I bonds
 Draw causal bars for 0 and 1 junctions, transformers and gyrators
 Draw R bond causal bars
 If a causal conflict occurs, change C or I bond to differentiation
A walkthrough of the steps is shown below.
The first step is to draw causality for the sources, over which there is only one. This results in the graph below.
The next step is to draw the preferred causality for the C bonds.
Next apply the causality for the 0 and 1 junctions, transformers, and gyrators.
However, there is an issue with 0junction on the left. The 0junction has two causal bars at the junction, but the 0junction wants one and only one at the junction. This was caused by having be in the preferred causality. The only way to fix this is to flip that causal bar. This results in a causal conflict, the corrected version of the graph is below, with the representing the causal conflict.
Converting from other systems
One of the main advantages of using bond graphs is that once you have a bond graph it doesn't matter the original energy domain. Below are some of the steps to apply when converting from the energy domain to a bond graph.
Electromagnetic
The steps for solving an Electromagnetic problem as a bond graph are as follows:
 Place an 0junction at each node
 Insert Sources, R, I, C, TR, and GY bonds with 1 junctions
 Ground (both sides if a transformer or gyrator is present)
 Assign power flow direction
 Simplify
These steps are shown more clearly in the examples below.
Linear mechanical
The steps for solving a Linear Mechanical problem as a bond graph are as follows:
 Place 1junctions for each distinct velocity (usually at a mass)
 Insert R and C bonds at their own 0junctions between the 1 junctions where they act
 Insert Sources and I bonds on the 1 junctions where they act
 Assign power flow direction
 Simplify
These steps are shown more clearly in the examples below.
Simplifying
The simplifying step is the same regardless if the system was electromagnetic or linear mechanical. The steps are:
 Remove Bond of zero power (due to ground or zero velocity)
 Remove 0 and 1 junctions with less than three bonds
 Simplify parallel power
 Combine 0 junctions in series
 Combine 1 junctions in series
These steps are shown more clearly in the examples below.
Parallel power
Parallel power is when power runs in parallel in a bond graph. An example of parallel power is shown below.
Parallel power can be simplified, by recalling the relationship between effort and flow for 0 and 1junctions. To solve parallel power you will first want to write down all of the equations for the junctions. For the example provided, the equations can be seen below. (Please make note of the number bond the effort/flow variable represents).
By manipulating these equations you can arrange them such that you can find an equivalent set of 0 and 1junctions to describe the parallel power.
For example, because and you can replace the variables in the equation resulting in and since
, we now know that . This relationship of two effort variables equaling can be explained by an 0junction. Manipulating other equations you can find that which describes the relationship of a 1junction. Once you have determined the relationships that you need you can redraw the parallel power section with the new junctions. The result for the example show is seen below.
Examples
Simple electrical system
A simple electrical circuit consisting of a voltage source, resistor, and capacitor in series.
The first step is to draw 0junctions at all of the nodes. The result is shown below.
The next step is to add all of the elements acting at their own 1junction. The result is below.
The next step is to pick a ground. The ground is simply an 0junction that is going to be assumed to have no voltage. For this case, the ground will be chosen to be the lower left 0junction, that is underlined above. The next step is to draw all of the arrows for the bond graph. The arrows on junctions should point towards ground (following a similar path to current). For resistance, inertance, and compliance elements, the arrows always point towards the elements. The result of drawing the arrows can be seen below, with the 0junction marked with a star as the ground.
Now that we have the Bond graph, we can start the process of simplifying it. The first step is to remove all the ground nodes. Both of the bottom 0junctions can be removed, because they are both grounded. The result is shown below.
Next, the junctions with less than three bonds can be removed. This is because flow and effort pass through these junctions without being modified, so they can be removed to allow us to draw less. The result can be seen below.
The final step is to apply causality to the bond graph. Applying causality was explained above. The final bond graph is shown below.
Advanced electrical system
A more advanced electrical system with a current source, resistors, capacitors, and a transformer
Following the steps with this circuit will result in the bond graph below, before it is simplified. The nodes marked with the star denote the ground.
Simplifying the bond graph will result in the image below.
Lastly, applying causality will result in the bond graph below. The bond with star denotes a causal conflict.
Simple linear mechanical
A simple linear mechanical system, consisting of a mass on a spring that is attached to a wall. The mass has some force being applied to it. An image of the system is shown below.
For a mechanical system, the first step is to place a 1junction at each distinct velocity, in this case there are two distinct velocities, the mass and the wall. It is usually helpful to label the 1junctions for reference. The result is below.
The next step is to draw the R and C bonds at their own 0junctions between the 1junctions where they act. For this example there is only one of these bonds, the C bond for the spring. It acts between the 1junction representing the mass and the 1junction representing the wall. The result is below.
Next you want to add the sources and I bonds on the 1junction where they act. There is one source, the source of effort (force) and one I bond, the mass of the mass both of which act on the 1junction of the mass. The result is shown below.
Next you want to assign power flow. Like the electrical examples, power should flow towards ground, in this case the 1junction of the wall. Exceptions to this are R,C, or I bond, which always point towards the element. The resulting bond graph is below.
Now that the bond graph has been generated, it can be simplified. Because the wall is grounded (has zero velocity), you can remove that junction. As such the 0junction the C bond is on, can also be removed because it will then have less than three bonds. The simplified bond graph can be seen below.
The last step is to apply causality, the final bond graph can be seen below.
Advanced linear mechanical
A more advanced linear mechanical system can be seen below.
Just like the above example, the first step is to make 1junctions at each of the distant velocities. In this example there are three distant velocity, Mass 1, Mass 2, and the wall. Then you connect all of the bonds and assign power flow. The bond can be seen below.
Next you start the process of simplifying the bond graph, by removing the 1junction of the wall, and removing junctions with less than three bonds. The bond graph can be seen below.
There is parallel power in the bond graph. Solving parallel power was explained above. The result of solving it can be seen below.
Lastly, apply causality, the final bond graph can be seen below.
State equations
Once a bond graph is complete, it can be utilized to generate the statespace representation equations of the system. Statespace representation is especially powerful as it allows complex multiorder differential system to be solved as a system of firstorder equations instead. The general form of the state equation can be seen below.
Where, is a column matrix of the state variables, or the unknowns of the system. is the time derivative of the state variables. is a column matrix of the inputs of the system. And and are matrices of constants based on the system. The state variables of a system are and values for each C and I bond without a causal conflict. Each I bond gets a while each C bond gets a .
For example, if you have the bond graph shown below.
Would have the following , , and matrices.
The matrices of and are solved by determining the relationship of the state variables and their respective elements, as was described in the tetrahedron of state. The first step to solve the state equations, is to list all of the governing equations for the bond graph. The table below, shows the relationship between bonds and their governing equations.
Bond Name  Bond with
Causality 
Governing Equation(s)  

"♦" denotes preferred causality  
One Port
Elements 
Source/ Sink, S  
Resistance, R:
Dissipated Energy 

Inertance, I:
Kinetic Energy 
♦  
Compliance, C:
Potential Energy 

♦  
Two Port
Elements 
Transformer, TR 
 
Gyrator, GY 
 
Multiport
Elements 
0 junction  One and only one
causal bar at the junction 

1 junction  one and only one causal
bar away from the junction 

For the example provided,
The governing equations are the following.
These equations can be manipulated to yield the state equations. For this example, you are trying to find equations that relate and in terms of , , and .
To start you should recall from the tetrahedron of state that starting with equation 2, you can rearrange it so that . can be substituted for equation 4, while in equation 4, can be replaced by due to equation 3, which can then be replaced by equation 5. can likewise be replaced using equation 7, in which can be replaced with which can then be replaced with equation 10. Following these substituted yields the first state equation which is shown below.
The second state equation can likewise be solved, by recalling that . The second state equation is shown below.
Both equations can further be rearranged into matrix form. The result of which is below.
At this point the equations can be treated as any other statespace representation problem.
International conferences on bond graph modeling (ECMS and ICBGM)
A bibliography on bond graph modeling may be extracted from the following conferences :
 ECMS2013 27th European Conference on Modelling and Simulation, May 27–30, 2013, Ålesund, Norway
 ECMS2008 22nd European Conference on Modelling and Simulation, June 3–6, 2008 Nicosia, Cyprus
 ICBGM2007: 8th International Conference on Bond Graph Modeling And Simulation, January 15–17, 2007, San Diego, California, U.S.A.
 ECMS2006 20TH European Conference on Modelling and Simulation, May 28–31, 2006, Bonn, Germany
 IMAACA2005 International Mediterranean Modeling Multiconference
 ICBGM2005 International Conference on Bond Graph Modeling and Simulation, January 23–27, 2005, New Orleans, Louisiana, U.S.A. – Papers
 ICBGM2003 International Conference on Bond Graph Modeling and Simulation (ICBGM'2003) January 19–23, 2003, Orlando, Florida, USA – Papers
 14TH European Simulation symposium October 23–26, 2002 Dresden, Germany
 ESS'2001 13th European Simulation symposium, Marseilles, France October 18–20, 2001
 ICBGM2001 International Conference on Bond Graph Modeling and Simulation (ICBGM 2001), Phoenix, Arizona U.S.A.
 European Simulation Multiconference 2326 May, 2000, Gent, Belgium
 11th European Simulation symposium, October 26–28, 1999 Castle, FriedrichAlexander University,ErlangenNuremberg, Germany
 ICBGM1999 International Conference on Bond Graph Modeling and Simulation January 17–20, 1999 San Francisco, California
 ESS97 9TH European Simulation Symposium and Exhibition Simulation in Industry, Passau, Germany, October 19–22, 1997
 ICBGM1997 3rd International Conference on Bond Graph Modeling And Simulation, January 12–15, 1997, SheratonCrescent Hotel, Phoenix, Arizona
 11th European Simulation Multiconference Istanbul, Turkey, June 1–4, 1997
 ESM1996 10th annual European Simulation Multiconference Budapest, Hungary, June 2–6, 1996
 ICBGM1995 Int. Conf. on Bond Graph Modeling and Simulation (ICBGM’95), January 15–18, 1995,Las Vegas, Nevada.
See also
 20sim simulation software based on the bond graph theory
 AMESim simulation software based on the bond graph theory
 Simscape Official MATLAB/Simulink addon library for graphical Bond Graph programming
 BG V.2.1 Freeware MATLAB/Simulink addon library for graphical Bond Graph programming
 Hybrid bond graph
References
 ^ Paynter, Henry M. (1961). Analysis and Design of Engineering Systems. The M.I.T. Press. ISBN 0262160048.
 ^ "Bond Graph Modelling of Engineering Systems" (PDF).
Notes
Further reading
 Kypuros, Javier (2013). System dynamics and control with bond graph modeling. Boca Raton: Taylor&Francis. doi:10.1201/b14676. ISBN 9781466560758.
 Paynter, Henry M. (1960). Analysis and design of engineering systems. M.I.T. Press. ISBN 0262160048.
 Karnopp, Dean C.; Margolis, Donald L.; Rosenberg, Ronald C. (1990). System dynamics: a unified approach. New York: John Wiley & Sons. ISBN 0471621714.
 Thoma, Jean Ulrich (1975). Bond graphs: introduction and applications. Oxford: Pergamon Press. ISBN 0080188826.
 Gawthrop, Peter J.; Smith, Lorcan P. S. (1996). Metamodelling: bond graphs and dynamic systems. London: Prentice Hall. ISBN 0134898249.
 Brown, Forbes T. (2007). Engineering system dynamics – a unified graphcentered approach. Boca Raton: Taylor & Francis. ISBN 0849396484.
 Mukherjee, Amalendu; Karmakar, Ranjit (2000). Modelling and simulation of engineering systems through bondgraphs. Boca Raton: CRC Press. ISBN 9780849309823.
 Gawthrop, P.J.; Ballance, D.J. (1999). "Chapter 2: Symbolic computation for manipulation of hierarchical bond graphs". In Munro, N. (ed.). Symbolic Methods in Control System Analysis and Design. London: Institution of Electrical Engineers. pp. 2352. ISBN 0852969430.
 Borutzky, Wolfgang (2010). Bond Graph Methodology. London: Springer. doi:10.1007/9781848828827. ISBN 9781848828810.
 http://www.site.uottawa.ca/~rhabash/ESSModelFluid.pdf Explains modeling the bond graph in the fluid domain
 http://www.dartmouth.edu/~sullivan/22files/Fluid_sys_anal_w_chart.pdf Explains modeling the bond graph in the fluid domain