Methods for deriving the bond graph of systems in various physical domains are explained in detail in the textbooks. A detailed derivation of a laboratory electromechanical system is given in a tutorial paper. This section has methods and worked examples for some simple systems .
Electromagnetic The steps for solving an Electromagnetic problem as a bond graph are as follows: • Place an 0-junction at each node • Insert Sources, R, I, C, TR, and GY bonds with 1 junctions • Ground (both sides if a transformer or gyrator is present) • Assign power flow direction • Simplify These steps are shown more clearly in the examples below.
Linear mechanical The steps for solving a Linear Mechanical problem as a bond graph are as follows: • Place 1-junctions for each distinct velocity (usually at a mass) • Insert R and C bonds at their own 0-junctions between the 1 junctions where they act • Insert Sources and I bonds on the 1 junctions where they act • Assign power flow direction • Simplify These steps are shown more clearly in the examples below.
Simplifying The simplifying step is the same regardless if the system was electromagnetic or linear mechanical. The steps are: • Remove Bond of zero power (due to ground or zero velocity) • Remove 0 and 1 junctions with less than three bonds • Simplify parallel power • Combine 0 junctions in series • Combine 1 junctions in series These steps are shown more clearly in the examples below.
Parallel power Parallel power is when power runs in parallel in a bond graph. An example of parallel power is shown below. Parallel power can be simplified, by recalling the relationship between effort and flow for 0 and 1-junctions. To solve parallel power, 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). \begin{matrix} f_1=f_2=f_3 & & e_2=e_4=e_7 \\ e_1=e_2+e_3 & & f_2=f_4+f_7 \\ & & \\ e_3=e_5=e_6 & & f_7=f_6=f_8 \\ f_3=f_5+f_6 & & e_7+e_6=e_8 \end{matrix} 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 e_3=e_6 and e_2=e_7 one can replace the variables in the equation e_1=e_2+e_3 resulting in e_1=e_6+e_7 and since e_6+e_7=e_8, we now know that e_1=e_8. This relationship of two effort variables equaling can be explained by an 0-junction. Manipulating other equations one can find that f_4=f_5 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.
Examples Simple electrical system A simple electrical circuit consisting of a voltage source, resistor, and capacitor in series. The first step is to draw 0-junctions at all of the nodes: \begin{matrix} & 0 & & 0 & \\ & & & & \\ & & & & \\ & 0 & & 0 & \end{matrix} The next step is to add all of the elements acting at their own 1-junction: \begin{matrix} & & & & R & & & & \\ & & & & | & & & & \\ & & 0 & - & 1 & - & 0 & & \\ & & | & & & & | & & \\ S_e & - & 1 & & & & 1 & - & C \\ & & | & & & & | & & \\ & & \underline{0} & - & - & - & 0 & & \end{matrix} The next step is to pick a ground. The ground is simply an 0-junction that is going to be assumed to have no voltage. For this case, the ground will be chosen to be the lower left 0-junction, that is underlined above. The next step is to draw all of the arrows for the bond graph. The arrows on junctions should point towards ground (following a similar path to current). For resistance, inertance, and compliance elements, the arrows always point towards the elements. The result of drawing the arrows can be seen below, with the 0-junction marked with a star as the ground. Now that we have the Bond graph, we can start the process of simplifying it. The first step is to remove all the ground nodes. Both of the bottom 0-junctions can be removed, because they are both grounded. The result is shown below. Next, the junctions with less than three bonds can be removed. This is because flow and effort pass through these junctions without being modified, so they can be removed to allow us to draw less. The result can be seen below. The final step is to apply causality to the bond graph. Applying causality was explained above. The final bond graph is shown below.
Advanced electrical system A more advanced electrical system with a current source, resistors, capacitors, and a transformer Following the steps with this circuit will result in the bond graph below, before it is simplified. The nodes marked with the star denote the ground. Simplifying the bond graph will result in the image below. Lastly, applying causality will result in the bond graph below. The bond with star denotes a causal conflict.
Simple linear mechanical A simple linear mechanical system, consisting of a mass on a spring that is attached to a wall. The mass has some force being applied to it. An image of the system is shown below. For a mechanical system, the first step is to place a 1-junction at each distinct velocity, in this case there are two distinct velocities, the mass and the wall. It is usually helpful to label the 1-junctions for reference. The result is below. \begin{matrix} & & \\ & & \\ 1_\text{mass} & & \\ & & \\ & & \\ & & \\ 1_\text{wall} & & \end{matrix} 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. \begin{matrix} & & \\ & & \\ 1_\text{mass} & & \\ 0 & - & C:\frac{1}{k} \\ 1_\text{wall} & & \end{matrix} 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. \begin{matrix} S_e:F(t) & & \\ 1_\text{mass} & - & I:m \\ 0 & - & C:\frac{1}{k} \\ 1_\text{wall} & & \end{matrix} Next power flow is to be assigned. Like the electrical examples, power should flow towards ground, in this case the 1-junction of the wall. Exceptions to this are R, C, or I bond, which always point towards the element. The resulting bond graph is below. Now that the bond graph has been generated, it can be simplified. Because the wall is grounded (has zero velocity), 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. The last step is to apply causality, the final bond graph can be seen below.
Advanced linear mechanical A more advanced linear mechanical system can be seen below. Just like the above example, the first step is to make 1-junctions at each of the distant velocities. In this example there are three distant velocity, Mass 1, Mass 2, and the wall. Then 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 \dot{\mathbf{x}} (t) = \mathbf{A} \mathbf{x}(t) + \mathbf{B}\mathbf{u}(t) where \mathbf{x} (t) is a column matrix of the
state variables, or the unknowns of the system. \dot{\mathbf{x}}(t) is the
time derivative of the state variables. \mathbf{u}(t) is a column matrix of the inputs of the system. And \mathbf{A} and \mathbf{B} 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 \dot{\mathbf{x}}(t), \mathbf{x} (t), and \mathbf{u}(t) matrices: \dot{\mathbf{x}}(t) = \begin{bmatrix} \dot{p}_3(t) \\ \dot{q}_6(t) \end{bmatrix} \qquad \text{and} \qquad \mathbf{x}(t) = \begin{bmatrix} p_3(t) \\ q_6(t) \end{bmatrix} \qquad \text{and} \qquad \mathbf{u}(t) = \begin{bmatrix} e_1(t) \end{bmatrix} The matrices of \mathbf{A} and \mathbf{B} 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. }\; \overset{\textstyle}{\underset{\textstyle}}\ R \overset{\textstyle}{\underset{\textstyle}}\ I \overset{\textstyle}{\underset{\textstyle}}\ C \overset{\textstyle}{\underset{\textstyle}\ TR\ \ \overset{\textstyle}{\underset{\textstyle}{\!\!\!-\!\!\!-\!\!\!-\!\!\!\rightharpoonup}}|\ \\ ^{r:1} \end{matrix} e_2 = \frac{1}{r} e_1 |\ \overset{\textstyle}{\underset{\textstyle}{\!\!\!-\!\!\!-\!\!\!-\!\!\!\rightharpoonup }}\ TR\ \ | \ \overset{\textstyle}{\underset{\textstyle}{\!\!\!-\!\!\!-\!\!\!-\!\!\!\rightharpoonup}}\ \\ ^{r:1} \end{matrix} f_2 = r f_1 | \ \overset{\textstyle}{\underset{\textstyle}{\!\!\!-\!\!\!-\!\!\!-\!\!\!\rightharpoonup } }\ GY \overset{\textstyle}{\underset{\textstyle}{\!\!\!-\!\!\!-\!\!\!-\!\!\!\rightharpoonup}}|\ \\ ^{g:1} \end{matrix} e_2 = g f_1 \ \overset{\textstyle}{\underset{\textstyle}{\!\!\!-\!\!\!-\!\!\!-\!\!\!\rightharpoonup }}| \ GY \overset{\textstyle}{\underset{\textstyle} "♦" denotes preferred causality. For the example provided, the governing equations are the following. • e_1 = \text{input} • e_3 = e_1 - e_2 - e_4 • f_1 = f_2 = f_4 = f_3 • e_2 = R_2 f_2 • f_3 = \frac{1}{I_3} \int e_3 \, dt = \frac{1}{I_3} p_3 • f_5 = f_4 \cdot r • e_4 = e_5 \cdot r • e_5 = e_7 = e_6 • f_6 = f_5 - f_7 • e_6 = \frac{1}{C_6} \int f_6 \, dt = \frac {1}{C_6} q_6 • f_7 = \frac{1}{R_7} e_7 These equations can be manipulated to yield the state equations. For this example, one is trying to find equations that relate \dot{p}_3(t) and \dot{q}_6(t) in terms of p_3(t), q_6(t), and e_1(t). To start, one should recall from the tetrahedron of state that \dot{p}_3(t) = e_3(t)starting with equation 2, one can rearrange it so that e_3 = e_1 - e_2 - e_4. e_2 can be substituted for equation 4, while in equation 4, f_2 can be replaced by f_3due to equation 3, which can then be replaced by equation 5. e_4 can likewise be replaced using equation 7, in which e_5can be replaced with e_6 which can then be replaced with equation 10. Following these substituted yields the first state equation which is shown below. \dot{p}_3(t) = e_3(t) = e_1(t) - \frac {R_2}{I_3} p_3(t) - \frac{r}{C_6} q_6(t) The second state equation can likewise be solved, by recalling that \dot{q}_6(t) = f_6(t). The second state equation is shown below. \dot{q}_6(t) = f_6(t) = \frac{r}{I_3} p_3(t) - \frac{1}{R_7 \cdot C_6} q_6(t) Both equations can further be rearranged into matrix form. The result of which is below. \begin{bmatrix} \dot{p}_3(t) \\ \dot{q}_6(t) \end{bmatrix} = \begin{bmatrix} - \frac{R_2}{I_3} & - \frac{r}{C_6}\\ \frac{r}{I_3} & -\frac{1}{R_7 \cdot C_6} \end{bmatrix} \begin{bmatrix} p_3(t) \\ q_6(t) \end{bmatrix} + \begin{bmatrix} 1 \\ 0 \end{bmatrix} \begin{bmatrix} e_1(t) \end{bmatrix} At this point the equations can be treated as any other
state-space representation problem. == International conferences on bond graph modeling (ECMS and ICBGM) ==