Bond graph


A bond graph is a graphical representation of the energy flows though and between physical dynamical systems including those in the electrical, mechanical, hydraulic, thermal and chemical domains.  Because the concept of energy is common to all physical domains, the bond graph provides a unified description of all of these energy domains and can be thought of as a systematic use of the physical analogies introduced by the 19th century scientists James Clerk-Maxwell and Lord Kelvin.  The mechanical–electrical analogy is one example of a physical analogy.
Bond graphs use the concept of analogous power conjugate variables whose product is energy flow, or power; these variable pairs are called effort and flow and, for example, correspond to voltage and current in the electrical domain and force and velocity in the mechanical domain. These power conjugate variables are transmitted by bonds which connect bond graph components.
Bond graph  components are also based on analogies and, using the electrical and mechanical domains as examples,  include the  C component to represent  both mechanical spring and electrical capacitor, the  I component to represent both a mechanical inertia and  an electrical inductor and the R component to represent both mechanical damper and electrical resistor.
The electrical circuit notions of parallel and series connections are abstracted as 0-junctions and 1-junctions in bond graph terminology and again used as connection analogues for each physical domain.
The bond graph transformer  and gyrator components represent energy transformation within and between domains; thus an ideal gearbox in the rotational mechanical domain is represented by the  TF component  and an ideal DC motor transforming electrical into mechanical energy is represented by a GY component. Non-ideal transducers with flexibility, inertia and friction are modelled by including C, I and R components.
The concept of causality in the context of bond graphs is used not only to generate system equations in a number of forms including differential equation">Differential equation">differential equation, state-space and differential-algebraic equations   form suitable for simulation purposes but also to investigate dynamical system properties such as invertibility and zero dynamics. Causality can also be used to guide and correct modelling choices.
The bond graph use of energy flows leads to the systematic construction of hierarchical models of large multi-domain systems; thus the bond graph method provides a basis for constructing large computer models, or digital twins, of multi domain physical systems including both engineering systems and those found in the life sciences.
The bond graph approach is related to the  behavioral modelling approach of Jan C Willems, and the port-Hamiltonian approach of Arjan van der Schaft and B. M. Maschke.
The bond graph method was originally proposed by Henry Paynter.

Analogies

The importance of analogies between physical domains was noted by Lord Kelvin and James Clerk-Maxwell. The bond graph can be thought of as a systematic approach to analogies. This section emphasises key features of bond graph analogies; more detail appears in a number of textbooks and tutorial papers.
As an introduction to the key features of bond graphs, the figure shows the bond graph of two analogous systems: one electrical and one mechanical. A brief description is given here and expanded in the following sections.
  • The bond graph C component represents either the electrical capacitor C or the mechanical spring K.
  • The bond graph I component represents either the electrical inductor L or the mechanical mass M.
  • The bond graph R component represents either the electrical resistor R or the mechanical damper D.
  • The harpoon symbol is a bond transferring energy; the harpoon direction corresponds to positive energy flow and is a sign convention. The conjugate variables are displayed on each bond for the purposes of illustration.
  • The 1-junction represents the series connection of the electrical circuit where the same current i flows in each component and the connection of the three components in the mechanical system which share a common velocity. Thus the bond graph components share the same flow f, but the efforts are different, corresponding to the voltages and forces of the electrical and mechanical components respectively. Energy is conserved at the junction by requiring that the three efforts add to zero.
The bond graph uses three classes of analogy: analogies between variables, analogies between components and analogies between component connections; these are discussed in the following sections.

Analogies between variables

The bond graph use energy flow, or power, as the basis for abstracting analogies between different physical domains. Power conjugate variables are a pair of variables whose product is power and a list of these appears in the table for various physical domains. As indicated in the table, the bond graph uses the effort/flow analogy to categorise each of the two conjugate variables; the across/through analogy is also possible but not commonly used. The conventional bond graph symbol for effort is e, and that for flow is f.
As well as the two conjugate power variables e and f, the bond graph uses two integrated variables p and q where:
equivalently:
The harpoon symbol shown in the figure represents a power bond, or bond,  transferring energy; the harpoon direction corresponds to positive energy flow and corresponds to a sign convention. The conjugate variables are displayed on each bond for the purposes of illustration.

Analogies between components

The definitions relating p to e and q to f are indicated diagrammatically. Physical properties are encapsulated in constitutive equations relating the energy and power variables.  In the diagram, C represents the constitutive equation relating q and e,  I represents the constitutive equation relating p and f and  R represents the constitutive equation relating e and f. Instead of placing e, f, p and q on the four corners of a square as in the diagram, they can alternatively be placed at the four vertices of a tetrahedron; such a diagram is called the tetrahedron of state.
These three constitutive equations correspond to three components each relating e and f: two dynamic components C and I incorporating an integrator and the R component. The C and I components store, but do not dissipate energy, R dissipates, but does not store energy. It is also possible to define a memristor component linking p and q, but this component is not commonly used.
may be linear or nonlinear functions relating the variables as:
in the linear case:
where are scalar constants representing generalised capacitance, inertia and resistance respectively.
Because e and f are conjugate variables, they are carried on a single bond and therefore the three components C, I and R are connected to a single bond and thus have a single energy port though which energy flows. The components, and impinging bond are shown in the figure. By convention, bonds point into these three components.

Analogies between connections

Electrical circuit diagrams have two sorts of connection: parallel and series or common voltage and common current; they distribute, but do not store or dissipate energy. The bond graph analogy of the common voltage  and common current connections are the 0-junction and 1-junction respectively; they both distribute, but do not store or dissipate energy.
All bonds impinging on a 0-junctions have the same effort. As energy is distributed, not dissipated, it follows that the sum of energy inflows must equal the sum of energy outflows. Hence, if the common effort is e, the power flow constraint implies that the sum of the    inflows must equal the sum of the  outflows :
Using the same argument, the efforts impinging on a 1-junction are constrained by:

Analogies between external connections

Systems such as that the simple electrical and mechanical systems in the figure have no connection to the environment. Such connections may include external voltages and external forces and external currents and external velocities. Similarly, external measurements of efforts and flows are also important. For the purposes of building hierarchical system, it is convenient to define energy ports though which energy can flow between systems. These five possibilities correspond to five bond graph components:
  • , an effort source analogous to applying external voltages and external forces
  • , a flow source analogous to applying external currents and external velocities
  • , an effort sensor analogous to measuring voltage and forces
  • , a flow sensor analogous to measuring currents and velocities
  • , a source/sensor component which acts both as - and as - pairs as well as an energy port for external connections.

Analogies between energy transducers

The conjugate effort and flow variables have different units in each energy domain thus models in one domain cannot be directly be connected by bonds to a different energy domain. However, because power has the same units in each domain, the two-port power transducing components TF and GY can be used to provide such connections. As the two components transmit, but do not store or dissipate power, it follows that the power associated with the conjugate variables of the left-hand and right-hand bonds must be the same:
Each component has a modulus associated with it. In the case of the TF component:
In the case of the GY component:
For example, a frictionless, massless piston of area converts hydraulic power to mechanical power so that the hydraulic pressure is related to mechanical force by:
and hydraulic flow to piston velocity by:
Thus the bond graph analogy is the TF component with modulus where and.
For example,  an ideal DC motor converts electrical power into rotational mechanical power so that the mechanical torque is related to the electrical current by:
and back EMF to angular velocity by
Thus the bond graph analogy is the GY component with modulus where and.
In both cases, non-ideal transduction behaviour can be modelled by including C,I and R bond graph components in the model.

Bond graphs in [systems biology]

Bond graphs have been used to model systems relevant to the life sciences, including physiology and biology. In particular, the use of bond graphs to model biophysical systems was introduced by Aharon Katchalsky, George Oster, and Alan Perelson in the early 1970s. More recently, these ideas were used in the context of Systems Biology to provide an energy-based approach to modelling the biochemical reaction systems of cellular biology and to modelling the entire physiome.
The bond graph approach has a number of features which make it a good basis for building large computational models of the physiome.
  • It is energy based, which implies that:
  • * the models are physically-plausible
  • * detailed balance for reaction kinetics are automatically satisfied
  • * energy flow, usage and dissipation can be directly considered
  • It is modular: bond graph components can themselves be bond graphs
  • Energy transduction between physical domains is simply represented - see below
  • Symbolic code, which may be used for simulation, can be automatically generated

Variables

The bond graph variables for biochemical systems are:
Note that the product of effort and flow is, as always in the bond graph formulation, power.

Components

As detailed below, the main features of the components used to model biochemical systems are: the R and C components are nonlinear, there is no I component required and the R component is replaced by a two-port Re component.

Junction components

The bond graph zero and one components are no different in this context.

C component

The C component integrates the flow to give the amount of species:
The effort, chemical potential, is given by the formula:
where is the chemical potential corresponding to, is the gas constant and is the absolute temperature in degrees Kelvin.
The formula for can be rewritten in a simplified form as:
where
Because of the special form of this particular C component it is sometimes given a special name Ce analogously to the special Re component.

Re component

The Re component has two energy ports corresponding to the left and right sides of a chemical reaction. The forward and reverse affinities are defined as the net chemical potential due to the species on the left and right sides of the reaction respectively. The Re component then gives the reaction flow as:
where is a rate constant.
Note that it is not possible to use the usual R component with 1-junction formulation as the flow depends on both the forward and reverse affinities rather than the difference.

Modelling simple reactions

Reaction A <=> B

Sources:
The simple reaction A <=> B is represented by three components:
  • C:A represents the species A with chemical potential ; the flow is.
  • C:B represents the species B with chemical potential ; the flow is.
  • Re_r1 represents the reaction with flow, forward affinity and reverse affinity.
  • The bonds and junctions transfer chemical energy with effort and flow variables indicated.
Using the above equations, the flow is given by
where the subscripts correspond to the species. This is the simple Law of [mass action|mass-action] equation:
where.

Enzyme-catalysed reaction

As discussed in section 1.4 of Keener & Sneyd, an enzyme-catalysed reaction reversibly transforming species A to species B via enzyme E and enzyme complex C can be written as the pair of reactions:
A + E <=> C <=> B + E
The enzyme complex C is formed from A + E and decomposes into the species B and releases enzyme E. The bond graph shown in the figure shows how the enzyme is recycled.
The bond graph can be used to derive the properties of these reactions which are of generalised Michaelis-Menten form.

Energy transduction

The bond graph TF component represents energy transduction either within or between energy domains. This section focuses on transduction between the chemical domain with effort and flow and a generic domain with effort and flow.
The key feature of the TF component is that it transmits energy without dissipation; hence, with reference to the figure:
The transformer has a modulus m so that:
the energy formula then implies that:

Stoichiometry

The stoichiometry of a chemical reaction determines how many of each chemical species occurs. Thus, for example, the reaction A <=> m B converts one mol of species A to m mol of species B.
The case where corresponds to the simple reaction of the first example above. Using the same approach for general, the reaction flow is:

Chemoelectrical transduction

This section looks at the case where the generic domain is the electrical domain so that effort is voltage and the flow is current. Consider the flow of charged ions where the charge on the molecule is where is the charge on the electron measured in Coulomb; the charge associated with a mole of ions is thus where is the Avogadro constant. The equivalent current is then
where is the Faraday constant; thus the corresponding TF modulus is:

Again, it follows that
In this context, the bond graph TF component can be used to model energy flows associated with action potential, membrane transporters, cardiac action potential, and the mitochondrial electron transport chain.

Chemomechanical transduction

Consider a long rigid molecule such as actin where a sub unit of length is added at a rate of . Then the tip velocity is given by:
where is the Avogadro constant.
Thus the modulus and
where is the corresponding force at the tip.
These formulae have been used to generate force/velocity curves for actin filaments. The approach provides a useful alternative to the Brownian Ratchet approach as the bond graph TF component can be potentially used with modular bond graph models of cellular systems.

Causality

is a word with many uses and connotations. In the context of bond graphs, however, it has a limited, precise but important meaning and allows the bond graph model of a system to be converted to various other forms including a state-space representation. The causality concept can also be used to examine structural properties, including inversion, of the system represented by a bond graph as well as to expose modelling errors.

R, C and I components

The concept of causality  is visualised via the causal stroke notation. This notation is introduced in the three figures where the R, C and I components are connected to a bond augmented by the causal stoke: a short line perpendicular to the bond and located at either end of the bond. bond graph represents a set of equations, a causal represents a set of assignment statements whereby the value of the left-hand side of the assignment statement becomes the value of the expression on the right-hand side of the assignment statement. Thus, for example, the constitutive equation of a linear resistor can be written as and without changing the meaning; but in contrast, the two assignment statements e:=Rf and f := e/R are different. In particular, in the first case, f must be known to compute e and in the second case, e must be known to compute f.
The assignment statement representation can be graphically visualised as a block diagram where each assignment statement is represented as a block with input representing the right-hand of the assignment statement and output representing the left-hand side of the assignment statement. The block diagrams for each causality are shown in the figures for each component. Note that each causality of a component leads to a different block diagram.

R component

The figure shows the causality of the R component with linear constitutive equation. Flow is imposed on R and R imposes effort; this corresponds to the assignment statement e := Rf and the block diagram. Effort is imposed on R and R imposes flow; this corresponds to the assignment statement f := e/R and the corresponding block diagram.

C component

The figure shows the causality of the C component with linear constitutive equation. Flow is imposed on C and C imposes effort; this corresponds to the assignment statements and the corresponding block diagram; this is called integral causality. Effort is imposed on C and C imposes flow; this corresponds to the assignment statements and the corresponding block diagram. This is called derivative causality.

I component

The figure shows the causality of the I component with linear constitutive equation. Effort is imposed on I and I imposes flow ; this corresponds to the assignment statements and the corresponding block diagram. This is called integral causality. Flow is imposed on I and I imposes effort; this corresponds to the assignment statements and the corresponding block diagram. This is called derivative causality.

Junctions

As, by definition, all efforts associated with bonds impinging on a 0-junction are the same, it follows that exactly one bond can impose effort causality. Similarly, all flows associated with bonds impinging on a 1-junction are the same, it follows that exactly one bond can impose flow causality. Thus if a bond imposes effort causality on a 0-junction, the junction imposes effort on the other bonds and if  a bond imposes flow causality on a 1-junction, the junction imposes flow on the other bonds.

Causal propagation

When one-port components are connected by a junction structure consisting of 0-junctions, 1-junctions, TF and GY, the causality assigned to each one port component propagates though the junction structure because of the causal constraints imposed by the junction structure components.
This propagation can be applied systematically using the sequential causal assignment procedure:
  1. Choose any source   and assign the required causality. Immediately extend the causal implications though the bond graph as far as possible using the constraints on the junction elements and the TF and GY elements.
  2. Repeat step 1 for all of the source components.
  3. Choose any storage element    and assign the integral causality. Immediately extend the causal implications though the bond graph as far as possible using the constraints on the junction elements and the TF and GY elements.
  4. Repeat step 3 until all C and I elements have been assigned causality.
The figure shows the result of this procedure on the simple example. In particular, the I component imposes flow causality onto the 1-junction thus the one junction imposes flow causality on to the other two components, C and R. This means that both the C and R components imposes effort causality onto the one junction; thus the C component is in integral causality and the R component corresponds to the assignment.
Although this procedure can be accomplished manually for small systems,  a computer-based approach is more generally useful.
There are three possible results of this procedure.
  1. It completes with all C and I components in integral causality and all bond causalities assigned; the resultant system is a causal bond graph and can be converted into a state-space system.
  2. All bonds have causality assigned but one or more C or I component has derivative causality.
  3. All C and I components have integral causality, but some bond do not have causality assigned.

State-space equations

A bond graph system representation contains the constitutive equations of each component, embedded in the structure of bond and junctions.
The question of how to manipulate a set of equations into a form suitable for analogue computation was posed, and partially answered by Lord Kelvin. This approach underlies the conversion of a bond graph model to a state-space form suitable for digital computation.
The bond graph uses the notion of causality to provide a systematic and constructive way to investigate whether a state-space representation exists, and, if so, what is that representation; this causality approach is well suited to computational implementation and has an intuitive representation on the bond graph itself using the causal stroke notation.
A causal bond graph can be put into state-space form if:
  • every bond has a causal stroke and
  • every component has allowed causality
  • all C and I components are in integral causality.
Thus  the sequential causal assignment procedure provide a graphical approach to determining whether  a system represented by a bond graph  has a state-space representation.

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 and then integrate it to get. 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 resonance is as follows:
For power density systems, the formula for the velocity of the resonance 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 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.
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 state-space equations.

Association of elements

Series association

Suppose that an element has the following behavior:
where is a generic function and 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:

Parallel association

Suppose that an element has the following behavior:
where is a generic function and is the element's constant. Then, suppose that in a 0-junction you have many of this type of element. Then it is valid:

Single-port elements

Single-port elements are elements in a bond graph that can have only one port.

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.

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
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 into angular velocity.
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 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.
An example is shown below.
Resulting equations:

1-junctions

1-junctions behave opposite of 0-junctions. 1-junctions behave such that all flow values 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.
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 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 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 this side is defining the flow. Consequently, the side opposite from the casual stroke controls the effort.
Sources of flow define flow, so they host the causal stroke:
Sources of effort define effort, so the other end hosts the causal stroke:
Consider a constant-torque motor driving a wheel, i.e. a source of effort. That would be drawn as follows:
Symmetrically, the side with the causal stroke 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, and, can only have one sort of causation: an component determines flow; a component defines effort. So from a junction,, 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 non-preferred 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 state-space equations for the graph. It is explained in more details in that section.
A resistor has no time-dependent 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:
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 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'
In a nutshell, 0-junctions must have a single causal bar, 1-junctions must have all but one causal bars.

Determining causality

In order to determine the causality of a bond graph certain steps must be followed. Those steps are:
  1. Draw Source Causal Bars
  2. Draw Preferred causality for C and I bonds
  3. Draw causal bars for 0 and 1 junctions, transformers and gyrators
  4. Draw R bond causal bars
  5. If a causal conflict occurs, change C or I bond to differentiation
A walk-through 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 0-junction on the left. The 0-junction has two causal bars at the junction, but the 0-junction 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:
  1. Place an 0-junction at each node
  2. Insert Sources, R, I, C, TR, and GY bonds with 1 junctions
  3. Ground
  4. Assign power flow direction
  5. 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:
  1. Place 1-junctions for each distinct velocity
  2. Insert R and C bonds at their own 0-junctions between the 1 junctions where they act
  3. Insert Sources and I bonds on the 1 junctions where they act
  4. Assign power flow direction
  5. 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:
  1. Remove Bond of zero power
  2. Remove 0 and 1 junctions with less than three bonds
  3. Simplify parallel power
  4. Combine 0 junctions in series
  5. 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 1-junctions. 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..
By manipulating these equations you can arrange them such that you can find an equivalent set of 0 and 1-junctions 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 0-junction. Manipulating other equations you can find that which describes the relationship of a 1-junction. 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 0-junctions at all of the nodes:
The next step is to add all of the elements acting at their own 1-junction:
The next step is to pick a ground. The ground is simply an 0-junction that is going to be assumed to have no voltage. For this case, the ground will be chosen to be the lower left 0-junction, 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. 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 0-junction 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 0-junctions 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 1-junction at each distinct velocity, in this case there are two distinct velocities, the mass and the wall. It is usually helpful to label the 1-junctions for reference. The result is below.
The next step is to draw the R and C bonds at their own 0-junctions between the 1-junctions where they act. For this example there is only one of these bonds, the C bond for the spring. It acts between the 1-junction representing the mass and the 1-junction representing the wall. The result is below.
Next you want to add the sources and I bonds on the 1-junction where they act. There is one source, the source of effort and one I bond, the mass of the mass both of which act on the 1-junction of the mass. The result is shown below.
Next power flow is to be assigned. Like the electrical examples, power should flow towards ground, in this case the 1-junction 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, you can remove that junction. As such the 0-junction 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 1-junctions 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 1-junction 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 state-space representation equations of the system. State-space representation is especially powerful as it allows complex multi-order differential system to be solved as a system of first-order equations instead. The general form of the state equation is
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 following bond graph
you 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.
Element typeBond NameBond with causalityGoverning equation
Single-port elementsSource/ Sink, S
Single-port elementsSource/ Sink, S
Single-port elementsResistance, R:
Dissipated Energy
Single-port elementsResistance, R:
Dissipated Energy
Single-port elementsInertance, I:
Kinetic Energy
Single-port elementsInertance, I:
Kinetic Energy
Single-port elementsCompliance, C:
Potential Energy
Single-port elementsCompliance, C:
Potential Energy
Double-port elementsTransformer, TR
Double-port elementsTransformer, TR
Double-port elementsGyrator, GY
Double-port elementsGyrator, GY
Multi-port elements0 junctionOne and only one
causal bar at the junction
Multi-port elements0 junctionOne and only one
causal bar at the junction
Multi-port elements1 junctionone and only one causal
bar away from the junction
Multi-port elements1 junctionone and only one causal
bar away from the junction

"♦" denotes preferred causality.
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 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 :

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:
  • Thermodynamic power system
  • Electrochemical power system
  • Thermochemical power system
  • Macroeconomics currency-rate system
  • Microeconomics currency-rate system