Bond graph
Graphical representation of energy flows in physical systems
From Wikipedia, the free encyclopedia
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. It is used to model and analyse systems relevant to engineering and to systems biology.

Basic ideas
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 (TF) and gyrator (GY) 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 ordinary differential equation (ode), state-space and differential-algebraic equations (dae) 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 systems relevant not only to engineering but also to systems biology and 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 who applied the approach to engineering systems; the use of bond graphs to model biophysical systems was introduced by Aharon Katchalsky, George Oster, and Alan Perelson in the early 1970s.
Analogies
The importance of analogies between physical domains was noted by Lord Kelvin and James Clerk-Maxwell.[1][2] The bond graph can be thought of as a systematic approach to analogies.[3] This section emphasises key features of bond graph analogies; more detail appears in a number of textbooks and tutorial papers.[4][5][6][3]
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
| Domain | Effort (units) | Flow (units) |
|---|---|---|
| Electrical | Voltage (V) | Current (A) |
| Translational | Force (N) | Velocity (m/s) |
| Rotational | Torque (Nm) | Angular velocity (rad/s) |
| Hydraulic | Pressure (Pa) | Volumetric flow (m^3/s) |
| Thermal | Temperature (K) | Entropy flow ( (J/K)/s) |
| Chemical | Chemical potential (J/mol) | Molar flow (mol/s) |
The bond graph use energy flow, or power, as the basis for abstracting analogies between different physical domains[4]. 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.[7][8] The conventional bond graph symbol for effort is e, and that for flow is f.[4]
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.[4]
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.[4] 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.[9]
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.
Notation
The colon (:) notation is sometimes used to refer to the components; thus, for example I:M, C:K and R:D could be used in the bond graph of the mass-spring-damper system to emphasise the link between the bond graph components and their physical analogues.
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 (common effort) and 1-junction (common flow) respectively; they both distribute, but do not store or dissipate energy.[4]
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 (indicated by bonds pointing in) must equal the sum of energy outflows (indicated by bonds pointing out). 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 (that is efforts) and external currents and external velocities (that is flows). 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:[3][4]
- , 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 (detector) analogous to measuring voltage and forces
- , a flow sensor (detector) 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.[3]
For example, the mass-spring-damper system can be augmented with an force applied to the mass and a measurement of the mass velocity using a single SS components. The colon notation has been included; the SS:io refers to the fact that the force and velocity pair could be considered as system input and output.
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 (J/s or W) in each domain, the two-port power transducing components TF and GY can be used to provide such connections.[4] 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 (voltage) 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.[10] 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.[11][12] 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[13][14][15] and to modelling the entire physiome.[16]
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[17]
- detailed balance (Wegscheider's conditions) for reaction kinetics are automatically satisfied[18]
- energy flow, usage and dissipation can be directly considered
- It is modular: bond graph components can themselves be bond graphs[19][20]
- Energy transduction between physical domains is simply represented[16] - see below
- Symbolic code, which may be used for simulation, can be automatically generated[21]
Variables
The bond graph variables for biochemical systems are:
- Displacement: quantity of chemical species measured in moles, symbol (mol)
- Flow: rate of change of chemical species, symbol (mol/s)
- Effort: chemical potential, or Gibbs energy, per mole of a chemical species, symbol (J/mol)[22]
Note that the product of effort and flow (μv) is, as always in the bond graph formulation, power (J/s).
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.[15]
Junction components
The bond graph zero (0) and one (1) 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:[15][22]
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 (reaction) component has two energy ports corresponding to the left (forward) and right (reverse) 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:[15]
where (mol/s) 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 .[13]
Modelling simple reactions
Reaction

The simple reaction 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 mass-action equation:
where .
Enzyme-catalysed reaction

As discussed in section 1.4 of Keener & Sneyd,[22] an enzyme-catalysed reaction reversibly transforming species to species via enzyme and enzyme complex can be written as the pair of reactions:
The enzyme complex is formed from and decomposes into the species and releases enzyme . 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.[13]
Energy transduction

The bond graph TF (transformer) component represents energy transduction either within or between energy domains.[4] (Note that the TF component has been called the TD (transduction) component[11][12] - TF is more widely used.[4]) This section focuses on transduction between the chemical domain with effort (J/mol) and flow (mol/s) and a generic domain with effort and flow .
The key feature of the TF component is that it transmits energy without dissipation;[4] hence, with reference to the figure:
The transformer has a modulus m (with appropriate units) 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 converts one mol of species to m mol of species .
The case where corresponds to the simple reaction of the first example above. Using the same approach for general , the reaction flow is:[13][15]
Chemoelectrical transduction
This section looks at the case where the generic domain is the electrical domain so that effort is (electrical) voltage ( ) and the flow is current (). Consider the flow of charged ions where the charge on the molecule is (Coulomb) 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:
(C/mol)
Again, it follows that
In this context, the bond graph TF component can be used to model energy flows associated with action potential,[23]membrane transporters,[24] cardiac action potential,[25] and the mitochondrial electron transport chain.[26]
Chemomechanical transduction
Consider a long rigid molecule such as actin where a sub unit of length (m) is added at a rate of (mol/sec). Then the tip velocity is given by:[27]
where is the Avogadro constant.
Thus the modulus (m/mol) and
where is the corresponding force at the tip.
These formulae have been used[27] to generate force/velocity curves for actin filaments. The approach provides a useful alternative to the Brownian Ratchet approach[28] as the bond graph TF component can be potentially used with modular bond graph models of cellular systems.[14]
Applications
A number of systems relevant to systems biology have been modelled using bond graphs. These include:
- Enterocyte homeostasis[29][30]
- Glucose transport[31]
- Cardiac Cellular Electrophysiological Modeling[32]
- Cerebral Circulation[33]
- Gene regulatory networks[34]
- Actin filament polymerization[27]
- Biochemical oscillators[35]
- Photosynthesis[15]
- Blood circulation[36]
- Simplified E. coli[37]
- Mitochondrial Electron Transport Chain[38][26]
- Action potential[23][24][25]
Causality

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 (nonlinear) state-space representation.[4] 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.[6]
R, C and I components

The concept of causality is visualised via the causal stroke notation.[4] 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 (but not both) end of the bond. (For clarity, the figures correspond to linear components; in the nonlinear case, is replaced by and by and similarly for the C and I components. Whereas an acausal (without strokes) bond graph represents a set of equations (where the left and right sides of an equation can be swapped without change of meaning), a causal (with strokes on each bond) represents a set of assignment statements whereby the value of the left-hand side of the assignment statement (represented here by :=) 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.[3][4] 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. (a) Flow is imposed on R and R imposes effort; this corresponds to the assignment statement e := Rf and the block diagram. (b) 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. (a) 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. (b) 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. (a) 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. (b) 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.
Source-sensor components

The SS (source sensor) component acts as an effort source (), flow detector () combination when the causal stroke is distant from the SS component and vice versa. The figure shows the causality of the SS (source/sensor) component. (a) The SS acts as an effort source () flow detector () combination. (b) The SS acts as a flow source (), effort detector () combination.
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 (sources, C, I and R) 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 (SCAP):[4]
- Choose any source (SS, Se or Sf) 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 (0 and 1) and the TF and GY elements.
- Repeat step 1 for all of the source components.
- Choose any storage element (C or I) 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 (0 and 1) and the TF and GY elements.
- 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 three components: SS, C and R. This means that the C, R and SS components impose 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.
- 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.
- All bonds have causality assigned but one or more C or I component has derivative causality.
- All C and I components have integral causality, but some bond do not have causality assigned.
Whereas case 1 leads to ordinary differential equations (ode) in state-space form, case 2 gives rise to differential-algebraic equations (dae). Depending on the context, it may be better to reconsider the underlying physical system to avoid daes[4][5][6], or it may be possible to reduce the dae to an ode[6][39] or the daes can be solved using an appropriate dae solver.
Alternative causality.
The sequential causal assignment procedure (SCAP) is designed to derive state-space equations, suitable for computation or control systems analysis. However, there are other forms of causal analysis designed to address other issues, including:
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.[47] This approach underlies the conversion of a bond graph model to a state-space representation suitable for digital computation.[48]
The bond graph uses the notion of (bond graph) 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[4]:
- every bond has a causal stroke and
- every component has allowed causality
- all C and I components are in integral causality.
The sequential causal assignment procedure (SCAP) provides a graphical approach to determining whether a system represented by a bond graph has a state-space representation.[4][6]
The bond graph is analogous to an number of different systems; for clarity, the mechanical analogue is used as an example, but exactly the same method applied to electrical and other physical domains.
It is convenient to choose the system states as the integrated variables corresponding to the components in integral causality; in the case of the simple example, there are two states: corresponding to the mass M and corresponding to the spring. The system inputs and outputs correspond to the Se, Sf and SS components. In this case, there is one input and one output corresponding to the SS component: the effort (applied force ) and the measured flow (velocity ). Guided by the causal strokes, the state derivatives (effort applied to I components, flow applied to C components) can be written in terms of the states. Thus:
This can be written in standard linear state space for as:
where the state input and output are given by:
and the matrices , and are given by:
The state equation has three parameters: the mass , the spring constant and the damping constant .
Using the usual Laplace transform notation of control systems theory, the system transfer function relating the input to output is:
Although it may be instructive to derive these formulae by hand, it is often convenient to make use of computer algebra to perform the same function.
System inversion

The behavior of a linear system is not only determined by the demominator of the system transfer function but also by the numerator. In the nonlinear case, the concept of the transfer function numerator is replaced by the concept of zero dynamics. Having a physical interpretation of zero dynamics is helpful in designing, and redesigning a dynamical system. For this reason, a bond graph approach to system inversion has been developed.[49][50][51]
This procedure is illustrated using the simple mass-spring-damper system bond graph which, although linear, exemplifies the key ideas. In particular, system inversion is performed by reversing the causality on the source-sensor component; thus the role of input and output is reversed. In this particular case, reversing the causality of the SS component implies that the causality of the I component must also be reversed as only one component can impose flow onto the 1-junction. Thus only one component, the C component, remains in integral causality. Thus the zero dynamics are first order which, in this simple case, corresponds to the fact that the transfer function of the original system has a first order numerator.
Following the causal strokes, the remaining state can be written as in terms of the input of the inverse system
is no longer a state, but can be written as:
the output of the inverse system is:
This approach relies on the system input and output existing on the same SS component - the input and output are said to be colocated. If this is not so, the concept of bicausality must be used.
Bicausality
Although (standard) causality provides a powerful tool to investigate the inverse of a dynamical system described by a bond graph, it is restricted to co-located source-sensor pairs where the input and output reside on a single SS component. To remove this restriction, the concept of bicausality was introduced[52] and applied to various inversion problems.[53][54][55] Bicausality has also been used in the context of fault detection[56][57], analysis of dynamical system structural properties[58][59], control system design[60][61][62][63][64] and nonlinear analysis[65].
Source sensor (SS) components

The SS (source-sensor) component has two possible causal configurations corresponding to Se/Df (effort source, flow sensor) and De/Sf (effort sensor, flow source). As illustrated in the figure, the SS component has two bicausal configurations corresponding to Se/Sf (effort source, flow source) and De/Df (effort sensor, flow sensor). This is represented graphically using causal half-strokes where the half-stroke on the harpoon side of the bond corresponds to flow and the half-stroke on the other side of the bond corresponds to effort.
The rules for the bicausality of junctions are the same as those for causality: only one bond imposes an effort onto a 0-junction and only one bond imposes a flow onto a 1-junction. In the context of inversion, the bonds connected to I, C and components cannot be bicausal.
These ideas are illustrated using an example with non-collocated source and sensor.
Example: inversion of non-collocated source-sensor system

The example is extended by adding a zero junction and a further SS component. In the mechanical case, this corresponds to inserting a force sensor and velocity source between the spring and the ground; in the electrical case it corresponds to adding a current source and voltage sensor in parallel to the capacitor. The example is simplified by setting the flow of the added flow source to zero as indicated on the bond graph.
As in the collocated example, the mechanical system is considered and system input is taken to be the force acting on the mass M. However, the output is taken to be the force of the spring which is not collocated with the applied force .

The corresponding state-space system is the same except that the output matrix C is given by:
reflecting the change of the sensor. The transfer function relating input to output becomes:
The denominator remains unchanged, but the numerator is different reflecting the change of sensor.
The system is inverted by making the output an input and the input an output. Thus the left hand SS becomes both an effort and flow sensor and the right hand SS becomes both and effort and flow source with the corresponding causalities. As the I, C and R components must retain conventional causality, the bicausality propagates as shown. Both the I and C components are in derivative causality and thus the zero dynamics are zero order which, in this simple case, corresponds to the fact that the transfer function of the original system has a zero order numerator.
As in the collocated case, the transfer function of the inverse system is the reciprocal of the transfer function of the system; again, the bond graph causality method can also be used to examine the zero dynamics of nonlinear systems.[65][54]
Deriving the bond graph of mechanical, electrical and electromechanical systems
Methods for deriving the bond graph of systems in various physical domains are explained in detail in the textbooks.[4][6][7] A detailed derivation of a laboratory electromechanical system is given in a tutorial paper.[3]
This section has methods and worked examples for some simple systems .
Electromagnetic
The steps for solving an Electromagnetic problem as a bond graph are as follows:
- Place an 0-junction 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 1-junctions for each distinct velocity (usually at a mass)
- Insert R and C bonds at their own 0-junctions 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 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. (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 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 (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 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 (force) 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 (has zero velocity), 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 type | Bond Name | Bond with causality | Governing equation(s) |
|---|---|---|---|
| Single-port elements | Source/ Sink, S | ||
| Resistance, R:
Dissipated Energy |
|||
| Inertance, I:
Kinetic Energy |
♦ | ||
| Compliance, C:
Potential Energy |
|||
| ♦ | |||
| Double-port elements | Transformer, TR |
| |
|
| |||
| Gyrator, GY |
| ||
|
| |||
| Multi-port elements | 0 junction | One and only one
causal bar at the junction |
|
| 1 junction | one 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 :
- ECMS-2013 27th European Conference on Modelling and Simulation, May 27–30, 2013, Ålesund, Norway
- ECMS-2008 22nd European Conference on Modelling and Simulation, June 3–6, 2008 Nicosia, Cyprus
- ICBGM-2007: 8th International Conference on Bond Graph Modeling And Simulation, January 15–17, 2007, San Diego, California, U.S.A.
- ECMS-2006 20TH European Conference on Modelling and Simulation, May 28–31, 2006, Bonn, Germany
- IMAACA-2005 International Mediterranean Modeling Multiconference
- ICBGM-2005 International Conference on Bond Graph Modeling and Simulation, January 23–27, 2005, New Orleans, Louisiana, U.S.A. – Papers
- ICBGM-2003 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
- ICBGM-2001 International Conference on Bond Graph Modeling and Simulation (ICBGM 2001), Phoenix, Arizona U.S.A.
- European Simulation Multi-conference 23-26 May, 2000, Gent, Belgium
- 11th European Simulation symposium, October 26–28, 1999 Castle, Friedrich-Alexander University, Erlangen-Nuremberg, Germany
- ICBGM-1999 International Conference on Bond Graph Modeling and Simulation January 17–20, 1999 San Francisco, California
- ESS-97 9TH European Simulation Symposium and Exhibition Simulation in Industry, Passau, Germany, October 19–22, 1997
- ICBGM-1997 3rd International Conference on Bond Graph Modeling And Simulation, January 12–15, 1997, Sheraton-Crescent Hotel, Phoenix, Arizona
- 11th European Simulation Multiconference Istanbul, Turkey, June 1–4, 1997
- ESM-1996 10th annual European Simulation Multiconference Budapest, Hungary, June 2–6, 1996
- ICBGM-1995 Int. Conf. on Bond Graph Modeling and Simulation (ICBGM'95), January 15–18, 1995, Las Vegas, Nevada.
See also
- 20-sim simulation software based on the bond graph theory
- AMESim simulation software based on the bond graph theory
- Hybrid bond graph
- Coenergy
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 conjugate of x; it is the complex conjugate of the transpose of x. If x is a scalar, then the Hermitian conjugate is the same as the complex conjugate;
- is the Euler notation for differentiation, where:
- Vergent-factor:
| Generalized flow | Generalized displacement | Generalized effort | Generalized momentum | Generalized power (in watts for power systems) | Generalized energy (in joules 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 , hyperrigitance |
Compliance , rigitance |
Resistance | Inertance (or ) | Abrahance | Magnance |
| Properties | Power dissipative element | Charge storage element
(State variable: displacement) (Costate variable: effort) |
Power dissipative element | Momentum storage element
(State variable: momentum) (Costate variable: flow) |
Power dissipative element | Power dissipative element |
| Quantitative behaviour | For 1-dimension systems (linear):
For 1-dimension systems: Impedance: |
Potential energy for N-dimension systems:
Potential energy: Potential coenergy: For 1-dimension systems: Impedance: |
For 1-dimension systems (linear):
Power for 1-dimension non-linear resistances ( is the effort developed by the element): Rayleigh power: Rayleigh oower for non-linear resistances: Rayleigh effort: For N-dimension systems: For 1-dimension systems: Impedance: |
Kinetic energy for N-dimension systems:
Kinetic energy: Kinetic coenergy: For 1-dimension systems: Impedance: |
For 1-dimension systems (linear):
For 1-dimension systems: Impedance |
For 1-dimension systems (linear)
For 1-dimension systems Impedance |
| Generalized behaviour | Energy from active effort sources:
Hamiltonian effort: Lagrangian effort: Passive effort: Power equation: Effort equation: Lagrangian equation: Hamiltonian equation: If is the coenergy, is the energy, is the state variable and is the costate variable,
For linear elements: | |||||
| Flow-related variables | : pounce / pop | : flounce / crackle | : jounce / snap | : jerk |
|---|---|---|---|---|
| : acceleration | : velocity (flow) | : displacement (displacement) | : absement | |
| : absity | : abseleration | : abserk | ||
| Effort-related variables | : yank | : force (effort) | : linear momentum (momentum) | |
| Passive elements | ||||
| Compliance (C) | Resistance (R) | Inertance (I) | Abrahance (A) | Magnance (M) |
| Spring where is the spring stiffness | Damper where is the damper parameter | Mass where is the mass | Abraham–Lorentz force
where
|
Magnetic radiation reaction force
where
|
Cantilever
|
Cyclotron radiation resistance
where
| |||
| Prismatic floater in a wide waterbody
where
|
Viscous friction where is the viscous friction parameter | |||
| Elastic rod
where
|
Inverse of kinetic mobility where is the kinetic mobility | |||
| Newton's law of gravitation
where
|
Geometry interacting with air (e.g. drag)
where
| |||
| Coulomb's law
where
|
Absquare[clarification needed] damper where is the Absquare damper parameter | |||
| Casimir force
where
|
Dry friction
where
| |||
| Biot–Savart law
where
| ||||
| Piston pressing fluid inside an adiabatic chamber
where
| ||||
| Flow-related variables | : angular jerk | : angular acceleration |
|---|---|---|
| : angular velocity (flow) | : angular displacement (displacement) | |
| Effort-related variables | : rotatum | : rorque (effort) |
| : angular momentum (momentum) | ||
| Passive elements | ||
| Compliance (C) | Resistance (R) | Inertance (I) |
| Inverse of the angular spring constant where is the angular spring constant | Angular damping where is the damping constant | Mass moment of inertia
Type where is the mass moment of inertia |
| Rod torsion
where
|
Governor (e.g. used in music boxes) where is the governor constant | |
| Bending moment (cantilever)
where
|
||
| Parallel force field
where
|
||
| Flow-related variables | : electric inertia | : electric current (flow) | : electric charge (displacement) | |
|---|---|---|---|---|
| Effort-related 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
where
|
Linear resistor
where
|
Linear inductor (solenoid)
where
|
Frequency-dependent negative conductance (FDNC)
Type |
| Diode
where
|
Toroid
where
|
|||
| Intra-gyrator | Inter-gyrator | |||
| Compliant gyrator | Resistive gyrator | Inertant gyrator | ||
| Hall effect device
where
|
Induction motor
where
|
DC motor
where
|
Faraday gyrator
where
| |
| Faraday disk
where
|
||||
| Intra-transformer | Inter-transformer | |||
| Electrical transformer (only for AC signals)
|
||||
| Flow-related variables | : volumetric flow rate (flow) | : volume (displacement) |
|---|---|---|
| Effort-related variables | : pressure (effort) | : fluid momentum (momentum) |
| Elements | ||
| Compliance (C) | Resistance (R) | Inertance (I) |
| Pipe elasticity
where
|
Darcy sponge
where
|
Fluid inertia in pipes
where
|
| Compressible fluid (approximation)
where
|
Valve
|
|
| Tank with area :
where
|
Poiseuille resistance for cylinders
where
|
|
| Isothermal chamber
where is chamber's constant |
Turbulence resistance
where is an empirical parameter |
|
| Compressible fluid
where is the bulk modulus |
Nozzle
where
|
|
| Adiabatic bladder
where
|
Check valve
where
|
|
| Flow-related variables | : magnetic flux (displacement) | |
|---|---|---|
| Effort-related variables | : magnetomotive force (momentum) | |
| Elements | ||
| Compliance (C) | Resistance (R) | Inertance (I) |
| Permeance ()
where
|
Magnetic complex impedance ()
|
Magnetic complex inductance ()
|
| Flow-related variables | : gravitational current Loop (flow) | : gravitational charge (displacement) |
|---|---|---|
| Effort-related variables | : gravitational voltage (effort) | : gravitational momentum (momentum) |
| Elements | ||
| Compliance (C) | Resistance (R) | Inertance (I) |
| Gravitational capacitance
Type |
Gravitational orbital resistance
Type |
Gravitational inductance
Type |
| Flow-related variables | : current density (flow) | : electric displacement field (displacement) |
|---|---|---|
| Effort-related 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 |
| Flow-related variables | : magnetic flux density (displacement) | |
|---|---|---|
| Effort-related variables | : magnetic field strength (effort) | |
| Elements | ||
| Compliance (C) | Resistance (R) | Volumetric power density inertance () |
| Magnetic permeability for magnetic circuits
Type |
||
| Flow-related variables | : flux of mass (flow) | : accumulated flux of mass (displacement) |
|---|---|---|
| Effort-related variables | : acceleration of gravity (effort) | |
| Elements | ||
| Compliance (C) | Resistance (R) | Volumetric power density inertance () |
| Gravitational permittivity
Type |
Gravitational permeability | |
| Flow-related variables | : gravitomagnetic field (displacement) | |
|---|---|---|
| Effort-related variables | : gravitomagnetic field strength (effort) | |
| Elements | ||
| Compliance (C) | Resistance (R) | Volumetric power density inertance () |
| Gravitational permeability
|
||
| Flow-related variables | : heat rate (flow) | : total heat (displacement) |
|---|---|---|
| Effort-related variables | : temperature (Effort) | |
| Elements | ||
| Compliance (C) | Resistance (R) | Inertance (I) |
| Isobaric heat
where
|
Conduction resistance
where
|
|
| Isocoric heat
where is the constant-volume heat capacitance |
Convection resistance
where
|
|
| Isothermal heat
where
|
Stefan–Boltzmann law
where
|
|
| Flow-related variables | : strain rate (flow) | : strain (displacement) |
|---|---|---|
| Effort-related 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 entropy-rate and effort is temperature)
- Electrochemical power system (flow is chemical activity and effort is chemical potential)
- Thermochemical power system (flow is mass-rate and effort is mass specific enthalpy)
- Macroeconomics currency-rate system (displacement is commodity and effort is price per commodity)
- Microeconomics currency-rate system (displacement is population and effort is GDP per capita)