Bond graph

From HandWiki
Short description: Graphical representation of energy flows in physical systems
A simple bond graph with analogous electrical and mechanical systems.

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.

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:

p=te(τ)dτandq=tf(τ)dτ

equivalently:

p˙=dpdt=eandq˙=dqdt=f

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 relation between bond graph power conjugate variables e and f and integrated variables p and q.

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 ΦC,ΦIandΦR 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]

ΦC,ΦIandΦR may be linear or nonlinear functions relating the variables as:

q=ΦC(e),p=ΦI(f)ande=ΦR(f)

in the linear case:

q=Ce,p=If,e=Rf

where C,I,andR 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 m inflows fiin must equal the sum of the n outflows fjout:

i=1mfiin=j=1nfjout

Using the same argument, the efforts impinging on a 1-junction are constrained by:

i=1meiin=j=1nejout

Analogies between external connections

Bond Graph of Mass-Spring-Damper with applied force F and measured velocity v.

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]

  • Se, an effort source analogous to applying external voltages and external forces
  • Sf, a flow source analogous to applying external currents and external velocities
  • De, an effort sensor (detector) analogous to measuring voltage and forces
  • Df, a flow sensor (detector) analogous to measuring currents and velocities
  • SS, a source/sensor component which acts both as Se-Df and as Sf-De pairs as well as an energy port for external connections.[3]

For example, the mass-spring-damper system can be augmented with an force F applied to the mass and a measurement of the mass velocity v 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

Bond graph TF (transformer) and GY (gyrator) components.

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:

e2f2=e1f1

Each component has a modulus m associated with it. In the case of the TF component:

e2=me1andf1=mf2

In the case of the GY component:

e2=mf1ande1=mf2

For example, a frictionless, massless piston of area A converts hydraulic power to mechanical power so that the hydraulic pressure P is related to mechanical force F by:

F=AP

and hydraulic flow V to piston velocity v by:

V=Av

Thus the bond graph analogy is the TF component with modulus m=A where e1=P,f1=V and e2=F,f2=v.

For example, an ideal DC motor converts electrical power into rotational mechanical power so that the mechanical torque Tis related to the electrical current i by:

T=ki

and back EMF (voltage) E to angular velocity Ω by

E=kΩ

Thus the bond graph analogy is the GY component with modulus m=k where e1=E,f1=i and e2=T,f2=Ω.

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 x (mol)
  • Flow: rate of change of chemical species, symbol v (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 v to give the amount x of species:

x(t)=tv(τ)dτ

The effort, chemical potential μ, is given by the formula:[15][22]

μ=μ0+RTlnxx0

where μ0 is the chemical potential corresponding to x=x0, R is the gas constant and T is the absolute temperature in degrees Kelvin.

The formula for μ can be rewritten in a simplified form as:

μ=RTlnKx where K=1x0expμ0RT

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 Afand reverse Araffinities 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 v as:[15]

v=κ(expAfRTexpArRT)

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 Afand reverse Araffinities rather than the difference AfAr.[13]

Modelling simple reactions

Reaction AB

Sources:[13][15]

The bond graph of the reaction AB. C:A and C:B represent the species A and B, Re:r1 represents the reaction. The bonds and 0 junctions connect the three components. The effort and flow associated with each bond is marked.

The simple reaction AB is represented by three components:

  • C:A represents the species A with chemical potential μA; the flow is v.
  • C:B represents the species B with chemical potential μB; the flow is v.
  • Re_r1 represents the reaction with flow v, forward affinity Af=μAand reverse affinity Ar=μB.
  • The bonds and junctions transfer chemical energy with effort and flow variables indicated.

Using the above equations, the flow v is given by

v=κ(expμARTexpμBRT)=κ(KAxAKBxB)

where the subscripts correspond to the species. This is the simple mass-action equation:

v=k+xAkxB

where k+=κKA and k=κKB.

Enzyme-catalysed reaction

An enzyme-catalysed reaction reversibly transforming species A to species B via enzyme E and enzyme complex C. The four C components represent the four species and the two Re components represent the two reactions r1 and r2. The bond graph shows the enzyme E being recycled from the reverse side of reaction r2 to the forward side of reaction r1.

As discussed in section 1.4 of Keener & Sneyd,[22] 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+ECB+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.[13]

Energy transduction

Energy transduction in the life sciences. The bond graph TF component represents energy transduction either within or between energy domains. This diagram focuses on transduction between the chemical domain with effort μ (J/mol) and flow v (mol/s) and a generic domain with effort e and flow f. The transformer has a modulus m.

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 v (mol/s) and a generic domain with effort e and flow f.

The key feature of the TF component is that it transmits energy without dissipation;[4] hence, with reference to the figure:

ef=μv

The transformer has a modulus m (with appropriate units) so that:

f=mv

the energy formula then implies that:

μ=me

Stoichiometry

The bond graph representing the chemical reaction AmB (where m is a positive integer ) using the TF component.

The stoichiometry of a chemical reaction determines how many of each chemical species occurs. Thus, for example, the reaction AmB converts one mol of species A to m mol of species B.

The case where m=1 corresponds to the simple reaction of the first example above. Using the same approach for general m, the reaction flow is:[13][15]

v=κ(expμARTexpmμBRT)=κ(KAxA(KBxB)m)

Chemoelectrical transduction

This section looks at the case where the generic domain is the electrical domain so that effort is (electrical) voltage 𝒱 ( e=𝒱) and the flow is current (f=i). Consider the flow v of charged ions where the charge on the molecule is zϵ (Coulomb) where ϵ is the charge on the electron measured in Coulomb; the charge associated with a mole of ions is thus zϵNAwhere NAis the Avogadro constant. The equivalent current is then

i=zϵNAv=zv where =ϵNAis the Faraday constant; thus the corresponding TF modulus is:

m=z (C/mol)

Again, it follows that

μ=me=z𝒱

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 v (mol/sec). Then the tip velocity V is given by:[27]

V=δNAv where NAis the Avogadro constant.

Thus the modulus m=δNA (m/mol) and

μ=mF=δNAF where F 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

R 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

C causality

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, Rfis replaced by ΦR(f)and e/R by ΦR1(e) 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 e=Rfand f=e/R 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

I causality

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 e:=q/Candq:=tf(τ)dτ 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 q:=Ceandf:=dqdt 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 f:=p/Iandp:=te(τ)dτ 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 p:=Ifande:=dpdt and the corresponding block diagram. This is called derivative causality.

Source-sensor components

SS causality

The SS (source sensor) component acts as an effort source (Se), flow detector (Df) 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 (Se) flow detector (Df) combination. (b) The SS acts as a flow source (Sf), effort detector (De) 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

Causal bond graph.

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]

  1. 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.
  2. Repeat step 1 for all of the source components.
  3. 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.
  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 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 eR:=Rf.

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.

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: p corresponding to the mass M and q 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 F) and the measured flow (velocity v). 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:

q˙=f=pmp˙=Fecer=Fkqdf=Fkqdpm

This can be written in standard linear state space for as:

x˙=Ax+Buy=Cx

where the state x input u and output y are given by:

x=(qp),u=F and y=v

and the matrices A, B and C are given by:

A=(01mkdm),B=(01),C=(01m)

The state equation has three parameters: the mass m, the spring constant k and the damping constant d.

Using the usual Laplace transform notation of control systems theory, the system transfer function relating the input u to output y is:

s(k+ds+ms2)

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

Error creating thumbnail:
Causal bond graph of inverse system.

The behavior of a linear system is not only determined by the denominator 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 q can be written as in terms of the input vof the inverse system

q˙=v

p is no longer a state, but can be written as:

p=mv

the output F of the inverse system is:

F=kp+dv+p˙=kp+dv+mv˙

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

Error creating thumbnail:
SS (source-sensor) bicausality

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

Error creating thumbnail:
Example with extra SS: causality.

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 F acting on the mass M. However, the output is taken to be the force Fs of the spring which is not collocated with the applied force F.

Error creating thumbnail:
Inverse example with extra SS: bicausality.

The corresponding state-space system is the same except that the output matrix C is given by:

C=(k0)

reflecting the change of the sensor. The transfer function relating input F to output Fsbecomes:

k(k+ds+ms2)

The denominator remains unchanged, but the numerator is different reflecting the change of sensor.

The system is inverted by making the output Fsan input and the input F 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:

  1. Place an 0-junction at each node
  2. Insert Sources, R, I, C, TR, and GY bonds with 1 junctions
  3. Ground (both sides if a transformer or gyrator is present)
  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 (usually at a mass)
  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 (due to ground or zero velocity)
  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.

frameless

Parallel power can be simplified, by recalling the relationship between effort and flow for 0 and 1-junctions. To solve parallel power, one 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). f1=f2=f3e2=e4=e7e1=e2+e3f2=f4+f7e3=e5=e6f7=f6=f8f3=f5+f6e7+e6=e8

By manipulating these equations one can arrange them such that one can find an equivalent set of 0- and 1-junctions to describe the parallel power.

For example, because e3=e6 and e2=e7 one can replace the variables in the equation e1=e2+e3 resulting in e1=e6+e7 and since e6+e7=e8, we now know that e1=e8. This relationship of two effort variables equaling can be explained by an 0-junction. Manipulating other equations one can find that f4=f5 which describes the relationship of a 1-junction. Once the relationships have been determineds, one can redraw the parallel power section with the new junctions. The result for the example show is seen below.

frameless

Examples

Simple electrical system

A simple electrical circuit consisting of a voltage source, resistor, and capacitor in series.

frameless

The first step is to draw 0-junctions at all of the nodes: 0000

The next step is to add all of the elements acting at their own 1-junction: R|010||Se11C||0_0

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.

frameless

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. 1mass1wall

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. 1mass|0C:1k|1wall

Next one wants 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. Se:F(t)|1massI:m|0C:1k|1wall

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.

frameless

Now that the bond graph has been generated, it can be simplified. Because the wall is grounded (has zero velocity), one 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.

frameless

The last step is to apply causality, the final bond graph can be seen below.

frameless

Advanced linear mechanical

A more advanced linear mechanical system can be seen below.

frameless

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 one connects all of the bonds and assign power flow. The bond can be seen below.

Next one starts 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 𝐱˙(t)=𝐀𝐱(t)+𝐁𝐮(t) where 𝐱(t) is a column matrix of the state variables, or the unknowns of the system. 𝐱˙(t) is the time derivative of the state variables. 𝐮(t) 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 q(t) and p(t) values for each C and I bond without a causal conflict. Each I bond gets a p(t) while each C bond gets a q(t).

For example, if one has the following bond graph

one would have the following 𝐱˙(t), 𝐱(t), and 𝐮(t) matrices:

𝐱˙(t)=[p˙3(t)q˙6(t)]and𝐱(t)=[p3(t)q6(t)]and𝐮(t)=[e1(t)]

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 Se| input=e(t)
Sf| input=f(t)
Resistance, R:

Dissipated Energy

| R f(t)=1Re(t)
| R e(t)=Rf(t)
Inertance, I:

Kinetic Energy

| I f(t)=1Ie(t)dt
| I e(t)=If˙(t)
Compliance, C:

Potential Energy

| C f(t)=Ce˙(t)
| C e(t)=1Cf(t)dt
Double-port elements Transformer, TR | TR  | r:1 f1=1rf2

e2=1re1

|  TR  |  r:1 e1=re2

f2=rf1

Gyrator, GY |  GY| g:1 e1=gf2

e2=gf1

 | GY| g:1 f1=1ge2

f2=1ge1

Multi-port elements 0 junction One and only one

causal bar at the junction

all e(t)=
f(t)in=f(t)out
1 junction one and only one causal

bar away from the junction

e(t)in=e(t)out
all f(t)=

"♦" denotes preferred causality.

For the example provided,

the governing equations are the following.

  1. e1=input
  2. e3=e1e2e4
  3. f1=f2=f4=f3
  4. e2=R2f2
  5. f3=1I3e3dt=1I3p3
  6. f5=f4r
  7. e4=e5r
  8. e5=e7=e6
  9. f6=f5f7
  10. e6=1C6f6dt=1C6q6
  11. f7=1R7e7

These equations can be manipulated to yield the state equations. For this example, one is trying to find equations that relate p˙3(t) and q˙6(t) in terms of p3(t), q6(t), and e1(t).

To start, one should recall from the tetrahedron of state that p˙3(t)=e3(t)starting with equation 2, one can rearrange it so that e3=e1e2e4. e2 can be substituted for equation 4, while in equation 4, f2 can be replaced by f3due to equation 3, which can then be replaced by equation 5. e4 can likewise be replaced using equation 7, in which e5can be replaced with e6 which can then be replaced with equation 10. Following these substituted yields the first state equation which is shown below.

p˙3(t)=e3(t)=e1(t)R2I3p3(t)rC6q6(t)

The second state equation can likewise be solved, by recalling that q˙6(t)=f6(t). The second state equation is shown below.

q˙6(t)=f6(t)=rI3p3(t)1R7C6q6(t)

Both equations can further be rearranged into matrix form. The result of which is below.

[p˙3(t)q˙6(t)]=[R2I3rC6rI31R7C6][p3(t)q6(t)]+[10][e1(t)]

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 :

See also

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:

  • P is the active power;
  • X^ is a matrix object;
  • x is a vector object;
  • x 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;
  • Dtn is the Euler notation for differentiation, where: Dtnf(t)={tf(s)ds,n=1f(t),n=0nf(t)tn,n>0
  • {xα:=|x|αsgn(x)a=kbβb=(1ka)1/β
  • Vergent-factor: ϕL={Prismatic: lengthcrosssectional areaCylinder: ln(radiusoutradiusin)2πlengthSphere: 14π(radiusinradiusout)
Generalized flow Generalized displacement Generalized effort Generalized momentum Generalized power (in watts for power systems) Generalized energy (in joules for power systems)
Name f(t) q(t) e(t) p(t) P=f(t)e(t) E=q(t)e(t)
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 H,
hyperrigitance P=H1
Compliance C,
rigitance K=C1
Resistance R Inertance I (or L) Abrahance A Magnance M
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): P=H(Dt0q(t))2

For 1-dimension systems: e(t)=Pγ[Dt1q(t)]

Impedance: Z(s)=1s2H=1s2P

Potential energy for N-dimension systems: V=12q(t)e(t)q(t)=C^e(t)

Potential energy: V=0qe(q)dq

Potential coenergy: V=0eq(e)de

For 1-dimension systems: f(t)=Cdedt+edCdt

Impedance: Z(s)=1sC=1sk

For 1-dimension systems (linear): P=R(Dtq(t))2

Power for 1-dimension non-linear resistances (e(f) is the effort developed by the element): P=e(f)f

Rayleigh power: =12Rf(t)2

Rayleigh oower for non-linear resistances: =0fe(f)df

Rayleigh effort: e=ddf=e(f)

For N-dimension systems: P=f(t)e(t)e(t)=R^f(t)

For 1-dimension systems: e(t)=Rγ[Dt1q(t)]

Impedance: Z(s)=R

Kinetic energy for N-dimension systems: T=12ρ(t)f(t)ρ(t)=L^f(t)

Kinetic energy: T=0ρf(ρ)dρ

Kinetic coenergy: T=0fρ(f)df

For 1-dimension systems: e(t)=Ldfdt+fdLdt

Impedance: Z(s)=sL

For 1-dimension systems (linear): P=A(Dt2q(t))2

For 1-dimension systems: e(t)=Aγ[Dt3q(t)]

Impedance Z(s)=s2A

For 1-dimension systems (linear) P=A(Dt3q(t))2

For 1-dimension systems e(t)=Mγ[Dt5q(t)]

Impedance Z(s)=s4M

Generalized behaviour Energy from active effort sources: W=0qesourcedq

Lagrangian: 𝔏=T(VW)

Hamiltonian: =T+(VW)

Hamiltonian effort: e=ddq

Lagrangian effort: e𝔏=d𝔏dq

Passive effort: e𝔏=ddtd𝔏df

Power equation: d𝔏dt+ddt=0

Effort equation: e𝔏+e=0

Lagrangian equation: e+e𝔏=e𝔏

Hamiltonian equation: e+e𝔏=e

If W is the coenergy, W is the energy, S is the state variable and S is the costate variable,

W+W=SSW=0SS(S)dSW=0SS(S)dS

For linear elements: W=W=12SS

Longitudinal mechanical power system[66]
Flow-related variables Dt6x: pounce / pop [m/s6] Dt5x: flounce / crackle [m/s5] Dt4x: jounce / snap [m/s4] Dt3x: jerk [m/s3]
Dt2x: acceleration (x2t) [m/s2] Dt1x: velocity (xt) [m/s] (flow) Dt0x: displacement (x) [m] (displacement) Dt1x: absement [ms]
Dt2x: absity [ms2] Dt3x: abseleration [ms3] Dt4x: abserk [ms4]
Effort-related variables Dt1F: yank [N/s] Dt0F: force (Pxt) [N] (effort) Dt1F: linear momentum (Px2t) [kgm/s] (momentum)
Passive elements
Compliance (C) Resistance (R) Inertance (I) Abrahance (A) Magnance (M)
Spring Pxt=kx where k is the spring stiffness Damper Pxt=bxt where b is the damper parameter Mass Pxt=mx2t where m is the mass Abraham–Lorentz force

Pxt=μ0q26πcx3t where

Magnetic radiation reaction force

Pqt=μ0q2R24πc3x5t where

Cantilever Pxt=3EIL3x Cyclotron radiation resistance

Pxt=σtB2cμ0xt where

Prismatic floater in a wide waterbody

Pxt=ρLgAx where

  • ρL: liquid density
  • A: area
  • g: gravitational acceleration
Viscous friction Pxt=bxt where b is the viscous friction parameter
Elastic rod Pxt=EALx

where

Inverse of kinetic mobility Pxt=1μxt where μ is the kinetic mobility
Newton's law of gravitation

Pxt=GMmx2 where

Geometry interacting with air (e.g. drag)

Pxt=12cρAxt2 where

  • A: contact area
  • c: aerodynamic geometry coefficient
  • ρ: fluid density
Coulomb's law

Pxt=Qq4πε0x2 where

Absquare[clarification needed] damper Pxt=Bxt2 where B is the Absquare damper parameter
Casimir force

Pxt=Acπ2240x4 where

Dry friction

Pxt=μFnxt0 where

  • μ: kinetic friction coefficient
  • Fn: normal force
Biot–Savart law

Pxt=μ0I1I2l2πx1 where

  • μ0: permeability
  • I1: current in wire 1
  • I2: current in wire 2
  • l: length of wires
Piston pressing fluid inside an adiabatic chamber

Pxt=AP0(1+xx0)γ where

  • A: area of piston
  • P0: initial pressure inside
  • x0: initial position of piston
  • γ: poisson coefficient
Angular mechanical power system
Flow-related variables Dt3θ: angular jerk [rad/s3] Dt2θ: angular acceleration (θ2t) [rad/s2]
Dt1θ: angular velocity (θt) [rad/s] (flow) Dt0θ: angular displacement (θ) [rad] (displacement)
Effort-related variables Dt1τ: rotatum [W/rad] Dt0τ: rorque (Pθt) [J/rad] (effort)
Dt1τ: angular momentum (Pθ2t) [Js/rad] (momentum)
Passive elements
Compliance (C) Resistance (R) Inertance (I)
Inverse of the angular spring constant Pθt=krθ where kr is the angular spring constant Angular damping Pθt=Rθt where R is the damping constant Mass moment of inertia

Type Pθt=Iθ2t

where I is the mass moment of inertia

Rod torsion

Pθt=GJLθ where

  • G: shear modulus
  • J: polar moment of area
  • L: rod length
Governor (e.g. used in music boxes) Pθt=Rθt2 where R is the governor constant
Bending moment (cantilever)

Pθt=EILθ where

  • E: Young modulus
  • I: second moment of area
  • L: beam length
Parallel force field

Pθt=Pxtsin(αθ) where

  • α: angle (counter-clockwise positive) between the polar axis and the force field
  • θ: current angle of the object (e.g. pendulum)
Electric power system
Flow-related variables Dt2q: electric inertia [A/s] Dt1q: electric current (qt) [A] (flow) Dt0q: electric charge (q) [C] (displacement)
Effort-related variables Dt1V: distension [V/s] Dt0V: voltage (Pqt) [V] (effort) Dt1V: flux linkage (Pq2t) [Vs] or [Wbturn] (momentum)
Elements
Hyperance (H) Compliance (C) Resistance (R) Inertance (I) Abrahance (A)
Frequency-dependent negative resistor (FDNR)

Pqt=1Hqt

Linear capacitor

Pqt=1εϕLq where

Linear resistor

Pqt=ρϕL(1+α(TT0))qt where

  • ρ: resistivity
  • ϕL: vergent factor
  • α: thermal coefficient
  • T: current temperature
  • T0: reference temperature
Linear inductor (solenoid)

Pqt=μ0N2ALq2t where

  • μ0: permeability
  • N: number of turns
  • A: area
  • L: length
Frequency-dependent negative conductance (FDNC)

Type γ1V=RDt2i[Hs]

Diode

Pqt=nVTln(1+qtIs) where

  • n: ideality factor
  • VT: thermal voltage
  • Is: leakage current
Toroid

Pqt=μN2A2πrq2t where

  • μ: permeability
  • N: number of turns
  • A: cross-sectional area
  • r: toroid radius to centerline
Intra-gyrator Inter-gyrator
Compliant gyrator Resistive gyrator Inertant gyrator
Hall effect device

ex=RHBztziyey=RHBztzix where

  • RH: Hall coefficient
  • Bz: vertical magnetic induction field
  • tz: vertical thickness
Induction motor

er1=Mcos(θ)Dtfs1+fs1Dt[Mcos(θ)]es1=Mcos(θ)Dtfr1+fr1Dt[Mcos(θ)] where

  • θ: electrical angle
  • er1: voltage at rotor bar
  • es1: voltage at stator bar
  • fs1: flow through stator bar
  • fr1: flow through rotor bar
DC motor

τe=kaϕa(ie)iaωe=1kaϕa(ie)ea where

  • τe: electromagnetic torque
  • ωe: axis angular velocity
  • ie: field current
  • ia: armature current
Faraday gyrator

F=BliV=1Blv where

  • F: force
  • v: rod velocity
  • V: rod voltage
  • B: magnetic induction field
  • l: rod length
Faraday disk

V=12Br2ωτ=12Br2i where

  • B: magnetic induction field
  • r: disk radius
Intra-transformer Inter-transformer
Electrical transformer (only for AC signals)

V2=N2N1V1f2=N1N2f1

Hydraulic / pneumatic power system
Flow-related variables Dt1V: volumetric flow rate (Vt) [m3/s] (flow) Dt0V: volume (V) [m3] (displacement)
Effort-related variables Dt0P: pressure (PVt) [Pa] (effort) Dt1P: fluid momentum (PV2t) [Pas] (momentum)
Elements
Compliance (C) Resistance (R) Inertance (I)
Pipe elasticity

PVt=(tWE2r0V0)V where

  • r0: nominal pipe radius
  • V0: pipe volume (without stress)
  • tW: wall thickness
  • E: Young's modulus
Darcy sponge

PVt=(μkϕL)Vt where

Fluid inertia in pipes

PVt=(ρϕL)V2t where

  • ρ: fluid density
  • ϕL: vergent factor
Compressible fluid (approximation)

PVt=(BV0)V=(ρ0c2V0)AcousticApproximationV where

  • V0: pipe volume (without stress)
  • B: bulk modulus
  • ρ0: gas density at reference pressure
  • c: speed of sound
Valve

PVt=(ρ2Cd2A02)Vt2

  • Cd: discharge coefficient
  • ρ: fluid density
  • A0: smallest area for fluid passage
Tank with area A1[m]n1(h+h0)n1:

PVt=ρgh0[(1+nVA1[m]n1h0n)1/n1] where

  • h: height with respect to the ground
  • h0: inlet height
  • ρ: fluid density
  • A: curve scaling (dimension of area)
  • [m]n1: correction of dimension
  • n: curve parameter
  • g: acceleration of gravity
  • Case n=1 (prismatic case): PVt=ρgAV
  • Case n=0 (current diode case): PVt=ρgh0(eVA[m]1)
Poiseuille resistance for cylinders

PVt=(8μLπR4)Vt where

  • μ: dynamic viscosity
  • L: pipe length
  • R: pipe radius
Isothermal chamber

PVt=kVt1 where k is chamber's constant

Turbulence resistance

PVt=atVt74 where at is an empirical parameter

Compressible fluid

PVt=BlnV where B is the bulk modulus

Nozzle

PVt=ρ2(Aout2Ain2)Vt2 where

  • ρ: fluid density
  • Aout: outlet area
  • Ain: inlet area
Adiabatic bladder

PVt=PV,0t(1VV0)γ where

  • PV,0t: reference pressure
  • V0: reference volume
  • γ: Poisson coefficient
Check valve

PVt=kln(1+VtVt,0) where

  • k: empirical constant
  • Vt,0: reverse bias absolute flow
Gyrator–capacitor power system
Flow-related variables Dt0φ: magnetic flux (φ) [Wb] (displacement)
Effort-related variables Dt0: magnetomotive force () [Aturn] (momentum)
Elements
Compliance (C) Resistance (R) Inertance (I)
Permeance (𝒫)

=1μϕLφ[H/turn2] where

  • μ: permeability
  • ϕL: vergent factor
Magnetic complex impedance (ZM)

=ZMφt[turn2/Ω]

Magnetic complex inductance (LM)

=LMφ2t[turn2F]

Gravitational power system
Flow-related variables Dt0ig: gravitational current Loop (ig=2εgvorbit3) [kg/s] (flow) Dt1ig: gravitational charge (M) [kg] (displacement)
Effort-related variables Dt0Vg: gravitational voltage (Vg=12vorbit4c2) [m2/s2] (effort) Dt1Vg: gravitational momentum (ϕg=πvorbit3rc2) [m2/s] (momentum)
Elements
Compliance (C) Resistance (R) Inertance (I)
Gravitational capacitance

Type γ1Mg=CVg[kg/m2]

Cg=2c2r2GM

Gravitational orbital resistance

Type γ1Vg=Rgig[m2/kgs]

Rg=μg4vorbit

Gravitational inductance

Type γ1ϕg=Iig[m2/kgs2]

Lg=2π2Gc2r

Electric field volumetric power density system
Flow-related variables Dt0J: current density (J) [A/m2] (flow) Dt1J: electric displacement field (D) [C/m2] (displacement)
Effort-related variables Dt0E: electric field (E) [V/m] (effort) Dt1E: magnetic potential vector (A) [Vs/m] (momentum)
Elements
Compliance (C) Resistance (R) Volumetric power density inertance (IV)
Electrical permittivity

Type γ1D=ϵ0E[F/m]

Electrical resistivity

Type γ1E=ρJ[Ωm]

Magnetic permeability μ0 [H/m]
Magnetic field volumetric power density system
Flow-related variables Dt0B: magnetic flux density (B) [T] or [Wb/m2] (displacement)
Effort-related variables Dt0H: magnetic field strength (H) [Aturn/m] (effort)
Elements
Compliance (C) Resistance (R) Volumetric power density inertance (IV)
Magnetic permeability for magnetic circuits

Type γ1B=μH[H/(mturn2)]

Gravitoelectric volumetric power density system
Flow-related variables Dt0Jg: flux of mass (Jg) [kg/m2s] (flow) Dt1Jg: accumulated flux of mass (Dg) [kg/m2] (displacement)
Effort-related variables Dt0g: acceleration of gravity (g) [m/s2] (effort)
Elements
Compliance (C) Resistance (R) Volumetric power density inertance (IV)
Gravitational permittivity

Type γ1Dg=ϵgg[kgs2/m3]

εg=14πG

Gravitational permeability [m/kg]IV=μg=4πGc2
Gravitomagnetic volumetric power density system
Flow-related variables Dt0Bg: gravitomagnetic field (Bg=ωorbit(vorbitc)2) [Hz] (displacement)
Effort-related variables Dt0Hg: gravitomagnetic field strength (Hg) [Pas] (effort)
Elements
Compliance (C) Resistance (R) Volumetric power density inertance (IV)
Gravitational permeability

4πGc2 [m/kg]

Thermal power-temperature system
Flow-related variables Dt1Q: heat rate (ψt) [W] (flow) Dt0Q: total heat (ψ) [J] (displacement)
Effort-related variables Dt0T: temperature (T) [K] (Effort)
Elements
Compliance (C) Resistance (R) Inertance (I)
Isobaric heat

T=1ρVcpψ=1CPψ where

  • ρ: object mass density
  • V: volume of object
  • cp: pressure specific heat capacity
Conduction resistance

T=1kϕLψt where

  • k: thermal conductivity
  • ϕL: vergent factor
Isocoric heat

T=1CVψ where CV is the constant-volume heat capacitance

Convection resistance

T=1hAψt where

  • h: convection coefficient
  • A: interface area
Isothermal heat

T=1nRln(VfVi)ψ where

  • R: universal gas constant
  • n: number of moles
  • Vf: final volume
  • Vi: initial volume
Stefan–Boltzmann law

T=(1eσA)0.25ψt0.25 where

  • e: emissivity
  • σ: Stefan–Boltzmann constant
  • A: interface area
Continuum mechanics volumetric power density system
Flow-related variables Dt1ε: strain rate (ε˙) [Hz] (flow) Dt0ε: strain (ε) [1] (displacement)
Effort-related variables Dt0σ: stress (σ) [Pa] (effort)
Elements
Compliance (C) Resistance (R) Volumetric power density inertance (IV)
Inverse of rigidity

Type γ1ε=Cσ[Pa1]

C=1K

Viscosity

Type γ1σ=Rε˙[Pas]

Power density inertance: density of material

ρ [kg/m3]

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)

References

  1. Thomson, William (2011-06-30). Mathematical and Physical Papers (1 ed.). Cambridge University Press. doi:10.1017/cbo9780511996009.004. ISBN 978-1-108-02898-1. https://www.cambridge.org/core/product/identifier/9780511996009/type/book. 
  2. Clerk-Maxwell, J. (1869). "Remarks on the Mathematical Classification of Physical Quantities" (in en). Proceedings of the London Mathematical Society s1-3 (1): 224–233. doi:10.1112/plms/s1-3.1.224. http://doi.wiley.com/10.1112/plms/s1-3.1.224. 
  3. 3.0 3.1 3.2 3.3 3.4 3.5 "Bond-graph modeling". IEEE Control Systems 27 (2): 24–45. 2007. doi:10.1109/MCS.2007.338279. ISSN 1066-033X. 
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 Karnopp, Dean; Margolis, Donald L.; Rosenberg, Ronald C. (2012). System dynamics: modeling and simulation of mechatronic systems (5th ed.). Hoboken, NJ: Wiley. ISBN 978-0-470-88908-4. 
  5. 5.0 5.1 Borutzky, Wolfgang, ed (2017) (in en). Bond Graphs for Modelling, Control and Fault Diagnosis of Engineering Systems. Cham: Springer International Publishing. doi:10.1007/978-3-319-47434-2. ISBN 978-3-319-47433-5. http://link.springer.com/10.1007/978-3-319-47434-2. 
  6. 6.0 6.1 6.2 6.3 6.4 6.5 Gawthrop, Peter; Smith, Lorcan (1996). Metamodelling: for bond graphs and dynamic systems. Prentice Hall international series in systems and control engineering. London: Prentice Hall. doi:10.5281/zenodo.6998395. ISBN 978-0-13-489824-7. 
  7. 7.0 7.1 Wellstead, P. E. (1979). Introduction to physical system modelling. London ; New York: Academic Press. ISBN 978-0-12-744380-5. 
  8. Shearer, J. Lowen; Murphy, Arthur T.; Richardson, Herbert H. (1971). Introduction to system dynamics (2. print ed.). Reading, Mass.: Addison-Wesley Publ. Comp. ISBN 978-0-201-07017-0. 
  9. Chua, L. (1971). "Memristor-The missing circuit element". IEEE Transactions on Circuit Theory 18 (5): 507–519. doi:10.1109/TCT.1971.1083337. ISSN 0018-9324. Bibcode1971ITCT...18..507C. 
  10. Akbarpour Ghazani, Mehran; Pan, Michael; Tran, Kenneth; Rampadarath, Anand; Nickerson, David P. (2024). "A review of the diverse applications of bond graphs in biology and physiology" (in en). Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 480 (2294). doi:10.1098/rspa.2023.0807. ISSN 1471-2946. Bibcode2024RSPSA.48030807A. 
  11. 11.0 11.1 Oster, George; Perelson, Alan; Katchalsky, Aharon (1971). "Network Thermodynamics" (in en). Nature 234 (5329): 393–399. doi:10.1038/234393a0. ISSN 0028-0836. Bibcode1971Natur.234..393O. https://www.nature.com/articles/234393a0. 
  12. 12.0 12.1 Oster, George F.; Perelson, Alan S.; Katchalsky, Aharon (1973). "Network thermodynamics: dynamic modelling of biophysical systems" (in en). Quarterly Reviews of Biophysics 6 (1): 1–134. doi:10.1017/S0033583500000081. ISSN 0033-5835. PMID 4576440. https://www.cambridge.org/core/product/identifier/S0033583500000081/type/journal_article. 
  13. 13.0 13.1 13.2 13.3 13.4 Gawthrop, Peter J.; Crampin, Edmund J. (2014). "Energy-based analysis of biochemical cycles using bond graphs" (in en). Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 470 (2171). doi:10.1098/rspa.2014.0459. ISSN 1364-5021. PMID 25383030. Bibcode2014RSPSA.47040459G. 
  14. 14.0 14.1 Rajagopal, Vijay; Arumugam, Senthil; Hunter, Peter J.; Khadangi, Afshin; Chung, Joshua; Pan, Michael (2022). "The Cell Physiome: What Do We Need in a Computational Physiology Framework for Predicting Single-Cell Biology?" (in en). Annual Review of Biomedical Data Science 5 (1): 341–366. doi:10.1146/annurev-biodatasci-072018-021246. ISSN 2574-3414. PMID 35576556. https://www.annualreviews.org/doi/10.1146/annurev-biodatasci-072018-021246. 
  15. 15.0 15.1 15.2 15.3 15.4 15.5 15.6 Gawthrop, Peter J.; Pan, Michael (2022). "Network thermodynamics of biological systems: A bond graph approach" (in en). Mathematical Biosciences 352. doi:10.1016/j.mbs.2022.108899. PMID 36057321. 
  16. 16.0 16.1 Hunter, P.; de Bono, B.; Brooks, D.; Christie, R.; Hussan, J.; Lin, M.; Nickerson, D. (2025). "The Physiome Project and Digital Twins". IEEE Reviews in Biomedical Engineering 18: 300–315. doi:10.1109/RBME.2024.3490455. ISSN 1937-3333. PMID 39504298. Bibcode2025IRBE...18..300H. 
  17. Gawthrop, Peter J.; Cudmore, Peter; Crampin, Edmund J. (2020). "Physically-plausible modelling of biomolecular systems: A simplified, energy-based model of the mitochondrial electron transport chain" (in en). Journal of Theoretical Biology 493. doi:10.1016/j.jtbi.2020.110223. PMID 32119969. Bibcode2020JThBi.49310223G. https://linkinghub.elsevier.com/retrieve/pii/S0022519320300783. 
  18. Gawthrop, Peter J.; Cursons, Joseph; Crampin, Edmund J. (2015). "Hierarchical bond graph modelling of biochemical networks" (in en). Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 471 (2184). doi:10.1098/rspa.2015.0642. ISSN 1364-5021. Bibcode2015RSPSA.47150642G. https://royalsocietypublishing.org/doi/10.1098/rspa.2015.0642. 
  19. Pan, Michael; Gawthrop, Peter J.; Cursons, Joseph; Crampin, Edmund J. (2021-10-13). Wallqvist, Anders. ed. "Modular assembly of dynamic models in systems biology" (in en). PLOS Computational Biology 17 (10). doi:10.1371/journal.pcbi.1009513. ISSN 1553-7358. PMID 34644304. Bibcode2021PLSCB..17E9513P. 
  20. Gawthrop, Peter J.; Pan, Michael; Crampin, Edmund J. (2021). "Modular dynamic biomolecular modelling with bond graphs: the unification of stoichiometry, thermodynamics, kinetics and data" (in en). Journal of the Royal Society Interface 18 (181). doi:10.1098/rsif.2021.0478. ISSN 1742-5662. PMID 34428949. 
  21. Cudmore, Peter; Pan, Michael; Gawthrop, Peter J.; Crampin, Edmund J. (2021). "Analysing and simulating energy-based models in biology using BondGraphTools" (in en). The European Physical Journal E 44 (12). doi:10.1140/epje/s10189-021-00152-4. ISSN 1292-8941. PMID 34904197. https://link.springer.com/10.1140/epje/s10189-021-00152-4. 
  22. 22.0 22.1 22.2 Keener, James, ed (2009). Mathematical Physiology. Interdisciplinary Applied Mathematics. 8/1. New York, NY: Springer New York. doi:10.1007/978-0-387-75847-3. ISBN 978-0-387-75846-6. http://link.springer.com/10.1007/978-0-387-75847-3. 
  23. 23.0 23.1 Gawthrop, Peter J.; Siekmann, Ivo; Kameneva, Tatiana; Saha, Susmita; Ibbotson, Michael R.; Crampin, Edmund J. (2017). "Bond graph modelling of chemoelectrical energy transduction" (in en). IET Systems Biology 11 (5): 127–138. doi:10.1049/iet-syb.2017.0006. ISSN 1751-8849. PMC 8687425. https://ietresearch.onlinelibrary.wiley.com/doi/10.1049/iet-syb.2017.0006. 
  24. 24.0 24.1 Pan, Michael; Gawthrop, Peter J.; Tran, Kenneth; Cursons, Joseph; Crampin, Edmund J. (2019). "A thermodynamic framework for modelling membrane transporters" (in en). Journal of Theoretical Biology 481: 10–23. doi:10.1016/j.jtbi.2018.09.034. PMID 30273576. Bibcode2019JThBi.481...10P. https://linkinghub.elsevier.com/retrieve/pii/S0022519318304703. 
  25. 25.0 25.1 Pan, Michael; Gawthrop, Peter J.; Tran, Kenneth; Cursons, Joseph; Crampin, Edmund J. (2018). "Bond graph modelling of the cardiac action potential: implications for drift and non-unique steady states" (in en). Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 474 (2214). doi:10.1098/rspa.2018.0106. ISSN 1364-5021. PMID 29977132. Bibcode2018RSPSA.47480106P. 
  26. 26.0 26.1 Gawthrop, Peter J. (2017). "Bond Graph Modeling of Chemiosmotic Biomolecular Energy Transduction". IEEE Transactions on NanoBioscience 16 (3): 177–188. doi:10.1109/TNB.2017.2674683. ISSN 1536-1241. PMID 28252411. Bibcode2017ITNB...16..177G. 
  27. 27.0 27.1 27.2 Gawthrop, Peter J.; Pan, Michael; Rajagopal, Vijay (2025). "Energy-based modelling of single actin filament polymerization using bond graphs" (in en). Journal of the Royal Society Interface 22 (222). doi:10.1098/rsif.2024.0404. ISSN 1742-5662. PMID 39881657. 
  28. Peskin, C.S.; Odell, G.M.; Oster, G.F. (1993). "Cellular motions and thermal fluctuations: the Brownian ratchet" (in en). Biophysical Journal 65 (1): 316–324. doi:10.1016/S0006-3495(93)81035-X. PMID 8369439. Bibcode1993BpJ....65..316P. 
  29. Hunter, Peter; Dowrick, Jarrah; Ai, Weiwei; Nickerson, David; Shafieizadegan, Mohammad Hossein; Argus, Finbar (2026-01-30) (in en), The biophysical basis of enterocyte homeostasis, doi:10.64898/2026.01.28.702213, http://biorxiv.org/lookup/doi/10.64898/2026.01.28.702213, retrieved 2026-02-09 
  30. Tran, Kenneth; Pan, Michael; Hunter, Peter J.; Nickerson, David P. (2024), Iaizzo, Paul A.; Eggen, Michael D.; Iles, Tinen L., eds., "Cardiac Cellular Electrophysiological Modeling" (in en), Cardiac Electrophysiology Methods and Models: A Practical Handbook for Scientists, Engineers, and Clinicians (Cham: Springer Nature Switzerland): pp. 365–394, doi:10.1007/978-3-031-71067-4_12, ISBN 978-3-031-71067-4 
  31. Hunter, Peter J.; Ai, Weiwei; Nickerson, David P. (2025). "Energy-based bond graph models of glucose transport with SLC transporters". Biophysical Journal 124 (2): 316–335. doi:10.1016/j.bpj.2024.12.006. ISSN 0006-3495. PMID 39644093. Bibcode2025BpJ...124..316H. 
  32. Tran, Kenneth; Pan, Michael; Hunter, Peter J.; Nickerson, David P. (2024), Iaizzo, Paul A.; Eggen, Michael D.; Iles, Tinen L., eds., "Cardiac Cellular Electrophysiological Modeling" (in en), Cardiac Electrophysiology Methods and Models: A Practical Handbook for Scientists, Engineers, and Clinicians (Cham: Springer Nature Switzerland): pp. 365–394, doi:10.1007/978-3-031-71067-4_12, ISBN 978-3-031-71067-4 
  33. Su, Shan; Blanco, Pablo J.; Müller, Lucas O.; Hunter, Peter J.; Safaei, Soroush (2020-08-26). "Bond Graph Model of Cerebral Circulation: Toward Clinically Feasible Systemic Blood Flow Simulations". Physiome. doi:10.36903/physiome.12859424. ISSN 2744-6204. https://journal.physiomeproject.org/articles/S000001. 
  34. Pan, Michael; Gawthrop, Peter J.; Faria, Matthew; Johnston, Stuart T. (2025). "Thermodynamically consistent, reduced models of gene regulatory networks" (in en). Royal Society Open Science 12 (7). doi:10.1098/rsos.241725. ISSN 2054-5703. PMID 40746961. 
  35. Gawthrop, Peter; Pan, Michael (2025). "Energy-based analysis of biochemical oscillators using bond graphs and linear control theory" (in en). Royal Society Open Science 12 (4). doi:10.1098/rsos.241791. ISSN 2054-5703. PMID 40309185. Bibcode2025RSOS...1241791G. 
  36. Gawthrop, Peter J.; Pan, Michael (2022). "Energy-based advection modelling using bond graphs" (in en). Journal of the Royal Society Interface 19 (195). doi:10.1098/rsif.2022.0492. ISSN 1742-5662. 
  37. Gawthrop, Peter J.; Pan, Michael; Crampin, Edmund J. (2021). "Modular dynamic biomolecular modelling with bond graphs: the unification of stoichiometry, thermodynamics, kinetics and data" (in en). Journal of the Royal Society Interface 18 (181). doi:10.1098/rsif.2021.0478. ISSN 1742-5662. PMID 34428949. 
  38. Gawthrop, Peter J.; Cudmore, Peter; Crampin, Edmund J. (2020-05-21). "Physically-plausible modelling of biomolecular systems: A simplified, energy-based model of the mitochondrial electron transport chain". Journal of Theoretical Biology 493. doi:10.1016/j.jtbi.2020.110223. ISSN 0022-5193. PMID 32119969. Bibcode2020JThBi.49310223G. https://www.sciencedirect.com/science/article/pii/S0022519320300783. 
  39. Cacho, R.; Felez, J.; Vera, C. (2000-08-01). "Deriving simulation models from bond graphs with algebraic loops.: The extension to multibond graph systems". Journal of the Franklin Institute 337 (5): 579–600. doi:10.1016/S0016-0032(00)00025-9. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/S0016003200000259. 
  40. Gawthrop, P. J. (1995). "Bicausal Bond Graphs" (in en). https://eprints.gla.ac.uk/716/. 
  41. Samantaray, A. K.; Ghoshal, S. K. (2008-01-01). "Bicausal bond graphs for supervision: From fault detection and isolation to fault accommodation". Journal of the Franklin Institute 345 (1): 1–28. doi:10.1016/j.jfranklin.2007.05.009. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/S0016003207000609. 
  42. Gawthrop, Peter J. (2000-09-01). "Physical interpretation of inverse dynamics using bicausal bond graphs". Journal of the Franklin Institute 337 (6): 743–769. doi:10.1016/S0016-0032(00)00051-X. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/S001600320000051X. 
  43. Bideaux, Eric; Marquis-Favre, Wilfrid; Scavarda, Serge (2000-09-01). "Formulation of the Constitutive Relations in the Bicausal Bond Graph: Symbolic and Numerical Issues". IFAC Proceedings Volumes. IFAC Conference on Mechatronic Systems, Darmstadt, Germany, 18-20 September 2000 33 (26): 655–660. doi:10.1016/S1474-6670(17)39220-0. ISSN 1474-6670. https://www.sciencedirect.com/science/article/pii/S1474667017392200. 
  44. Dauphin-Tanguy, G.; Rahmani, A.; Sueur, C. (1999-12-15). "Bond graph aided design of controlled systems". Simulation Practice and Theory 7 (5): 493–513. doi:10.1016/S0928-4869(99)00009-9. ISSN 0928-4869. https://www.sciencedirect.com/science/article/pii/S0928486999000099. 
  45. Sueur, C.; Dauphin-Tanguy, G. (1991-01-01). "Bond-graph approach for structural analysis of MIMO linear systems". Journal of the Franklin Institute 328 (1): 55–70. doi:10.1016/0016-0032(91)90006-O. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/001600329190006O. 
  46. Marquis-Favre, Wilfrid; Scavarda, Serge (2002-09-01). "Alternative Causality Assignment Procedures in Bond Graph for Mechanical Systems" (in en). Journal of Dynamic Systems, Measurement, and Control 124 (3): 457–463. doi:10.1115/1.1481369. ISSN 0022-0434. https://asmedigitalcollection.asme.org/dynamicsystems/article/124/3/457/456591/Alternative-Causality-Assignment-Procedures-in. 
  47. Murray-Smith, David J. (2024). "Kelvin and Bush: Their Contributions to Today's System Modelling and Simulation Methods". SNE Simulation Notes Europe 34 (4): 233–239. doi:10.11128/sne.34.on.10716. https://www.sne-journal.org/10716. 
  48. Kailath, Thomas (1980). Linear systems. Prentice-Hall information and system sciences series. Englewood Cliffs, NJ: Prentice-Hall. ISBN 978-0-13-536961-6. 
  49. Ngwompo, R. Fotsu; Scavarda, S.; Thomasset, D. (1996-03-01). "Inversion of linear time-invariant SISO systems modelled by bond graph". Journal of the Franklin Institute 333 (2): 157–174. doi:10.1016/0016-0032(96)00025-7. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/0016003296000257. 
  50. Bera, Tarun K.; Samantaray, Arun K. (2011). "BOND GRAPH MODEL-BASED INVERSION OF PLANAR PARALLEL MANIPULATOR SYSTEMS" (in en). International Journal of Modelling and Simulation 31 (4). doi:10.2316/Journal.205.2011.4.205-5637. ISSN 1925-7082. http://www.actapress.com/PaperInfo.aspx?paperId=42698. 
  51. Gawthrop, Peter J. (2000-09-01). "Physical interpretation of inverse dynamics using bicausal bond graphs". Journal of the Franklin Institute 337 (6): 743–769. doi:10.1016/S0016-0032(00)00051-X. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/S001600320000051X. 
  52. Gawthrop, P. J. (1995). "Bicausal Bond Graphs" (in en). https://eprints.gla.ac.uk/716/. 
  53. Ngwompo, R. Fotsu; Scavarda, S.; Thomasset, D. (1996-03-01). "Inversion of linear time-invariant SISO systems modelled by bond graph". Journal of the Franklin Institute 333 (2): 157–174. doi:10.1016/0016-0032(96)00025-7. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/0016003296000257. 
  54. 54.0 54.1 Gawthrop, Peter J. (2000-09-01). "Physical interpretation of inverse dynamics using bicausal bond graphs". Journal of the Franklin Institute 337 (6): 743–769. doi:10.1016/S0016-0032(00)00051-X. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/S001600320000051X. 
  55. Ngwompo, R F; Ngwompo, R F; Scavarda, S; Thomasset, D (2001-03-01). "Physical model-based inversion in control systems design using bond graph representation Part 1: Theory" (in EN). Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering 215 (2): 95–104. doi:10.1243/0959651011540888. ISSN 0959-6518. 
  56. Samantaray, A. K.; Ghoshal, S. K. (2008-01-01). "Bicausal bond graphs for supervision: From fault detection and isolation to fault accommodation". Journal of the Franklin Institute 345 (1): 1–28. doi:10.1016/j.jfranklin.2007.05.009. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/S0016003207000609. 
  57. Benmoussa, Samir; Bouamama, Belkacem Ould; Merzouki, Rochdi (April 2014). "Bond Graph Approach for Plant Fault Detection and Isolation: Application to Intelligent Autonomous Vehicle". IEEE Transactions on Automation Science and Engineering 11 (2): 585–593. doi:10.1109/TASE.2013.2252340. ISSN 1558-3783. https://ieeexplore.ieee.org/document/6495725/. 
  58. El Feki, Mariem; Jardin, Audrey; Marquis-Favre, Wilfrid; Krähenbühl, Laurent; Bideaux, Eric; Thomasset, Daniel (2012-11-01). "Determination of Essential Orders From a Bond Graph Model" (in en). Journal of Dynamic Systems, Measurement, and Control 134 (6). doi:10.1115/1.4004772. ISSN 0022-0434. https://asmedigitalcollection.asme.org/dynamicsystems/article/doi/10.1115/1.4004772/380533/Determination-of-Essential-Orders-From-a-Bond. 
  59. Bideaux, Eric; Marquis-Favre, Wilfrid; Scavarda, Serge (2006). "Equilibrium set investigation using bicausality" (in en). Mathematical and Computer Modelling of Dynamical Systems 12 (2-3): 127–140. doi:10.1080/13873950500069003. ISSN 1387-3954. http://www.tandfonline.com/doi/abs/10.1080/13873950500069003. 
  60. Mouhib, Omar; Jardin, Audrey; Marquis-Favre, Wilfrid; Bideaux, Eric; Thomasset, Daniel (2009-01-01). "Optimal control problem in bond graph formalism". Simulation Modelling Practice and Theory. Bond Graph Modelling 17 (1): 240–256. doi:10.1016/j.simpat.2008.04.011. ISSN 1569-190X. https://www.sciencedirect.com/science/article/pii/S1569190X08000646. 
  61. Sanchez, Roberto; Dauphin-Tanguy, Geneviève; Guillaud, Xavier; Colas, Frédéric (2010-10-01). "Bond graph based control of a three-phase inverter with LC filter – Connection to passive and active loads". Simulation Modelling Practice and Theory 18 (9): 1185–1198. doi:10.1016/j.simpat.2010.05.016. ISSN 1569-190X. https://www.sciencedirect.com/science/article/pii/S1569190X10001164. 
  62. Vink, D.; Ballance, D.; Gawthrop, P. (2006). "Bond graphs in model matching control" (in en). Mathematical and Computer Modelling of Dynamical Systems 12 (2-3): 249–261. doi:10.1080/13873950500068278. ISSN 1387-3954. http://www.tandfonline.com/doi/abs/10.1080/13873950500068278. 
  63. Ngwompo, R. F; Scavarda, S (1999-12-15). "Dimensioning problems in system design using bicausal bond graphs". Simulation Practice and Theory 7 (5): 577–587. doi:10.1016/S0928-4869(99)00013-0. ISSN 0928-4869. https://www.sciencedirect.com/science/article/pii/S0928486999000130. 
  64. Ngwompo, Roger F.; Gawthrop, Peter J. (1999-11-01). "Bond graph-based simulation of non-linear inverse systems using physical performance specifications". Journal of the Franklin Institute 336 (8): 1225–1247. doi:10.1016/S0016-0032(99)00032-0. ISSN 0016-0032. https://www.sciencedirect.com/science/article/pii/S0016003299000320. 
  65. 65.0 65.1 Richard, P. Y.; Buisson, J.; Cormerais, H. (2002-01-01). "ANALYSIS OF FLATNESS USING BOND GRAPHS AND BICAUSALITY". IFAC Proceedings Volumes. 15th IFAC World Congress 35 (1): 25–30. doi:10.3182/20020721-6-ES-1901.00254. ISSN 1474-6670. https://www.sciencedirect.com/science/article/pii/S1474667015386754. 
  66. "Bond Graph Modelling of Engineering Systems". http://www3.math.tu-berlin.de/numerik/MoRTransPhen/materials/Breedveld/BreedveldChapter.pdf. 

Further reading

  • Simscape Official MATLAB/Simulink add-on library for graphical bond graph programming
  • BG V.2.1 Freeware MATLAB/Simulink add-on library for graphical bond graph programming
  • BondGraphTools Python based bond graph processing.