Talk:Bond graph

From Wikipedia, the free encyclopedia

Contents

[edit] Causal stroke semantics

What does the causal stroke really mean? I understand what an ideal current source and ideal voltage source is, but what does it mean to have a causal stroke on a resistor? Do causal strokes exist solely to make it easy to convert a bond graph to a block diagram? —Ben FrantzDale 18:15, 17 April 2007 (UTC)

It is my understanding that the causal stroke indicates the preferred direction for formulating differential equations. Causal strokes are assigned beginning from sources and state variables (C and L), and causality on other bonds are derived from those preferred causalities using well-defined rules. By following the causal strokes from each state variable (C or L) through the bond graph using the "preferred" direction for that state variable (effort or flow), the effort-flow relationships defined by encountered nodes can be used to formulate equations, and the resulting equations will be in derivative form if the state variable causalities follow the preferred direction. Failing to follow the preferred direction results in integral equations, which require (numerically unstable) differentiation to solve. The presence of a particular causal stroke on an R element is entirely due to the causal dependencies from whatever state variables are nearby. —Preceding unsigned comment added by 24.4.2.123 (talk) 01:08, 1 October 2007 (UTC)

[edit] Symbols

From [1]:

U022A2, RIGHT TACK                             , vdash, RightTee
U022A3, LEFT TACK                              , dashv, LeftTee
U022A4, DOWN TACK                              , top, DownTee
U022A5, UP TACK                                , bottom, bot, perp, UpTee
U02951, UP BARB LEFT DOWN BARB LEFT HARPOON    , LeftUpDownVector
U02952, LEFTWARDS HARPOON WITH BARB UP TO BAR  , LeftVectorBar
U02953, RIGHTWARDS HARPOON WITH BARB UP TO BAR , RightVectorBar
U02954, UPWARDS HARPOON WITH BARB RIGHT TO BAR , RightUpVectorBar
U02955, DOWNWARDS HARPOON WITH BARB RIGHT TO BAR, RightDownVectorBar
U02956, LEFTWARDS HARPOON WITH BARB DOWN TO BAR, DownLeftVectorBar
U02957, RIGHTWARDS HARPOON WITH BARB DOWN TO BAR, DownRightVectorBar
U02958, UPWARDS HARPOON WITH BARB LEFT TO BAR  , LeftUpVectorBar
U02959, DOWNWARDS HARPOON WITH BARB LEFT TO BAR, LeftDownVectorBar

These will be useful. —Ben FrantzDale 18:10, 29 April 2007 (UTC)

[edit] Hua?

I don't understand most of these bullet items. I'll comment on each below:

  • They provide a visual representation of the system. -- What, a block diagram or wiring digram isn't visual?
  • Since they work on the principle of conservation of energy, it is difficult to accidentally introduce extra energy into a system. -- True.
  • The bonds are symbols which contain meaning. -- What's this supposed to mean?
  • They separate the structure from causality. -- What's this supposed to mean?
  • Since each bond represents a bi-directional flow, systems which produce a 'back force' (e.g. a motor back emf) on the input are easily modeled without introducing extra feedback loops. -- True.
  • Hierarchy can be used to manage large system models. -- True, but also true of block diagrams and wiring diagrams.

Can anyone explain some of these? I think I'll just remove the crazy ones from the article for now. —Ben FrantzDale 20:45, 30 April 2007 (UTC)

[edit] Explanation

  • Bond Graphs provide a visual representation of the system. Yes, block diagrams and wiring diagrams are also visual. However, block diagrams often bear little visual similarity to the system that they represent. For example, summation blocks rarely correspond to an actual component within the physical system. The level of abstraction is often greater for a block diagram than for a wiring diagram or a bond graph, both of which can usually be superimposed on to a schematic of the physical system.

A significant advantage of bond graphs over wiring diagrams in many contexts is their domain neutrality. Consider a solenoid valve in a pipe. Wiring diagrams can tell you about the electrical power leading to the valve, but tell you nothing about the fluid flow through the pipe. A single bond graph can describe the entire system - both electrical and fluid parts.

  • Bond graphs symbols contain meanings. An R component dissipates energy, like a resistor in an electrical circuit, or friction in a mechanical system. C and I components store energy, like capacitors and inductors in an electrical circuit, or springs and masses in a mechanical system. TF and GY components transform energy, like electrical transformers and motors, or mechanical pivots and gears. Each of these has a physical meaning. What does a block-diagram's summation block mean in terms of a physical system?
  • Separation of structure from causality. Consider a simple linear electrical resistor, with resistance R, voltage V and current i. Ohms law tells us that:
V = i R

or

i = V/R

For a block diagram, or C++ program, you must decide which of these two forms to use when creating the model. You must decide the input and output (i.e. the causality) at the outset. But a bond graph is acausal. When creating the model, if you depict a bond carrying power into a R component (resistor), you do not have to decide whether current or voltage is the input:

The model is simply:

1 ---/ R

Where the 1 junction represents the wire carrying the power to the resistor. You can embed this within a larger system model. Later, you may assign a causality, by placement of a causal stroke:

1 ---/| R      =>   i = V/R

whereas

1|---/  R      =>   V = i R

The causal stroke may be assigned manually, if you have a preference, or automatically, following simple rules to fit with the context in which the components find themselves. But crucially, you do not have to change the model. And you do not need to worry about which will be the input and which will be the output when initially creating the model. Thus the bond graph separates the structure (a relationship between current and voltage that leads to a dissipation of energy) from the causality (assignment of input and output).

In a more complex system, you can define the relationships between all the components without having to worry about which variables might be inputs and which outputs. Later, when you come to do something with the model - perhaps create a simulation, or generate transfer functions, a set of ordinary differential equations, or differential algebraic equations - you can assign the most appropriate causality for the task at hand.

  • Hierarchy. Block diagrams can be hierarchical. However, if you switch the inputs and outputs of one component, you then have to make changes to the neighbouring components to accommodate that. Because a bond graph is acausal, you can change one component in isolation. Thus subsystems can be truly encapsulated, leading to a genuinely hierachical system rather than one in which different parts of the same system are packaged into different parcels.

For a more in depth explanation of these ideas, if you have access to IEEE journals, you may wish to look at Bond Graph Modeling: a tutorial introduction for control engineers http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4140745

Geraint Bevan 00:46, 20 October 2007 (UTC)