Main Page: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
{{About|Bioinformatics|the disease in horses known by the acronym "PSSM"|Equine polysaccharide storage myopathy}}
A '''bond graph''' is a [[Graph (mathematics)|graphical representation]] of a physical [[dynamical system|dynamic system]]. It is similar to the better known [[block diagram]] and [[signal-flow graph]], with the major difference that the arcs in bond graphs represent [[Undirected graph|bi-directional]] exchange of physical [[energy]], while those in block diagrams and signal-flow graphs represent [[Directed graph|uni-directional]] flow of information. Also, bond graphs are multi domain and domain neutral. This means a bond graph can incorporate multiple domains seamlessly.
{{Expert-subject|date=September 2011}}


A '''position weight matrix (PWM)''', also called '''position-specific weight matrix (PSWM)''' or '''position-specific scoring matrix (PSSM)''', is a commonly used representation of [[sequence motif|motifs]] (patterns) in biological sequences.<ref name="Ben-Gal2005">{{cite journal |author=Ben-Gal I, Shani A, Gohr A, Grau J, Arviv S, Shmilovici A, Posch S, Grosse I |title=Identification of Transcription Factor Binding Sites with Variable-order Bayesian Networks |journal=Bioinformatics |volume=21 |issue=11 |year=2005 |pages=2657–2666 |url=http://bioinformatics.oxfordjournals.org/cgi/reprint/bti410?ijkey=KkxNhRdTSfvtvXY&keytype=ref |doi=10.1093/bioinformatics/bti410 |pmid=15797905}}</ref>
The Bond Graph is composed of the "bonds" which link together "single port", "double port" and "multi port" elements (see below for details). Each bond represents the instantaneous flow of energy (dE/dt) or power. The flow in each bond is denoted a pair of variables called 'power variables' whose product is the instantaneous power of the bond. For example, the bond of an electrical system would represent the flow of electrical energy and the power variables would be voltage and current, whose product is power. Each domain's power variables are broken into two types: "effort" and "flow". Effort multiplied by flow produces power, thus the term power variables. Every domain has a pair of power variables with a corresponding effort and flow variable. Examples of effort include force, torque, voltage, or pressure; while flow examples include velocity, current, and volumetric flow. The table below contains the most common energy domains and the corresponding "effort" and "flow".


A PWM is a matrix of score values that gives a weighted match to any given [[substring]] of fixed length. It has one row for each symbol of the alphabet, and one column for each position in the pattern. The score assigned by a PWM to a [[substring]] <math>s=(s_j)_{j=1}^N</math> is defined as <math>\textstyle \sum_{j=1}^{N}{m_{s_j,j}}</math>, where <math>j</math> represents position in the substring, <math>s_j</math> is the symbol at position <math>j</math> in the substring, and <math>m_{\alpha,j}</math> is the score in row <math>\alpha</math>, column <math>j</math> of the matrix. In other words, a PWM score is the sum of position-specific scores for each symbol in the substring.
A bond has two other features described briefly here, and discussed in more detail below. One is the "half-arrow" sign convention. This defines the assumed direction of positive energy flow. As with electrical circuit diagrams and free-body diagrams, the choice of positive direction is arbitrary, with the caveat that the analyst must be consistent throughout with the chosen definition. The other feature is the "causal stroke". This is a vertical bar placed on only one end of the bond. It is not arbitrary. As described below, there are rules for assigning the proper causality to a given port, and rules for the precedence among ports. Any port (single, double or multi) attached to the bond shall specify either "effort" or "flow" by its causal stroke, but not both. The port attached to the end of the bond with the "causal stroke" specifies the "flow" of the bond. And the bond imposes "effort" upon that port. Equivalently, the port on the end without the "causal stroke" imposes "effort" to the bond, while the bond imposes "flow" to that port. This is made more clear with the illustrative examples below.


==Basic PWM with log-likelihoods==
{| class="wikitable"
A PWM assumes independence between positions in the pattern, as it calculates scores at each position independently from the symbols at other positions.
|-
The score of a substring aligned with a PWM can be interpreted as the [[likelihood function|log-likelihood]] of the substring under a product multinomial distribution. Since each column defines log-likelihoods for each of the different symbols, where the sum of likelihoods in a column equals one, the PWM corresponds to a [[Multinomial distribution]]. A PWM's score is the sum of log-likelihoods, which corresponds to the product of likelihoods, meaning that the score of a PWM is then a product-multinomial distribution. The PWM scores can also be interpreted in a physical framework as the sum of binding energies for all [[nucleotide]]s (symbols of the substring) aligned with the PWM.
! Energy Domain
! effort
! e symbol
! e unit (metric)
! e unit (imperial)
! flow
! f symbol
! f unit (metric)
! f unit (imperial)
|-
| Mechanical, translation
| Force
| F
| N
| lb
| Linear velocity
| v
| m/s
| ft/s, mph
|-
| Mechanical, rotation
| Torque
| τ
| N·m
| ft·lb
| Angular velocity
| ω
| rad/s
| rad/s
|-
| Electrical
| Electromotive force
| V or u
| V
| V
| Current
| I or i
| A
| A
|-
| Magnetic <ref>Karnopp, D. C., Rosenberg, R. C. and Margolis, D. L., 1990: ''System dynamics: a unified approach'', Wiley, ISBN 0-471-62171-4.</ref>
| Magnetomotive force
|
|
|
| Flux rate
|
|
|
|-
| Hydraulic
| Pressure
| P
| Pa
| psi
| Volumetric flow rate
| Q
| m³/s
| ft³/s
|-
| Thermal
| temperature
| T
| °C or K
| °F
| entropy flow rate
| S
| W/°C
| ft·lb/s·°F
|}


==Incorporating background distribution==
If the dynamics of the physical system to be modeled operate on widely varying time scales, fast continuous-time behaviors can be modeled as instantaneous phenomena by using a [[hybrid bond graph]].
Instead of using log-likelihood values in the PWM, as described in the previous paragraph, several methods uses [[log-odds]] scores in the PWMs. An element in a PWM is then calculated as <math>m_{i,j}=log(p_{i,j} / b_i)</math>, where <math>p_{i,j}</math> is the probability of observing symbol i at position j of the motif, and <math>b_i</math> is the probability of observing the symbol i in a background model. The PWM score then corresponds to the log-odds of the substring being generated by the motif versus being generated by the background, in a [[generative model]] of the sequence.


==Information content of a PWM==
==History==
The [[information content]] (IC) of a PWM is sometimes of interest, as it says something about how different a given PWM is from a [[uniform distribution (discrete)|uniform distribution]].
The Bond Graph was invented by [[Henry Paynter]].<ref>{{cite book |author=Paynter, Henry M. |title=Analysis and Design of Engineering Systems |publisher= The M.I.T. Press |ISBN= 0-262-16004-8}}</ref> The term "Bond Graph" comes from the fact that many of these graphs look like the bonds in chemistry; an example of this structure is shown in the 'examples' section of this wiki.<ref>{{cite book |author=Karnopp, Dean C. |title=System Dynamics- Modeling and Simulation of Mechetronic Systems |publisher= John Wiley and Sons Inc. |ISBN= 0-471-70965-4}}</ref>


The [[self-information]] of observing a particular symbol at a particular position of the motif is:
==Basics==
:<math>-\log(p_{i,j})</math>
The fundamental idea of a bond graph is that [[Power (physics)|power]] is transmitted between connected components by a combination of "effort" and "flow" (generalized effort & generalized flow). Refer to the table above for examples of effort and flow in different domains. If an engine is connected to a wheel through a shaft, the power is being transmitted in the rotational mechanical domain, meaning the effort and the flow are torque (τ) and angular velocity (ω) respectively. A word bond graph is a first step towards a bond graph, in which words define the components. As a word bond graph, this system would look like:


The expected (average) self-information of a particular element in the PWM is then:
:<math>-p_{i,j} \cdot \log(p_{i,j})</math>


Finally, the IC of the PWM is then the sum of the expected self-information of every element:
<math>{\text{engine}}\;\overset{\textstyle\tau}{\underset{\textstyle\omega}{-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}\;\text{wheel}</math>
:<math>\textstyle -\sum_{i,j} p_{i,j}\cdot \log(p_{i,j})</math>
<!--
            τ
engine ---------- wheel
            ω
-->


Often, it is more useful to calculate the information content with the background letter frequencies of the sequences you are studying rather than assuming equal probabilities of each letter (e.g., the GC-content of DNA of [[thermophilic]] bacteria range from 65.3 to 70.8,<ref name="Aleksandrushkina1978">{{cite journal |author=Aleksandrushkina NI, Egorova LA |title=Nucleotide makeup of the DNA of thermophilic bacteria of the genus Thermus |journal=Mikrobiologiia |volume=47 |issue=2 |pages=250–2 |year=1978 |pmid=661633}}</ref> thus a motif of ATAT would contain much more information than a motif of CCGG). The equation for information content thus becomes
:<math>\textstyle -\sum_{i,j} p_{i,j}\cdot \log(p_{i,j}/p_{b})</math>
where <math>p_{b}</math> is the background frequency for that letter. This corresponds to the [[Kullback-Leibler divergence]] or relative entropy. However, it has been shown that when using PSSM to search genomic sequences (see below) this uniform correction can lead to overestimation of the importance of the different bases in a motif, due to the uneven distribution of n-mers in real genomes, leading to a significantly larger number of false positives.<ref name="Erill2009">{{cite journal |author=Erill I, O'Neill MC |title=A reexamination of information theory-based methods for DNA-binding site identification |journal=BMC Bioinformatics |volume=10 |year=2009 |pmid=19210776 |pages=57 |doi=10.1186/1471-2105-10-57 |pmc=2680408}}</ref>


==Using PWMs==
A half-arrow is used to provide a sign convention, so if the engine is doing work when τ and ω are positive, then the diagram would be drawn:
There are various algorithms to scan for hits of PWMs in sequences. One example is the MATCH algorithm<ref name="Kel2003">{{cite journal |author=Kel AE, ''et. al.'' |title=MATCHTM: a tool for searching transcription factor binding sites in DNA sequences |journal=Nucleic Acids Research |volume=31 |pages=3576–3579 |year=2003 |doi=10.1093/nar/gkg585 |pmid=12824369 |issue=13 |pmc=169193}}</ref> which has been implemented in the ModuleMaster.<ref name="Wrzodek2010">{{Cite journal
 
  | last1 = Wrzodek | first1 = Clemens
 
   | last2 = Schröder | first2 = Adrian
<math>{\text{engine}}\;\overset{\textstyle\tau}{\underset{\textstyle\omega}{-\!\!\!-\!\!\!-\!\!\!\rightharpoondown}}\;\text{wheel}</math>
   | last3 = Dräger | first3 = Andreas
<!--
   | last4 = Wanke | first4 = Dierk
            τ
   | last5 = Berendzen | first5 = Kenneth W.
engine ---------- wheel
  | last6 = Kronfeld | first6 = Marcel
            ω    /
  | last7 = Harter | first7 = Klaus
-->
  | last8 = Zell | first8 = Andreas
 
   | title = ModuleMaster: A new tool to decipher transcriptional regulatory networks
 
   | journal = Biosystems
A full arrow is used to indicate a measurement, and are referred to as signal bonds, because the amount of power flowing through the bond is insignificant. However, it may be useful to certain physical components. For example, the power required to activate a relay is orders of magnitude smaller than the power through the relay itself; making it relevant only to convey whether the switch is on, not the power consumed by it.
  | volume = 99
 
  | issue = 1
 
  | pages = 79–81
<math>{\text{wheel}}\;\overset{\textstyle}{\underset{\textstyle\omega}{-\!\!\!-\!\!\!-\!\!\!\rightarrow}}\;\text{tachometer}</math>
   | publisher = Elsevier
 
  | location = Ireland
 
  | date = 9 October 2009
<!--
  | year = 2010
                \
   | doi = 10.1016/j.biosystems.2009.09.005
wheel ---------- tachometer
   | issn = 0303-2647
          ω    /
   | pmid = 19819296
-->
  }}</ref> More sophisticated algorithms for fast database searching with nucleotide as well as amino acid PWMs/PSSMs are implemented in the possumsearch software and are described by Beckstette, ''et al.'' (2006).<ref name="Beckstette2006">{{cite journal |author=Beckstette, M. |title=Fast index based algorithms and software for matching position specific scoring matrices |journal=BMC Bioinformatics |volume=7 |year=2006 |doi=10.1186/1471-2105-7-389 |pmid=16930469 |pages=389 |pmc=1635428 |display-authors=1 |last2=Homann |first2=Robert |last3=Giegerich |first3=Robert |last4=Kurtz |first4=Stefan}}</ref>
 
==Junctions==
Power bonds may join at one of two kinds of junctions: a '''0 junction''' and a '''1 junction'''.
* In a 0 junction, the flow sums to zero and the efforts are equal. This corresponds to a node in an electrical circuit (where [[Kirchhoff's current law]] applies), or to a mechanical "stack" in which all the forces are equal.
* In a 1 junction, the efforts sum to zero and the flows are equal. This corresponds to an electrical loop, or to a [[force]] balance at a mass in a mechanical system.
 
For an example of a 1 junction, consider a resistor in series:
 
 
<math>\frac{v_1\qquad}{i_1 \qquad}\overset{\textstyle R}{\!\!\and\!\!\and\!\!\and\!}\frac{\qquad v_2}{\qquad i_2=i_1}</math>
<!--
v1 ---\/\/\/\---v2
i1      R      i2=i1
-->
 
 
In this case, the flow (current) is constrained to be the same at all points, and when the implied current return path is included the efforts sum to zero. Power can be computed at points 1 and 2, and in general some power will be dissipated in the resistor. As a bond graph, this becomes
 
 
<math>\overset{\textstyle v_1}{\underset{\textstyle i_1}{-\!\!\!-\!\!\!-\!\!\!\rightharpoondown}}
\stackrel{\textstyle\stackrel{\textstyle R}{\upharpoonright}}{1}
\overset{\textstyle v_2}{\underset{\textstyle i_2}{-\!\!\!-\!\!\!-\!\!\!\rightharpoondown}}
</math>
<!--
        R
        |\
  v1  |  v2
------ 1 ------
  i1 /    i2 /
-->
 
 
From an electrical point of view, this diagram may seem counterintuitive in that flow is not preserved in the same way across the diagram. It may be helpful to consider the 1 junction as [[daisy chain (electrical engineering)|daisy chain]]ing the bonds it connects to and power bond up to the ''R'' as a resistor with a lead returning back down.
<!-- ... , so the above is equivalent to
        R
    +\/\/\+
      \  /
      | |
  v1  | |  v2
------+ +------
  i1      i2
-->
 
Regardless of the problem domain, bond graph modeling typically proceeds from the identification of key 1 and 0 junctions associated with identifiable efforts and flows in the system, then identifying the dissipative (''R'') and storage elements (''I'' and ''C''), power sources, and drawing bonds wherever power or information flow between the sources, junctions, and storage/dissipative components.  Then sign conventions (arrow heads), and causality are assigned, and finally equations describing the behavior of the system can be derived using the graph as a kind of guide or map.
 
=== Causality ===
Bond graphs have a notion of causality, indicating which side of a bond determines the instantaneous effort and which determines the instantaneous flow. In formulating the dynamic equations that describe the system, causality defines, for each modeling element, which variable is dependent and which is independent.  By propagating the causation graphically from one modeling element to the other, analysis of large-scale models becomes easier.  Completing causal assignment in a bond graph model will allow the detection of modeling situation where an algebraic loop exists; that is the situation when a variable is defined recursively as a function of itself.
 
As an example of causality, consider a capacitor in series with a battery. It is not physically possible to charge a capacitor instantly, so anything connected in parallel with a capacitor will necessarily have the same voltage (effort variable) as the capacitor. Similarly, an inductor cannot change flux instantly and so any component in series with an inductor will necessarily have the same flow as the inductor. Because capacitors and inductors are passive devices, they cannot maintain their respective voltage and flow indefinitely&mdash;the components to which they are attached will affect their respective voltage and flow, but only indirectly by affecting their current and voltage respectively.
 
Note: Causality is a symmetric relationship. When one side "causes" effort, the other side "causes" flow.
 
Active components such as an ideal voltage or current source are also causal.
 
In bond graph notation, a '''causal stroke''' may be added to one end of the power bond to indicate that the opposite end is defining the effort. Consider a constant-torque motor driving a wheel, i.e. a source of effort (''SE''). That would be drawn as follows:
 
 
<math>\begin{array}[b]{r}\text{motor}\\SE\end{array}\;
\overset{\textstyle\tau}{\underset{\textstyle\omega}{-\!\!\!-\!\!\!-\!\!\!\rightharpoonup\!\!\!|}}\;\text{wheel}</math>
<!--
 
  motor      τ    \|
      SE  ----------| wheel
              ω    |
-->
 
 
Symmetrically, the side with the causal stroke (in this case the wheel) defines the flow for the bond.
 
Causality results in compatibility constraints. Clearly only one end of a power bond can define the effort and so only one end of a bond can have a causal stroke. In addition, the two passive components with time-dependent behavior, ''I'' and ''C'', can only have one sort of causation: an ''I'' component determines flow; a ''C'' component defines effort. So from a junction, ''J'', the only legal configurations for ''I'' and ''C'' are
 
 
<math>J\;
\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!\rightharpoonup\!\!\!|}}\;I
\qquad\text{and}\qquad
J\;
\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!\rightharpoonup}}\;C</math>
<!--
          \|
  J -------| I
          |
 
    |      \
  J |------- C
    |
-->
 
 
A resistor has no time-dependent behavior: you can apply a voltage and get a flow instantly, or apply a flow and get a voltage instantly, thus a resistor can be at either end of a causal bond:
 
 
<math>J\;
\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!\rightharpoonup\!\!\!|}}\;R
\qquad \text{and} \qquad
J\;
\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!\rightharpoonup}}\;R</math>
<!--
        \|              |       \
J -------| R          J |-------- R
          |               |
-->
 
 
Sources of flow (''SF'') define flow, sources of effort (''SE'') define effort. Transformers are passive, neither dissipating nor storing energy, so causality passes through them:
 
 
<math>\;\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!|}}\;
\dot{T}\dot{F}
\;\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!|}}\;
\qquad \text{or} \qquad
\;\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}\;
\dot{T}\dot{F}
\;\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}\;
</math>
<!--
        | ..      |          |      .. |
  ------| TF -----|    or    |------ TF |------
        |        |          |          |
-->
 
 
A gyrator transforms flow to effort and effort to flow, so if flow is caused on one side, effort is caused on the other side and vice versa:
 
 
<math>\;\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}\;
\dot{G}\dot{Y}
\;\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!|}}\;
\qquad \text{or} \qquad
\;\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!|}}\;
\dot{G}\dot{Y}
\;\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}\;
</math>
<!--
  |      ..      |                | .. |   
  |------ GY -----|    or    ------| GY |------
  |              |                |    |
-->
 
 
; Junctions
In a 0-junction, efforts are equal; in a 1-junction, flows are equal. Thus, with causal bonds, only one bond can cause the effort in a 0-junction and only one can cause the flow in a 1-junction. Thus, if the causality of one bond of a junction is known, the causality of the others is also known. That one bond is called the '''strong bond'''
 
 
<math>\text{strong bond}\rightarrow\;\dashv\!\overset{\textstyle \top}{\underset{\textstyle\bot}{0}}\!\dashv
\qquad\text{and}\qquad
\text{strong bond}\rightarrow\;\vdash\!\overset{\textstyle \bot}{\underset{\textstyle\top}{1}}\!\vdash</math>
<!--
                ___
                  |
                  |
                  |
          ------| 0 ------|
  strong bond ^
                  |
                  |
                  |
                ---
 
 
                  |
                  |
                  |
                ---
          |------ 1 |------
strong bond ^   ___
                  |
                  |
                  |
-->
 
 
One can continue, assigning causality using the above rules. Any model which results in inconsistent causality is not physically valid. For example, consider an inductor in series with an ideal current source&mdash;a physically impossible configuration. The bond graph would look like
 
 
<math>SF\;\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}
1
\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}\;I
</math>
<!--
  SF ------ 1 ------ I
-->
 
 
Assigning causality to the source bond we get:
 
 
<math>SF\;\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}
1
\overset{\textstyle}{\underset{\textstyle}{-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}\;I
</math>
<!--
   SF |----- 1 ------ I
-->
 
 
Propagating the causality through the junction gives
 
 
<math>SF\;\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}
1
\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}\;I
</math>
<!--
   SF |----- 1 |----- I
-->
 
 
But assigning causality to the inductor gives
 
 
<math>SF\;\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-}}
1
\overset{\textstyle}{\underset{\textstyle}{|\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!\!\!-\!|}}\;I
</math>
<!--
   SF |----- 1 |----| I
-->
 
 
which is invalid, because the causality on the right bond is redundant. This ability to automatically identify impossible configurations is a major advantage of bond graphs.
 
In contrast, one can inadvertently draw an electrical diagram or mechanical schematic that, while possible to construct, would not behave as modeled. For example, one can connect a capacitor directly to a battery, but the assumption that the battery is an ideal voltage source would be violated corresponding with the fact that the theoretical flux would be infinite. The bond graph would tell you that a resistor needs to be put in series with the capacitor to keep the model realistic.
 
==Example==
{{Expert-subject|Science|date=November 2008}}
Consider a simple [[RC circuit]]:<ref>{{cite web|url=http://www.mech.gla.ac.uk/Research/Control/Publications/Reports/csc99005.ps |title=University of Glasgow :: School of Engineering :: Former Department sites |publisher=Mech.gla.ac.uk |date= |accessdate=2012-08-28}}</ref>
 
        R
   i1 --\/\/\-----+------ i2 →
  v1            |       v2
              C = ↓ic
                |
      ground ----+------
 
where v1 represents a voltage source that is implied as being connected to the resistor, and v2 represents an "output" measurement point.
 
If one follows the "flows" through the circuit diagram then the basic structure of 1 (common flow) and 0 (common effort) nodes can be identified.  In general, one should be looking for common (shared) efforts and common (shared) flows, but commonality may not be immediately obvious to the new practitioner, so to get started one can place a 0 node wherever a distinct effort potential (voltage) can be identified, and 1 nodes wherever a flow is identified, and then bonds between the 0 and 1 nodes:  
 
  i1    v1    ir    v2    i2
  1 --- 0 --- 1 --- 0 ---- 1
                    |
                    1 ic
 
Note that i1 and ic both involve current flows to ground, so no power flows there, so no bonds are shown for those power flows.
 
Next, one can add the power dissipating elements next to and connected to the 1 junctions representing flows through components. The connecting bonds represent the power flows that are generated, stored or dissipated by those elements.
 
   Se,in        R
    |           |
    |          |    v2    i2
    1 --- 0 --- 1 --- 0 ---- 1
    i1    v1    ir    |
                      |
                      1 --- C
                      ic
 
Next, 0 or 1 junctions that only have one or two bonds can be optimized out of existence because the power flows on those bonds are identical.
 
            R
            |ir
        v1  |     v2    i2
   Se,in ---- 1 --- 0 --- 1
        i1        |
                  | ic
                  C
 
Note that because v2 is measured, we can equivalently assume that i1=0 or that the output bond has a full arrow, and we can re-arrange the bonds for a more regular graph, and we can assign direction of power flow:
 
              R      C
              |\      |\
              |ir    |ic
        v1                \ i2
   Se,in ----- 1 ----- 0 ----- out
        i1 /      /      /
 
The half-arrows on the remaining 1 junction are assigned so that the power flows into passive elements (R and C), out of the source of effort, and arbitrarily for flows between the 0 and 1 junctions.  If you can anticipate a convention that causes them to be positive then interpreting results will usually be easier. For example, the power flowing between the 1 and 0 junctions should flow away from the 1 junction like the power flowing to the resistor, so set the half-arrow to reflect that.
 
Causality is defined by first setting the causality for reactive elements and power sources according to their behavior. Sources of effort and capacitors should impose effort (causality stroke opposite the source), and sources of flow and inertial elements should impose flow (causality stroke near the source). Once this is done, all 0 junctions should have one causal stroke on the near end of its bonds, and all 1 junctions should have only one causal stroke on the opposite end of any of its bonds. Causality for bonds on resistive elements can go whichever way satisfies the junction at the other end of the bond.
 
                R          C
              ---
                |\        |\
                |          |ic
                          ---
        v1   |     |            v2  \
Se,in ------|  1  |-----  0  ------- out
        i1  /|    |    /      i2  /
 
Note that the output is assumed to draw no power from the circuit, so a full arrow is used instead of a half-arrow.  For the purpose of modeling dynamics, this means the output full bond can be ignored and the diagram is simplified (though the variables have now been renumbered):
 
                R
                ---
                |\
              v3 | i3
                |
        v1   |     | v2
S_e,in ------|  1  |-----  C
        i1  /|    | i2 /
 
Although a systematic approach to formulating the bond graph was described above, in retrospect the central 1 junction in the final bond graph reflects the fact that the same current flows through the input voltage source, the resistor, and the capacitor.  One attraction of bond graphs is that experienced bond graph users can bypass many steps on their way to modeling the dynamic system.
 
Having completed and simplified the bond graph, the diagram can now be used for its intended purpose: guiding the practitioner through the generation of differential equations that describe the dynamics of the system.  This is accomplished by starting at each of the reactive elements in turn and working through the implications of each bond and junction.  This process can, in more complicated diagrams, involve traversing the bonds in both directions at times, but having properly defined causality will prevent this apparent retracing of steps from leading to algebraic loops or integral equations.
 
<math>S_e,in</math> is a "source of effort" (voltage source) that forces the dynamics.  Note that the causality for a source of effort imposes effort on the junction. To avoid formulating integral equations, the causality stroke for the capacitor must also impose effort on the junction.  Since every 1 junction should have exactly one flow causal stroke, bond 3 must show flow imposed by the R element (causal stroke away from 1 junction).
 
To derive the differential equation, start on bond 2 (attached to a reactive element) and write the differential equation for that reactive element:
 
<math>\dot{v}_2 = {1 \over C} i_2 </math>
 
One can follow an invisible path from <math>v_2</math> through the C and back to the <math>i_2</math> corresponding to writing this equation down. Because bond 2 is attached to a 1 junction (shared flow) where bond 3 determines the flow, we can extend our path through the diagram from the <math>i_2</math> of bond 2 to the <math>i_3</math> of bond 3 following the flow causal stroke, obtaining <math>i_2 = i_3</math>.  Note that we ignore the half-arrows at this point because all flows on a 1 junction are equal, regardless of direction of power flow. Substituting, we expand the differential equation with more information about the system:
 
<math>\dot{v}_2 = {1 \over C} i_3 </math>
 
At this point, we can follow the causality path from <math>i_3</math> through R and back to <math>v_3</math>, writing the corresponding relation <math>i_3 = {v_3 \over R}</math>. We can substitute this relation into the differential equation:
 
<math>\dot{v}_2 = {1 \over C} {v_3 \over R} </math>
 
Continuing to follow causality, the effort on bond 3 (<math>v_3</math>) is related to all the other efforts on the 1 junction since they must all sum to zero. That is, using the half-arrows to define signs we can write <math>v_3 = v_1 - v_2</math> and substitute this into the differential equation:
 
<math>\dot{v}_2 = {1 \over C} { { v_1 - v_2 } \over R} </math>
 
Since <math>v_1</math> is an input, and <math>v_2</math> is a [[State space representation|state variable]] (effort on a C element), the equation is completely expanded.  Had it not been completely expanded, it might be necessary to follow two causality paths beyond this point to eventually completely expand the differential equation.
 
For systems with multiple I and/or C elements, the process can be repeated once for each derivative of a state variable to form a system of (typically but not necessarily linear) differential equations. For example, suppose we put two of these RC circuits in series:
 
        R            → i2    R             
  i1 --\/\/\-----+------------\/\/\-----+------ i3 →
  v1            |      v2            |       v3
              C = ↓ic              C = ↓ic
                |                      |
      ground ----+----------------------+---------
 
Although this circuit was constructed as two cascaded RC circuits, the behavior of the first RC circuit is now complicated by the fact that power flows out of its "output" where before no power flowed there.  This changes the overall dynamics of this system, but bond graphs can guide the formation of correct equations anyway. The corresponding bond graph looks like
 
            R          C          R        C
          ---                  ---
            |\        |\        |\        |\
          6 |        4 |        2 |      3 |
                      ---                  ---
      1  |  |  5          7  |  |  8        9  \
SE ------| 1 |------  0  ------| 1 |------ 0 ------ out
        /|  |    /          /|  |    /        /
 
where the ever-present effort/flow (voltage/current in this case) variables have been dropped and the bonds are simply numbered per typical bond graph convention (in this case the first four numbers were placed to avoid confusion with the signal numbering in the circuit diagram).  Again, the output is assumed to draw no power so bonds 8 and 9 can effectively be removed in favor of a direct connection to bond 3:
 
            R          C          R
          ---                  ---
            |\        |\        |\
          6 |        4 |        2 |
                      ---             
      1  |   | 5          7   |  |  3
SE ------| 1 |------  0  ------| 1 |------ C
        /|  |    /          /|   |    /
 
As before, we can start with the derivative of a [[State space representation|state variable]] (<math>v_4</math>) and follow the bonds to form equations:
 
<math>\dot{v}_4 = {1 \over C_4} i_4 = {1 \over C_4} (i_5 - i_7)  = {1 \over C_4} (i_6 - i_2) </math>
 
Continuing the expansion:
 
<math>\dot{v}_4 = {1 \over C_4} ({v_6 \over R_6} - {v_2 \over R_2}) </math>
 
<math>\dot{v}_4 = {1 \over C_4} ({{v 1 - v 5} \over R_6} - {{v 7 - v 3} \over R_2})  </math>
 
<math>\dot{v}_4 = {1 \over C_4} ({{v 1 - v 4} \over R_6} - {{v 4 - v 3} \over R_2} )</math>
 
At this point, <math>\dot{v}_4</math> is defined in terms of inputs and state variables.
 
Similarly, <math>\dot{v}_3</math> can be obtained in terms of inputs and state variables:
 
<math>\dot{v}_3 = -{1 \over {C_3 R_2}} v_4 + {1 \over {C_3 R_2}} v_3 </math>
 
It is conventional in [[State space representation|state space representation]] to group terms by state variables and inputs:
 
<math>\dot{v}_4 = -({1 \over {C_4 R_6}} + {1 \over {C_4 R_2}}) v_4 + {1 \over {C_4 R_2}} v_3 + { 1 \over {C_4 R_6}} v_1</math>
 
and to express the equations in matrix form:
 
:<math>\begin{bmatrix}\dot{v}_4 \\ \dot{v}_3\end{bmatrix} = \begin{bmatrix}-({1 \over {C_4 R_6}} + {1 \over {C_4 R_2}}) & {1 \over {C_4 R_2}} \\ -{1 \over {C_3 R_2}} & {1 \over {C_3 R_2}} \end{bmatrix} \begin{bmatrix}v_4\\v_3\end{bmatrix} + \begin{bmatrix}{ 1 \over {C_4 R_6} } \\ 0 \end{bmatrix} v_1</math>.
 
==Other components==
===Transformer===
A transformer adds no power but transforms it, much as an ideal electrical [[transformer]] or a [[lever]].
 
Denoted
          r
    e1  ..  e2
------- TF ------
    f1        f2
where the ''r'' denotes the modulus of the transformer. This means
:<math>f_2 = r f_1 \,</math>
and
:<math>e_2 = \frac{1}{r} e_1 \,</math>.
 
===Gyrator===
A [[gyrator]] relates flow to effort. It also adds no power and is written
    e1  μ  e2
------- GY ------
    f1        f2
meaning that
:<math>e_2 = \mu f_1 \,</math>
and
:<math>e_1 = \mu f_2 \,</math>.
 
==See also==
*[[AMESim]] simulation software based on the bond graph theory
*[[Hybrid bond graph]]
 
==International Conferences on Bond Graph Modeling (ECMS & ICBGM)==
 
A bibliography on Bond Graph modeling may be extracted from the following conferences :
*[http://www.scs-europe.net/conf/ecms2008/bondg.html ECMS-2008 22nd European Conference on Modelling and Simulation, June 3-6, 2008 Nicosia, Cyprus]
*[http://www.scs.org/confernc/wmc/wmc07/icbgm07_FinalProgram_2.PDF ICBGM-2007: 8th International Conference on Bond Graph Modeling And Simulation, January 15-17, 2007, San Diego, California, U.S.A.]
*[http://www.scs-europe.net/services/ecms2006/accepted%20papers.html ECMS-2006 20TH European Conference on Modelling and Simulation, May 28-31, 2006, Bonn, Germany]
*[http://www.lsis.org/~i3m05/progIMAACA.html IMAACA-2005 International Mediterranean Modeling Multiconference]
*[http://gaia.csus.edu/~grandajj/icbgm05_FinalProgram.htm ICBGM-2005 International Conference on Bond Graph Modeling and Simulation, January 23-27, 2005, New Orleans, Louisiana, U.S.A.] - [http://www.scs.org/search.cfm?startrow=1&continueSearch=1 Papers]
*[http://gaia.csus.edu/~grandajj/icbgm03_FinalProgram.htm ICBGM-2003 International Conference on Bond Graph Modeling and Simulation (ICBGM'2003) January 19-23, 2003, Orlando, Florida, USA] - [http://www.scs.org/search.cfm?presearch=db&dbrec=15 Papers]
*[http://www.scs-europe.net/conf/ess2002/accepted.html 14TH European Simulation symposium October 23-26, 2002 Dresden, Germany]
*[http://www.scs-europe.net/conf/ess2001/index.htm ESS'2001 13th European Simulation symposium, Marseilles, France October 18-20, 2001]
*[http://gaia.csus.edu/~grandajj/WMC2001-ICBGM.htm ICBGM-2001 International Conference on Bond Graph Modeling and Simulation (ICBGM 2001), Phoenix, Arizona U.S.A.]
*[http://www.scs-europe.net/conf/esm2000/time_sched1.htm European Simulation Multi-conference 23-26 May, 2000, Gent, Belgium]
*[http://www.scs-europe.net/conf/ess99/finproq.html 11th European Simulation symposium, October 26-28, 1999 Castle, Friedrich-Alexander University,Erlangen-Nuremberg, Germany ]
*[http://www-control.eng.cam.ac.uk/extras/conferences/ICBGM99 ICBGM-1999 International Conference on Bond Graph Modeling and Simulation January 17-20, 1999 San Francisco, California]
*[http://www.scs-europe.net/conf/ess97/fin-mon.html ESS-97 9TH European Simulation Symposium and Exhibition Simulation in Industry, Passau, Germany, October 19-22, 1997]
*[http://www.ece.arizona.edu/~cellier/icbgm_97_final.html ICBGM-1997 3rd International Conference on Bond Graph Modeling And Simulation, January 12-15, 1997, Sheraton-Crescent Hotel, Phoenix, Arizona]
*[http://www.scs-europe.net/conf/esm97/fintue.html 11th European Simulation Multiconference Istanbul, Turkey, June 1-4, 1997]
*[http://www.scs-europe.net/conf/esm96/esm96fin.html 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.


==References==
==References==
{{Reflist|2}}
{{reflist}}


==External links==
== Further reading ==
* [http://www.biodatamining.org/content/2/1/8 3PFDB] &mdash; a database of Best Representative PSSM Profiles (BRPs) of Protein Families generated using a novel data mining approach.
* Paynter, Henry M., ''Analysis and design of engineering systems'', The M.I.T. Press, ISBN 0-262-16004-8.
* [http://ugene.unipro.ru/ UGENE] &mdash; PSS matrices design, integrated interface to JASPAR, Uniprobe and SITECON databases.
* Karnopp, Dean C., Margolis, Donald L., Rosenberg, Ronald C., 1990: ''System dynamics: a unified approach'', Wiley, ISBN 0-471-62171-4.
* Thoma, Jean, 1975: ''Bond graphs: introduction and applications'', Elsevier Science, ISBN 0-08-018882-6.
* Gawthrop, Peter J. and Smith, Lorcan P. S., 1996: ''Metamodelling: bond graphs and dynamic systems'', Prentice Hall, ISBN 0-13-489824-9.
* Brown, F. T., 2007: ''Engineering system dynamics – a unified graph-centered approach'', Taylor & Francis, ISBN 0-8493-9648-4.
* Amalendu Mukherjee, Ranjit Karmakar (1999): ''Modeling and Simulation of Engineering Systems Through Bondgraphs'' CRC Press LLC, 2000 N.W. Corporate Blvd., Boca Raton, Florida 33431. ISBN 978-0-8493-0982-3
* Gawthrop, P. J. and Ballance, D. J., 1999: ''Symbolic computation for manipulation of hierarchical bond graphs'' in ''Symbolic Methods in Control System Analysis and Design'', N. Munro (ed), IEE, London, ISBN 0-85296-943-0.
* Borutzky, Wolfgang, 2010: ''Bond Graph Methodology'', Springer, ISBN 978-1-84882-881-0.


{{Use dmy dates|date=September 2011}}
== External links ==
*[http://www.bondgraph.org Complete Bond Graph Overview]
*[http://www.bondgraph.com CAMP-G Bond Graph Software]
*[http://www.20sim.com 20-sim Bond Graph Software]
*MTT [http://mtt.sourceforge.net Model Transformation Tools]
*[http://www.htcinfo.com/download.php SYMBOLS Shakti] SYstem Modeling by BOnd graph Language and Simulation *BROKEN*
*[[Mathematica]] Bond Graph Toolbox allows bond graph design, analysis and simulation in a native symbolic environment  [http://www.virtualdynamics.com/softwares.html]
*[http://eeiwzg.et.tu-dresden.de/ae2_files/ae_8_1e.htm Bond Graph library BG V. 2.1] Simulink add-on block library for easy simulation, design and analysis using LTI viewer
*[http://sourceforge.net/projects/libbondgraph/ libBondGraph] C++ library to create and simulate standard and hybrid bond graph
*[http://sourceforge.net/projects/texbondgraph/ texBondGraph] Class to draw bond graphs in LaTeX documents


[[Category:Bioinformatics]]
{{DEFAULTSORT:Bond Graph}}
[[Category:Evaluation methods]]
[[Category:Scientific modeling]]
[[Category:Diagrams]]


[[fa:ماتریس وزن موقعیت خاص]]
[[fr:Graphe de liaisons]]
[[nl:Bondgraaf]]
[[zh:鍵結圖]]

Revision as of 22:01, 14 August 2014

A bond graph is a graphical representation of a physical dynamic system. It is similar to the better known block diagram and signal-flow graph, with the major difference that the arcs in bond graphs represent bi-directional exchange of physical energy, while those in block diagrams and signal-flow graphs represent uni-directional flow of information. Also, bond graphs are multi domain and domain neutral. This means a bond graph can incorporate multiple domains seamlessly.

The Bond Graph is composed of the "bonds" which link together "single port", "double port" and "multi port" elements (see below for details). Each bond represents the instantaneous flow of energy (dE/dt) or power. The flow in each bond is denoted a pair of variables called 'power variables' whose product is the instantaneous power of the bond. For example, the bond of an electrical system would represent the flow of electrical energy and the power variables would be voltage and current, whose product is power. Each domain's power variables are broken into two types: "effort" and "flow". Effort multiplied by flow produces power, thus the term power variables. Every domain has a pair of power variables with a corresponding effort and flow variable. Examples of effort include force, torque, voltage, or pressure; while flow examples include velocity, current, and volumetric flow. The table below contains the most common energy domains and the corresponding "effort" and "flow".

A bond has two other features described briefly here, and discussed in more detail below. One is the "half-arrow" sign convention. This defines the assumed direction of positive energy flow. As with electrical circuit diagrams and free-body diagrams, the choice of positive direction is arbitrary, with the caveat that the analyst must be consistent throughout with the chosen definition. The other feature is the "causal stroke". This is a vertical bar placed on only one end of the bond. It is not arbitrary. As described below, there are rules for assigning the proper causality to a given port, and rules for the precedence among ports. Any port (single, double or multi) attached to the bond shall specify either "effort" or "flow" by its causal stroke, but not both. The port attached to the end of the bond with the "causal stroke" specifies the "flow" of the bond. And the bond imposes "effort" upon that port. Equivalently, the port on the end without the "causal stroke" imposes "effort" to the bond, while the bond imposes "flow" to that port. This is made more clear with the illustrative examples below.

Energy Domain effort e symbol e unit (metric) e unit (imperial) flow f symbol f unit (metric) f unit (imperial)
Mechanical, translation Force F N lb Linear velocity v m/s ft/s, mph
Mechanical, rotation Torque τ N·m ft·lb Angular velocity ω rad/s rad/s
Electrical Electromotive force V or u V V Current I or i A A
Magnetic [1] Magnetomotive force Flux rate
Hydraulic Pressure P Pa psi Volumetric flow rate Q m³/s ft³/s
Thermal temperature T °C or K °F entropy flow rate S W/°C ft·lb/s·°F

If the dynamics of the physical system to be modeled operate on widely varying time scales, fast continuous-time behaviors can be modeled as instantaneous phenomena by using a hybrid bond graph.

History

The Bond Graph was invented by Henry Paynter.[2] The term "Bond Graph" comes from the fact that many of these graphs look like the bonds in chemistry; an example of this structure is shown in the 'examples' section of this wiki.[3]

Basics

The fundamental idea of a bond graph is that power is transmitted between connected components by a combination of "effort" and "flow" (generalized effort & generalized flow). Refer to the table above for examples of effort and flow in different domains. If an engine is connected to a wheel through a shaft, the power is being transmitted in the rotational mechanical domain, meaning the effort and the flow are torque (τ) and angular velocity (ω) respectively. A word bond graph is a first step towards a bond graph, in which words define the components. As a word bond graph, this system would look like:


engineωτwheel


A half-arrow is used to provide a sign convention, so if the engine is doing work when τ and ω are positive, then the diagram would be drawn:


engineωτwheel


A full arrow is used to indicate a measurement, and are referred to as signal bonds, because the amount of power flowing through the bond is insignificant. However, it may be useful to certain physical components. For example, the power required to activate a relay is orders of magnitude smaller than the power through the relay itself; making it relevant only to convey whether the switch is on, not the power consumed by it.


wheelωtachometer


Junctions

Power bonds may join at one of two kinds of junctions: a 0 junction and a 1 junction.

  • In a 0 junction, the flow sums to zero and the efforts are equal. This corresponds to a node in an electrical circuit (where Kirchhoff's current law applies), or to a mechanical "stack" in which all the forces are equal.
  • In a 1 junction, the efforts sum to zero and the flows are equal. This corresponds to an electrical loop, or to a force balance at a mass in a mechanical system.

For an example of a 1 junction, consider a resistor in series:


v1i1Rv2i2=i1


In this case, the flow (current) is constrained to be the same at all points, and when the implied current return path is included the efforts sum to zero. Power can be computed at points 1 and 2, and in general some power will be dissipated in the resistor. As a bond graph, this becomes


i1v11Ri2v2


From an electrical point of view, this diagram may seem counterintuitive in that flow is not preserved in the same way across the diagram. It may be helpful to consider the 1 junction as daisy chaining the bonds it connects to and power bond up to the R as a resistor with a lead returning back down.

Regardless of the problem domain, bond graph modeling typically proceeds from the identification of key 1 and 0 junctions associated with identifiable efforts and flows in the system, then identifying the dissipative (R) and storage elements (I and C), power sources, and drawing bonds wherever power or information flow between the sources, junctions, and storage/dissipative components. Then sign conventions (arrow heads), and causality are assigned, and finally equations describing the behavior of the system can be derived using the graph as a kind of guide or map.

Causality

Bond graphs have a notion of causality, indicating which side of a bond determines the instantaneous effort and which determines the instantaneous flow. In formulating the dynamic equations that describe the system, causality defines, for each modeling element, which variable is dependent and which is independent. By propagating the causation graphically from one modeling element to the other, analysis of large-scale models becomes easier. Completing causal assignment in a bond graph model will allow the detection of modeling situation where an algebraic loop exists; that is the situation when a variable is defined recursively as a function of itself.

As an example of causality, consider a capacitor in series with a battery. It is not physically possible to charge a capacitor instantly, so anything connected in parallel with a capacitor will necessarily have the same voltage (effort variable) as the capacitor. Similarly, an inductor cannot change flux instantly and so any component in series with an inductor will necessarily have the same flow as the inductor. Because capacitors and inductors are passive devices, they cannot maintain their respective voltage and flow indefinitely—the components to which they are attached will affect their respective voltage and flow, but only indirectly by affecting their current and voltage respectively.

Note: Causality is a symmetric relationship. When one side "causes" effort, the other side "causes" flow.

Active components such as an ideal voltage or current source are also causal.

In bond graph notation, a causal stroke may be added to one end of the power bond to indicate that the opposite end is defining the effort. Consider a constant-torque motor driving a wheel, i.e. a source of effort (SE). That would be drawn as follows:


motorSE|ωτwheel


Symmetrically, the side with the causal stroke (in this case the wheel) defines the flow for the bond.

Causality results in compatibility constraints. Clearly only one end of a power bond can define the effort and so only one end of a bond can have a causal stroke. In addition, the two passive components with time-dependent behavior, I and C, can only have one sort of causation: an I component determines flow; a C component defines effort. So from a junction, J, the only legal configurations for I and C are


J|IandJ|C


A resistor has no time-dependent behavior: you can apply a voltage and get a flow instantly, or apply a flow and get a voltage instantly, thus a resistor can be at either end of a causal bond:


J|RandJ|R


Sources of flow (SF) define flow, sources of effort (SE) define effort. Transformers are passive, neither dissipating nor storing energy, so causality passes through them:


|T˙F˙|or|T˙F˙|


A gyrator transforms flow to effort and effort to flow, so if flow is caused on one side, effort is caused on the other side and vice versa:


|G˙Y˙|or|G˙Y˙|


Junctions

In a 0-junction, efforts are equal; in a 1-junction, flows are equal. Thus, with causal bonds, only one bond can cause the effort in a 0-junction and only one can cause the flow in a 1-junction. Thus, if the causality of one bond of a junction is known, the causality of the others is also known. That one bond is called the strong bond


strong bond0andstrong bond1


One can continue, assigning causality using the above rules. Any model which results in inconsistent causality is not physically valid. For example, consider an inductor in series with an ideal current source—a physically impossible configuration. The bond graph would look like


SF1I


Assigning causality to the source bond we get:


SF|1I


Propagating the causality through the junction gives


SF|1|I


But assigning causality to the inductor gives


SF|1||I


which is invalid, because the causality on the right bond is redundant. This ability to automatically identify impossible configurations is a major advantage of bond graphs.

In contrast, one can inadvertently draw an electrical diagram or mechanical schematic that, while possible to construct, would not behave as modeled. For example, one can connect a capacitor directly to a battery, but the assumption that the battery is an ideal voltage source would be violated corresponding with the fact that the theoretical flux would be infinite. The bond graph would tell you that a resistor needs to be put in series with the capacitor to keep the model realistic.

Example

Template:Expert-subject Consider a simple RC circuit:[4]

        R
 i1 --\/\/\-----+------ i2 →
 v1             |       v2
              C =  ↓ic
                |
     ground ----+------

where v1 represents a voltage source that is implied as being connected to the resistor, and v2 represents an "output" measurement point.

If one follows the "flows" through the circuit diagram then the basic structure of 1 (common flow) and 0 (common effort) nodes can be identified. In general, one should be looking for common (shared) efforts and common (shared) flows, but commonality may not be immediately obvious to the new practitioner, so to get started one can place a 0 node wherever a distinct effort potential (voltage) can be identified, and 1 nodes wherever a flow is identified, and then bonds between the 0 and 1 nodes:

  i1    v1    ir    v2     i2
  1 --- 0 --- 1 --- 0 ---- 1
                    |
                    1 ic

Note that i1 and ic both involve current flows to ground, so no power flows there, so no bonds are shown for those power flows.

Next, one can add the power dissipating elements next to and connected to the 1 junctions representing flows through components. The connecting bonds represent the power flows that are generated, stored or dissipated by those elements.

 Se,in         R
   |           |
   |           |     v2     i2
   1 --- 0 --- 1 --- 0 ---- 1
   i1    v1    ir    |
                     |
                     1 --- C
                     ic

Next, 0 or 1 junctions that only have one or two bonds can be optimized out of existence because the power flows on those bonds are identical.

            R
            |ir
        v1  |     v2    i2
 Se,in ---- 1 --- 0 --- 1
        i1        |
                  | ic
                  C

Note that because v2 is measured, we can equivalently assume that i1=0 or that the output bond has a full arrow, and we can re-arrange the bonds for a more regular graph, and we can assign direction of power flow:

             R       C
             |\      |\
             |ir     |ic
        v1                 \ i2
 Se,in ----- 1 ----- 0 ----- out
        i1 /       /       /

The half-arrows on the remaining 1 junction are assigned so that the power flows into passive elements (R and C), out of the source of effort, and arbitrarily for flows between the 0 and 1 junctions. If you can anticipate a convention that causes them to be positive then interpreting results will usually be easier. For example, the power flowing between the 1 and 0 junctions should flow away from the 1 junction like the power flowing to the resistor, so set the half-arrow to reflect that.

Causality is defined by first setting the causality for reactive elements and power sources according to their behavior. Sources of effort and capacitors should impose effort (causality stroke opposite the source), and sources of flow and inertial elements should impose flow (causality stroke near the source). Once this is done, all 0 junctions should have one causal stroke on the near end of its bonds, and all 1 junctions should have only one causal stroke on the opposite end of any of its bonds. Causality for bonds on resistive elements can go whichever way satisfies the junction at the other end of the bond.

               R          C
              ---
               |\         |\
               |          |ic
                         ---
       v1   |     |            v2  \
Se,in ------|  1  |-----  0  ------- out
       i1  /|     |    /       i2  /

Note that the output is assumed to draw no power from the circuit, so a full arrow is used instead of a half-arrow. For the purpose of modeling dynamics, this means the output full bond can be ignored and the diagram is simplified (though the variables have now been renumbered):

                R
               ---
                |\
             v3 | i3
                |
        v1   |     | v2
S_e,in ------|  1  |-----  C
        i1  /|     | i2 /

Although a systematic approach to formulating the bond graph was described above, in retrospect the central 1 junction in the final bond graph reflects the fact that the same current flows through the input voltage source, the resistor, and the capacitor. One attraction of bond graphs is that experienced bond graph users can bypass many steps on their way to modeling the dynamic system.

Having completed and simplified the bond graph, the diagram can now be used for its intended purpose: guiding the practitioner through the generation of differential equations that describe the dynamics of the system. This is accomplished by starting at each of the reactive elements in turn and working through the implications of each bond and junction. This process can, in more complicated diagrams, involve traversing the bonds in both directions at times, but having properly defined causality will prevent this apparent retracing of steps from leading to algebraic loops or integral equations.

Se,in is a "source of effort" (voltage source) that forces the dynamics. Note that the causality for a source of effort imposes effort on the junction. To avoid formulating integral equations, the causality stroke for the capacitor must also impose effort on the junction. Since every 1 junction should have exactly one flow causal stroke, bond 3 must show flow imposed by the R element (causal stroke away from 1 junction).

To derive the differential equation, start on bond 2 (attached to a reactive element) and write the differential equation for that reactive element:

v˙2=1Ci2

One can follow an invisible path from v2 through the C and back to the i2 corresponding to writing this equation down. Because bond 2 is attached to a 1 junction (shared flow) where bond 3 determines the flow, we can extend our path through the diagram from the i2 of bond 2 to the i3 of bond 3 following the flow causal stroke, obtaining i2=i3. Note that we ignore the half-arrows at this point because all flows on a 1 junction are equal, regardless of direction of power flow. Substituting, we expand the differential equation with more information about the system:

v˙2=1Ci3

At this point, we can follow the causality path from i3 through R and back to v3, writing the corresponding relation i3=v3R. We can substitute this relation into the differential equation:

v˙2=1Cv3R

Continuing to follow causality, the effort on bond 3 (v3) is related to all the other efforts on the 1 junction since they must all sum to zero. That is, using the half-arrows to define signs we can write v3=v1v2 and substitute this into the differential equation:

v˙2=1Cv1v2R

Since v1 is an input, and v2 is a state variable (effort on a C element), the equation is completely expanded. Had it not been completely expanded, it might be necessary to follow two causality paths beyond this point to eventually completely expand the differential equation.

For systems with multiple I and/or C elements, the process can be repeated once for each derivative of a state variable to form a system of (typically but not necessarily linear) differential equations. For example, suppose we put two of these RC circuits in series:

        R             → i2     R              
 i1 --\/\/\-----+------------\/\/\-----+------ i3 →
 v1             |       v2             |       v3
              C = ↓ic               C = ↓ic
                |                      |
     ground ----+----------------------+---------

Although this circuit was constructed as two cascaded RC circuits, the behavior of the first RC circuit is now complicated by the fact that power flows out of its "output" where before no power flowed there. This changes the overall dynamics of this system, but bond graphs can guide the formation of correct equations anyway. The corresponding bond graph looks like

           R          C          R         C
          ---                   ---
           |\         |\         |\        |\
         6 |        4 |        2 |       3 |
                     ---                  ---
     1   |   |  5          7   |   |  8        9  \
SE ------| 1 |------  0  ------| 1 |------ 0 ------ out
        /|   |     /          /|   |     /        /

where the ever-present effort/flow (voltage/current in this case) variables have been dropped and the bonds are simply numbered per typical bond graph convention (in this case the first four numbers were placed to avoid confusion with the signal numbering in the circuit diagram). Again, the output is assumed to draw no power so bonds 8 and 9 can effectively be removed in favor of a direct connection to bond 3:

           R          C          R
          ---                   ---
           |\         |\         |\
         6 |        4 |        2 |
                     ---              
     1   |   |  5          7   |   |  3
SE ------| 1 |------  0  ------| 1 |------ C
        /|   |     /          /|   |     /

As before, we can start with the derivative of a state variable (v4) and follow the bonds to form equations:

v˙4=1C4i4=1C4(i5i7)=1C4(i6i2)

Continuing the expansion:

v˙4=1C4(v6R6v2R2)

v˙4=1C4(v1v5R6v7v3R2)

v˙4=1C4(v1v4R6v4v3R2)

At this point, v˙4 is defined in terms of inputs and state variables.

Similarly, v˙3 can be obtained in terms of inputs and state variables:

v˙3=1C3R2v4+1C3R2v3

It is conventional in state space representation to group terms by state variables and inputs:

v˙4=(1C4R6+1C4R2)v4+1C4R2v3+1C4R6v1

and to express the equations in matrix form:

[v˙4v˙3]=[(1C4R6+1C4R2)1C4R21C3R21C3R2][v4v3]+[1C4R60]v1.

Other components

Transformer

A transformer adds no power but transforms it, much as an ideal electrical transformer or a lever.

Denoted

         r
   e1   ..   e2
------- TF ------ 
   f1        f2

where the r denotes the modulus of the transformer. This means

f2=rf1

and

e2=1re1.

Gyrator

A gyrator relates flow to effort. It also adds no power and is written

   e1   μ   e2
------- GY ------ 
   f1        f2

meaning that

e2=μf1

and

e1=μf2.

See also

International Conferences on Bond Graph Modeling (ECMS & ICBGM)

A bibliography on Bond Graph modeling may be extracted from the following conferences :

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

Further reading

  • Paynter, Henry M., Analysis and design of engineering systems, The M.I.T. Press, ISBN 0-262-16004-8.
  • Karnopp, Dean C., Margolis, Donald L., Rosenberg, Ronald C., 1990: System dynamics: a unified approach, Wiley, ISBN 0-471-62171-4.
  • Thoma, Jean, 1975: Bond graphs: introduction and applications, Elsevier Science, ISBN 0-08-018882-6.
  • Gawthrop, Peter J. and Smith, Lorcan P. S., 1996: Metamodelling: bond graphs and dynamic systems, Prentice Hall, ISBN 0-13-489824-9.
  • Brown, F. T., 2007: Engineering system dynamics – a unified graph-centered approach, Taylor & Francis, ISBN 0-8493-9648-4.
  • Amalendu Mukherjee, Ranjit Karmakar (1999): Modeling and Simulation of Engineering Systems Through Bondgraphs CRC Press LLC, 2000 N.W. Corporate Blvd., Boca Raton, Florida 33431. ISBN 978-0-8493-0982-3
  • Gawthrop, P. J. and Ballance, D. J., 1999: Symbolic computation for manipulation of hierarchical bond graphs in Symbolic Methods in Control System Analysis and Design, N. Munro (ed), IEE, London, ISBN 0-85296-943-0.
  • Borutzky, Wolfgang, 2010: Bond Graph Methodology, Springer, ISBN 978-1-84882-881-0.

External links

fr:Graphe de liaisons nl:Bondgraaf zh:鍵結圖

  1. Karnopp, D. C., Rosenberg, R. C. and Margolis, D. L., 1990: System dynamics: a unified approach, Wiley, ISBN 0-471-62171-4.
  2. 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  3. 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  4. Template:Cite web