Published in Mechanism and Machine Theory, Vol. 36, …shai/pdfs/dual1.pdfPublished in Mechanism and...

25
Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001. 1 The duality relation between mechanisms and trusses Dr. Offer Shai Department of Mechanics Materials and Structures Tel-Aviv University, Tel-Aviv, Israel Abstract The work reported here was derived as a part of a research program aimed to investigate various discrete mathematical representations for a wide variety of engineering problems. For the results in this paper, the starting point was to represent trusses and mechanisms using graph theory and matroid theory, then using knowledge and algorithms embedded in these theories, to develop analysis methods and understanding of those two kinds of engineering systems. The research program was approached by searching for mathematical representations which may be useful for representing engineering problems. For each chosen representation, the attributes of the representation were mapped, or matched, to attributes of the engineering system considered. Properties and algorithms embedded within the representation were then applied to the corresponding attributes of the engineering system. In this way, new properties of the engineering system were found, together with new techniques to derive known properties. This paper deals exclusively with the representations applied to trusses and mechanisms. The paper first shows how plane axial force trusses and mechanisms can be represented as graphs and then analyzed using the language and algorithms of graph theory. These sections are based upon material, which has already been reported in the literature, but also include many new details in the solution methods. Having defined the dual of a planar graph, the paper shows that, in general, the graph representations of mechanisms and trusses are mathematically dual. From the perspective of this duality a number of classes of trusses and mechanisms can be defined. The duality is demonstrated for the plane statically determinate trusses, and for its corresponding class of mechanisms. This direction of investigation enhances understanding of the connection between static and kinematic systems, and enables utilization of knowledge from one field to solve problems in the other.

Transcript of Published in Mechanism and Machine Theory, Vol. 36, …shai/pdfs/dual1.pdfPublished in Mechanism and...

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

1

The duality relation between mechanisms and trusses

Dr. Offer Shai

Department of Mechanics Materials and Structures Tel-Aviv University, Tel-Aviv, Israel Abstract The work reported here was derived as a part of a research program aimed to investigate various discrete mathematical representations for a wide variety of engineering problems. For the results in this paper, the starting point was to represent trusses and mechanisms using graph theory and matroid theory, then using knowledge and algorithms embedded in these theories, to develop analysis methods and understanding of those two kinds of engineering systems. The research program was approached by searching for mathematical representations which may be useful for representing engineering problems. For each chosen representation, the attributes of the representation were mapped, or matched, to attributes of the engineering system considered. Properties and algorithms embedded within the representation were then applied to the corresponding attributes of the engineering system. In this way, new properties of the engineering system were found, together with new techniques to derive known properties. This paper deals exclusively with the representations applied to trusses and mechanisms. The paper first shows how plane axial force trusses and mechanisms can be represented as graphs and then analyzed using the language and algorithms of graph theory. These sections are based upon material, which has already been reported in the literature, but also include many new details in the solution methods. Having defined the dual of a planar graph, the paper shows that, in general, the graph representations of mechanisms and trusses are mathematically dual. From the perspective of this duality a number of classes of trusses and mechanisms can be defined. The duality is demonstrated for the plane statically determinate trusses, and for its corresponding class of mechanisms. This direction of investigation enhances understanding of the connection between static and kinematic systems, and enables utilization of knowledge from one field to solve problems in the other.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

2

Nomenclature 0 zero matrix. A incidence matrix. B circuit matrix. C(x) cos(x). dim(F(G)) number of dimensions in the coordinate system for the flow in the edges. dr(G) number of edges with known potential difference values. E(G) set of edges of graph G. e(G) number of edges in graph G. Fr

vector of flows.

)e(Fr

flow in edge e. F(e) value of the flow in edge e. G graph. G(T) flow graph representation corresponding to truss T. G* the dual graph of graph G. I(u,e) sign of incidence of edge ‘e’ to vertex ‘v’. Li length of rod i. M mechanism. Pr

vector of flows in the flow sources. Q cutset matrix.

)e(r̂ unit vector in the direction of edge e. S(x) sin(x). T statically determinate truss.

)M(Vr

relative linear velocities vector of mechanism M.

)e(Vr

relative linear velocity of link e.

Vr

A/B linear velocity of joint A relative to joint B. V(e) magnitude of the relative linear velocity in edge e. V(G) set of the vertices of graph G.

)e(v̂ unit vector in the direction of the relative linear velocity of edge e. v(G) number of vertices in graph G. ∆r

vector of potential differences. )e(∆

r potential difference in edge ‘e’.

)i(π potential of vertex ‘i’. F face F in the graph. All the bold letters in the current paper correspond to either two or one-dimensional matrices. When a letter, corresponding to an engineering\graph element, is followed by a tag, then it is related to the dual of that element.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

3

1. Introduction The work reported here was derived as a part of a research program aimed at investigating various discrete mathematical representations for a wide variety of engineering problems. By applying knowledge and algorithms embedded in these representations, this approach yielded a number of interesting results, including new proofs or solution methods for problems with known solutions, and showed previously unappreciated links between different fields of engineering. This paper shows some results derived from the representation of trusses and mechanisms by graph theory, which is a one of the representations used in the research program [17,18]. Knowledge and algorithms embedded in these theories are applied to analysis methods and understanding of those two kinds of engineering systems. The compatibility conditions for solving truss structures, are force equilibrium and deflection compatibility at each joint for statically indeterminate trusses, and force equilibrium alone for statically determinate trusses. These can be written in the language of graph theory [7], [14], and then solved using the rich collection of algorithms and mathematical techniques available for graphs in general, and for network graphs in particular. Similarly, the condition of compatibility of movement at each mechanism joint, which underlies the mechanism analysis methods, can also be written in the language of graph theory, then solved using algorithms and rules based upon the properties of graphs. Ferdinand Freudenstein wrote in [5] that two of the aims of research in machine theory should be:

(i) “The further development and refinement of numerical (computational) technology in order to facilitate the design analysis and optimization of more complex mechanisms, mechanical components, and systems.” (ii) “The integration of this technology with non-technical mechanical engineering design technology (e.g. electrical, electronic engineering, stress analysis, the thermal sciences, and fluid mechanics), so as to lead to the optimization of an entire engineering design, i.e. to achieve a truly predictive design capability.”

Although the approach adopted here was based on general considerations as explained above, it turns out that it can support progress toward the goals quoted, by making available useful mathematical perspectives and computational methods, other than those commonly used for mechanisms and trusses. When using graph theory representations for trusses and mechanisms, an interesting relationship that mechanisms and trusses are mathematically dual arises. Since dual representations have well-known relationships and properties, and since the corresponding graphs of trusses and mechanisms are proved in this paper to be dual, it is proven that the dualism relation also exists between trusses and mechanisms. The duality broadens our understanding of the theories behind both trusses and mechanisms, and enables to apply known methods from one field to the other. The paper uses two special graph representations called: Flow Graph Representation and Potential Graph Representation, which are used to represent determinate trusses and mechanisms, respectively. In the paper it is proved that these two representations are mutually dual, and thus determinate trusses and mechanisms are also mutually dual. This connection enables one to obtain a general perspective on both fields, thus providing a unified understanding of the analysis processes of both systems. Afterwards classification to special groups of both engineering systems is introduced.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

4

Related Publications According to Erdman [5] the first in-depth study of the application of graph theory as a representation of kinematic chains and mechanisms was conducted by Freudenstein and Dobrjanskyj [9]. In kinematic analysis, one of the first publications that used graph theory was due to Paul [13] who used the set of the independent circuits of the mechanism graph to derive the kinematic equations corresponding to the mechanism. A program to analyze velocities and forces, which was based on this method, has been reported by Chase and Smith [4]. Since then many papers using this representation have been published, for example Singhal and Kesavan [19] and others. The above citations cover only a few of the numerous papers published on the use of graph theory for mechanism analysis. In truss analysis, the best known work that used network methods based on graph theory to analyze trusses, is by Fenves and Branin [7]. This method was implemented in the computer program called “STRESS” [8]. Since then, other works using the graph representation have been reported, for instance: Wang and Bjorke [21], Kaveh [10] and others. Attempts to use graph theory as a general concept have also been reported. Bjorke used network theory, which is a part of graph theory, to develop a unified manufacturing system theory [3]. Kesavan evaluated the use of graph theory for a variety of engineering fields. He and Andrews associated vector algebra and graph theory, and called it the “vector-network model” [1,2]. Computer programs based on this formulation have been reported, for example: VECENT [2], DYNIS [16] and PLANET [15]. This approach was also involved in the study of kinetostatic problems [19]. The usual approach in the papers reported and many others was to start from the engineering problem and then solve it using the graph representation. The approach reported in the paper is done differently. Initially, combinatorial representations, based on graph theory, matroid theory and discrete linear programming, were developed, the properties of each were examined, and a comprehensive investigation was carried out to establish the connections between them. These representations were then applied to solving engineering problems. This was done by searching among the combinatorial representations for those which are isomorphic to given engineering problems. In this paper only two representations from graph theory are introduced: Flow Graph Representation and Potential Graph Representation. Based on the dualism connection between these two representations the relation between determinate trusses and mechanisms has been established and is introduced in the current paper.

2. Network graphs.

This section briefly describes known terminology and definitions, which are widely used in graph and network theories [20]. A graph is defined by the ordered pair G=<V,E>, where V is the vertex set and E the edge set, and every edge is defined by its two end vertices. If each edge in the graph has a direction, the graph is known as a directed graph. If the directed graph is a network graph, each edge and vertex has properties of flow and potential, respectively. In this paper, we define two different network graphs. For convenience, this paper uses linetype attributes , as follows: a solid line - represents an edge with an unknown value of flow or potential difference at the current stage of the computation. a bold line - represents an edge for which the potential difference is known. a dashed line - represents a chord, which is an edge not included in the spanning tree, and if the flow value of the edge is known, then it is both dashed and bold. a double line - represents a branch of a spanning tree. To deal with the graph representations used in the paper, we need first to develop the use of the cutset and circuit matrices. Given a connected network graph we find a spanning tree within it, thus defining branches and chords in the graph. There are obviously many spanning trees possible in the graph; the choice of a spanning tree does not effect the generality of this approach, but can affect the computational effort needed for the algorithms which later use that spanning tree. A cutset in a connected graph is a minimal set of edges whose removal results in a disconnected graph. It can be proved that a cutset separates the graph into two components (maximal connected subgraphs). When the cutset includes only one branch of the spanning tree it is called a “fundamental cutset”. This paper deals only with fundamental cutsets, and for brevity they will be called cutsets. Each will be labeled with the index of the branch that defines it. The direction of the cutset is defined by its branch direction, as shown in Fig. 1a.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

5

The cutset matrix Q is a matrix describing the graph cutsets as follows. The matrix has e(G) columns (corresponding to the edges of the graph) and has v(G)-1 rows (corresponding to the branches). Since each branch defines a cutset, the rows of Q correspond to cutsets. Since the quantity of cutsets is equal to the quantity of branches, the quantity of rows also is equal to the quantity of branches. The value of the matrix element [Qij] may be +1, 0, or -1. It will be +1 if edge ‘j’ is included in the cutset defined by branch ‘i’ and is with the same direction as the cutset, -1 if it is with opposite direction, and 0 if it is not included in the cutset as shown in Fig. 1b. A circuit is a closed path and is called a fundamental circuit if it includes only one chord and all the other edges are branches. This paper deals only with fundamental circuits, and for brevity they will be called circuits. The direction of the circuit is defined by the direction of its chord, as shown in Fig. 2a. The circuit matrix B, demonstrated in Fig. 2, has e(G) columns as for the cutset matrix, and its rows correspond to the circuits. Since each chord defines a circuit, the number of rows is equal to the number of chords of the spanning tree. The element [Bij]= +1 if edge ‘j’ is included in the circuit which is defined by chord ‘i’, and is with the same direction as the circuit, -1 if it is with opposite direction, and 0 otherwise. Every edge is assigned a value called the flow, which can be a force, flow of liquid, money, goods or the like.1 Every vertex is assigned a value called the potential.2 The potential may represent a physical quantity such as displacement, pressure or voltage, but it can also be used for other attributes. For instance in the shortest path algorithm it represents the lower bound of the distance (or the sum of the edge weights) from the current vertex to the target vertex [17]. 3. The flow graph representation

Definition of the Flow Graph Representation: A directed graph G is a flow graph representation if the values of the flows in graph edges are independent of the potential differences across the edges and satisfy the Flow Law, stated as follows: The vector sum of the flows in every cutset of G is equal to zero. This law may be recognized as a generalization of the well-known Kirchhoff’s Current Law (KCL). Note that KCL is restricted only to one dimension which is appropriate for electrical circuits, while the flow law is multidimensional and can be used for two or three dimensions which are appropriate for trusses and other engineering systems.

1 In control theory, this is called the “through variable”, but the word “flow” is more suitable for the work reported here. 2 The potential difference between the vertices defining an edge is known in control theory as the “across variable”.

1

1

D C

A B 5

(a) (b) Fig. 1. The cutsets of a graph (a) and its cutset matrix (b).

−−=

1 0 1 0 01 1 0 1 0110 0 1

cdacab

5 4 321

Q 2

3

4

(a) (b)Fig. 2. The circuits of a graph (a) and its circuit matrix (b).

−−

−=

1 0 1110 1 0 11

bdbc

5 4 3 2 1

B

B A

C D

2

3

4

5

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

6

The matrix form of the Flow Law is used in this paper, written

0FQ = r⋅ (1)

where Fr

is the vector of the flows, or Flow Vector. In order to analyze the flow graph (namely to find the flows in all its edges) using the flow law we need to know the condition under which it can be solved. Proposition 1 - The solvability condition.

Let F represent the flows in the edges of G and let dim(F(G)) be the number of dimensions of the coordinate system for the flow in the edges. The dimension, which can in general be any integer value, is usually in practice one, two or three. One is for a scalar problem, two is for a plane problem, and three for a space problem. If dim(F(G)) (v(G) - 1) is equal to the quantity of edges with unknown values of flow in E(G) then G is solvable using only the flow law. Proof: Each branch in the spanning tree defines a cutset in G, and the sum of flows in each cutset in each coordinate axis is equal to zero. Therefore, there are dim(F(G)) equations for each cutset, and since there are v(G)-1 cutsets, there are dim(F(G)) (v(G)-1) equations. The equations are in general independent because in each cutset there is at least one edge (the branch that defines the cutset) that belongs exclusively to this cutset. Computational solution of a flow graph is facilitated by an edge contraction, which is valid under the circumstances proved below. During edge contraction its end vertices are merged into one vertex and the edge is deleted. Proposition 2: The contracting property of a flow graph representation Every edge in a flow graph can be contracted. This property must be used carefully in order that indiscriminate use will not violate the solvability property for a problem. Proof: Let x = ⟨uv⟩ be the edge that we propose to contract, remembering that each edge is directed. Accordingly, the proposal is to eliminate edge <uv> and to replace vertices ‘u’ and ‘v’ with vertex ‘uv’. Let I(u,e) be the sign of incidence of edge ‘e’ to vertex ‘v’ as follows: plus when the edge ‘e’ enters vertex ‘v’ and minus when it leaves vertex ‘v’. Let e1,.., ek and em,em+1,..,en be the edges incident to vertices u and v respectively, as shown in figure 3. When applying the flow law to the vertices u and v, we get: for vertex ‘u’: ∑ ⋅

=

k

1jjj 0 = (x)F - )(eF)eI(u,

rrr (2)

and for vertex ‘v’: ∑ ⋅=

n

mjjj 0 = (x)F + )(eF)eI(v,

rrr (3)

The sum of equations (2) and (3) is: 0 =)(eF)eI(v,+ )(eF)eI(u,k

1j

n

mjjjjj∑ ∑ ⋅⋅

= =

rrr (4)

Equation (4) shows that the sum of flows at the vertex 'uv' is equal to zero, thus the Flow Law is also valid for the new vertex ‘uv’.

Fig. 3. Example of contracting an edge. (a) Before the contraction. (b) After the contraction.

uv

e1

e2

ek

em

en

em+1

(b)

vu

e1

e2

ek

em

en

em+1

x

(a)

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

7

4. The flow graph representation for statically determinate trusses The main property of a just-stiff or determinate truss is that the equilibrium equations (static law) suffice for the analysis, so it is reasonable to represent it as a flow graph representation. In this representation, the flows in the edges will correspond to the forces acting in the truss. 4.1 The Topological Definition for a Just Stiff-Truss A plane truss is called a just-stiff truss if the number of its rods and force reactions is equal to 2 v, and its graph representation has the Two-Edge-Disjoint-Spanning trees (TEDS) property [11], which was derived from matroid theory, stated as follows: A graph has a TEDS property if and only if (iff) when doubling each edge in turn, all the graph edges can be covered by two edge-disjoint spanning trees . 4.2 Creating the Graph The steps for representing the truss are: 1. Create a vertex in the graph for every pinned joint in the truss. 2. Create an edge in the graph, called a “truss edge”, for every rod; its end vertices correspond to those joints that connect

the rod to the truss. The direction of each truss edge will be arbitrarily assigned. The meaning of the flow in edge ‘e’ is the force applied to the head vertex (joint) by the corresponding rod, which is, of course, equal to the force that the tail vertex (joint) applies to the rod. In proposition 3 it will be proved, that if the value of the flow is positive, then it corresponds to a compression force, otherwise it corresponds to a tension force. The properties of the edge in the graph include a unit vector )e(r̂ in the direction of the corresponding rod. Initially, the values of the forces in truss edges are unknown, so they appear in the graph as solid lines.

3. An extra vertex called the “reference vertex”, is now added. This might be thought of as the earth. 4. The following edges for the external forces and reactions are added:

For each external applied force a “flow source edge” (or in short the “source edge”) is added, from the reference vertex to the vertex corresponding to the joint upon which it acts. For reasons explained below, these edges are always chosen to be chords, so they appear in the graph as dashed lines, and because their values are given the lines are also bold. For each reaction a “reaction edge” is added from the vertex corresponding to the joint at which the reaction acts, to the reference vertex - one for each relevant principal direction. Thus, for a plane truss, for each mobile support there will be one corresponding edge, and for a pinned support there will be two corresponding edges.

In trusses the sum of forces at every joint is equal to zero. In the terminology of the flow graph representation, this means that in the graph corresponding to the truss, the flow law is satisfied. The analysis process for the forces in the truss is to find the flows in the edges of the graph which satisfy the flow law, resulting from the flows originating in the source edges. One can think of this as follows. The flow originates at the reference vertex, then flows in the source edges representing external forces. It then flows in the graph, and then returns via the edges representing the reactions back to the reference vertex. Fig. 4. shows an example of a truss and its corresponding flow graph. Fig. 4. An example of a truss (a) and its corresponding graph (b).

1Fr

3Fr

(b)

Pr

21

3

C

B A

(a)

2Fr

Ray

Rax

Pr

C

A B

ORby

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

8

4.3 Contraction of the Fixed Reaction Edges The edges corresponding to the fixed reactions are contracted so as to facilitate computation. This step is not essential for the solution, but it eases the computational burden. According to proposition 2, contracting these edges will not invalidate the flow law. We also note that because the number of deleted reaction edges in two dimensions is two, and this is the same as the number of equations that are eliminated, the solvability property is retained. This is shown in Fig. 5b, where the two edges between vertices ‘o’ and ‘a’ from Fig. 5a. have been contracted to vertex ‘ao’. Fig. 5c. shows the resulting graph with its spanning tree and cutsets.

Fig. 5. The contracted graph of a statically determinate truss and its cutsets. (a) The initial flow graph, (b) The flow graph after contracting the reactions, (c) The cutsets in the contracted graph.

Proposition 3 - If the sign of the flow magnitude F(e) in the edge is minus then the force in the bar is tension, if it is plus then the force is compression. Explanation: In the network graph representing the truss each rod is represented by an edge which has a property of direction relative to a datum axis. The direction of the flow vector )e(F

r is the direction of the vector force applied by rod

e = <UV> to joint ‘V’. The vector can be written )e(r̂)e(F)e(F ⋅=

r (5)

where )e(r̂ is the unit vector with the same angle as the corresponding rod and in the direction of edge ‘e’. If the sign of the scalar F is plus, then the direction of the vector force that acts on joint ‘v’ is from the rod to the vertex ‘v’, which indicates a compressive force in the corresponding rod as shown in figure 6a. If the sign of the scalar is minus, then the direction of the vector force pulls from the vertex ‘v’ onto the rod, and the force in the bar will be tension as shown in Fig. 6b.

Fig. 6. Explanation for the sign of the scalar force F(e) in the rod. (a) Compression. (b) Tension.

1Fr1F

r

3Fr

3Fr3F

r

2Fr2F

r2Fr1F

r

(c)(b)

Ray

Rax

Pr

C

A B

O (a)

Rby

A,O

Pr

C

B

Rby

A,O

Pr

C

B

Rby

rF e( ))e(F

r

e

v

u

e

v

u

(b)(a)

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

9

4.4 The Analysis Process From the theorem of static equilibrium, the sum of all the forces at a joint is equal to zero. In the terminology of the Flow Graph Representation, this means that the sum of all the flows at a vertex is equal to zero. In graph theory terminology, this

can be written as: 0PFA =

⋅ r

r

, where A is the incidence matrix and Pr

the vector of flows in the source edges. Since the

rows of the cutset matrix Q are linearly dependent on the rows of the incidence matrix A, the flow law can be written

as: 0PFQ =

⋅ r

r

. The meaning of this equation is that the sum of all the flows in every cutset is equal to zero, which is

exactly what is stated in the theorem of static equilibrium. The number of equations is equal to the number of branches, which is equal to the number of vertices minus one, multiplied by the dimension of the flow (2 for plane trusses, 3 for space trusses). This is written: dim(F) (v(G)-1), or 2 v(G) - 2 for a plane truss. The number of the variables in a plane truss system is the number of the rods (which for a statically determinate truss is 2 v(G) - 3) plus the single edge representing the mobile reaction, giving 2 v(G) - 2. Having contracted the edge representing the fixed reaction, it is not included in the system. The number of unknown variables is therefore equal to the number of the equations and the solvability condition is satisfied. 4.5 The algorithm Summarizing the explanation above, and assuming that the topology of the truss satisfies the Two-Edge Disjoint-Spanning-trees (TEDS) property, the solution method is: Step 1 - Find a spanning tree, and label each branch with a double line. Every branch defines a cutset. Step 2 - For this spanning tree, write the cutset matrix Q, as defined in section 2. Step 3 - Write the equations

PQFQ0PFQQ

rrr

r

PFPF) ( −=⋅→=

⋅ (6)

where QP is the part of Q containing the columns corresponding to the flow sources, whereas QF is the part of Q containing the columns which correspond to the rest of the edges. Step 4 - Solve the 2 v(G)-2 equations in the matrix formulation of step 3. An example of using this algorithm is shown in Fig. 7, where C(x) represents the cosine and S(x) represents the sine. We will then move on to the Potential Graph Representation and mechanisms.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

10

Fig. 7. Example of analysis of a determinate truss using the Flow Graph Representation. (a) The truss. (b) The Flow Graph Representation. (c) The corresponding set of equations both for X and Y axes.

R xR y

xyxyxyxyxy

C CS S

C C C CS S

C C C C C CS S S S S

C

11

1122334455

0 0 0 0 0 0 315 0 0 180 0 0270 0 0 0 0 0 315 0 0 0 0 00 0 0 0 0 0 315 0 0 180 0 2250 0 0 0 0 0 315 0 0 0 0 2250 0 0 0 0 0 315 0 225 180 315 2250 0 270 0 0 0 315 0 225 0 315 2250 0 0 0 0 0

−−− −− −

− −

( ) ( )( ) ( )

( ) ( ) ( ) ( )( ) ( )( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )( ) 0 0 225 0 315 0

0 0 0 0 0 0 0 0 225 0 315 00 0 0 0 180 0 315 0 225 180 0 00 0 0 0 0 0 315 0 225 0 0 00 0 0 0 0 0 0 0 0 180 0 00 0 0 0 0 270 0 0 0 0 0 0

1123456789

1011

+ − + −+ +

C C C

S SC C C C C

S SC C

S

RFFFFFFFFFFF

( ) ( ) ( )( ) ( )

( ) ( ) ( ) ( ) ( )( ) ( )

( ) ( )( )

=

−−

+

+

0 00 00 0270 00 00 00 00 00 00 00 00 0

12

CS

C

C

PP

( )( )

( )

( )

3 F3= -1500

D

2

P1=1000

P2=1000

4

58

F5= 0

450 450 450450

450450

B C 1

2

3

4

5 6

7

8 10

9

11

A E

(a)4

R1

P2

P1

R1

R1

2 4

1 2

1 11

10 6

97

5

3

1

1

(b)

F4= 0

F11= +707.1

F6= +707.1F8= -707.1F10= +707.1

F2= -1000

F9= -500F7= -500F1= -1500

R1= +500

A E

G

C D

F

F G

(c)

11F 10F 9F 8F 7F 6F 5F 4F 3F 2F 1F 1R

B

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

11

5. The potential graph representation Definition of Potential Difference - The potential difference of an edge is equal to the potential of its head vertex minus the potential of its tail vertex.

Definition of a Potential Graph - A directed graph G is a potential graph representation if the values of the potential differences across the graph edges are independent of the flows in these edges and satisfy the Potential Law, stated as follows: The Potential Law - For every circuit in the graph, the sum of the potential differences of the circuit edges of the circuit is equal to zero. In matrix representation this is written:

0Brr

=⋅∆ (7)

where ∆r

is the vector of the potential differences, or Potential Difference Vector. Proof of the potential law: In the summation of potential differences of all circuit edges, the potential of each vertex appears twice with opposite signs – either because it is once a head vertex and once a tail vertex, or since it appears once in the direction of the circuit and once in the opposite direction. Therefore this summation is equal to zero. This law is a vectorial generalization to several dimensions of KVL (Kirchhoff’s Voltage Law) which is stated only for a one dimensional or scalar system. Proposition 4: Solvability condition - Let dim(G) be the number of dimensions in the coordinate system for the potential difference in the edges, and dr(G) be the number of edges with known values. The relation between the number of edges ‘e’ and the number of vertices ‘v’ of the graph must then satisfy the equation: e - dr(G) = dim(G) (e - v + 1). (8) Explanation: The quantity of independent circuits in a graph is equal to the number of chords in any spanning tree. Since there are v - 1 branches in a spanning tree, the quantity of chords is e - (v - 1), or e - v + 1. For each circuit there is one equation for each dimension, so the number of equations is then dim(G) (e - v + 1). The number of unknown variables (labeled as regular solid edges) is the number of graph edges minus the edges with known values, which is: e - dr(G). In order to have a unique solution for the analysis, the following equation must be satisfied: e - dr(G) = dim(G) (e - v + 1), which is equation 8. Proposition 5: The Contraction Property of the Potential Graph Representation Every edge for which the potential difference is zero can be contracted. Explanation: Contracting edges with zero potential difference does not affect the potential law which is the critical property of this type of representation. 6. The potential graph representation of a mechanism The main property of mechanisms is that the vector sum of the link relative velocities is equal to zero in every circuit. This property suffices for the mechanism analysis, so it is reasonable to represent it as a potential graph. In this representation, the potential difference of the edges will correspond to the relative velocities of the links in the mechanism. Note that this is different from the graph representation that is commonly used for mechanisms, such as [9]. 6.1 The steps for representing a mechanism

1. For every joint of the mechanism create a corresponding vertex in the graph. The potential of vertex ‘i’, designated )i(πr , is equal to the linear velocity of the corresponding joint.

2. For every link of the mechanism create a corresponding edge in the graph; its end vertices correspond to the joints that connect the link to the mechanism. The potential difference of this edge, designated )e(∆

r is equal to the relative

velocity of the corresponding link, and can be written: )e(v̂)e(V)e(V)e( ⋅==∆rr

, where V(e) is the magnitude of the relative linear velocity and )e(v̂ is a unit vector in the direction of the relative linear velocity of the link.

3. Label the edge corresponding to the driving link with a bold line since its potential difference (corresponding to its relative velocity) is known. This is called the “source edge”.

4. The relative velocity of a link is the velocity of the head joint minus the velocity of the tail joint. The property for analyzing the velocities in mechanisms is that in each circuit of links, the sum of the relative velocities of all the circuit

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

12

links is equal to zero. Since the relative velocity of a link is represented by the potential difference of the corresponding edge, this property is the implementation of the potential law. 5. Contract edges corresponding to the fixed links. This link has zero relative velocity between the ends, corresponding to

zero potential difference. According to proposition 5, contracting these edges will not violate the potential law, as shown in Fig. 8.

Fig. 8. Example of a Potential Graph Representation. (a) The mechanism. (b) The Potential Graph Representation. (c) The contracted graph.

6.2 The Analysis Process The analysis process of determining a relative velocity for each mechanism link turns into a problem of assigning the potential difference to each edge of the corresponding potential graph, so that the potential law is satisfied. There are dim(G) equations for each circuit (one for each coordinate axis) each of which states that the sum of the projections of the relative velocities onto each coordinate axis is equal to zero. For a plane mechanism dim(G) is 2. 6.3 The Algorithm The algorithm is based on the principle that every fundamental circuit must satisfy the potential law. Every circuit is defined by a chord, as is described in the following steps: Step 1 - Choose a spanning tree, and label each branch with a double line. Every chord defines a circuit. Step 2 - For this spanning tree, write the corresponding circuit matrix B, as defined in section 2.

Step 3 - Write the equations ∆∆

∆ −=⋅→=

⋅ ∆∆∆∆ rrrr

r

BB0BB ) ( (9)

where B∆ is the part of B containing the columns corresponding to the potential difference sources and ∆∆r

is the vector of the values of potential difference sources. Step 4 - Solve the ( )( )1)G(dr)G(v)G(e2 −−−⋅ equations in the matrix formulation of step 3. An example of using this algorithm is shown in Fig. 9.

2O/BVr

1O/AV

r

O2 O1

1O/AVr

O1,2

B/AVr

B/AVr

A BB

A

O2 O1

AB

(b)(a) (c)

O/BVr

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

13

(a) (b)

1

1

1

1

1

1

1

7

6

5

2

9

8

4

3

79

79

768

768

654

654

623

623

V

sincos

00

sincossincos

VVVVVVVV

sin000sin000cos000cos000sinsin000sin00coscos000cos00

0sinsin000sin00coscos000cos00sin0sin000sin0cos0cos000cos76529843

α−α−

αααα

=

α−αα−αα−ααα−αα

αααααααααααα

(c)

Fig. 9. An example of mechanism kinematical analysis using potential graph representation. (a) A mechanism; (b) the corresponding potential graph; (c) the set of equations for its analysis.

The efficiency of this approach can be greatly improved by the following method. For a circuit with exactly two regular solid edges (in which the potential difference of the edges is currently unknown), and all other edges in that circuit labeled bold (their potential difference being known), the solution follows immediately. This analysis process is similar to the Image Velocity Method [12]. The process of finding the circuit with two solid edges (two being the minimum quantity possible in a mechanism) is the well-known Shortest Path Problem in graph theory [6]. An example using this method is shown in Fig. 10.

2

9

7 8

5 6

1 3

4

2

A

B C

D

E

9

7 8

6 C B

A

5 1

3

4

O D

E

B C

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

14

Fig. 10. Steps in the computation exhibiting a reduced computational complexity in mechanism analysis.

7. The duality relationship between the flow graph and potential graph representations As it was shown above, the flow graph is based on the flow law, stated 0FQ =⋅ )G()G(

r, while the potential graph is based

on the potential law, stated .)G()G( 0B =⋅ ∆r

Let G be a flow graph that by definition satisfies 0FQ =⋅ )G()G(r

and let G* be its dual graph. The cutset matrix Q(G) is the circuit matrix of the dual graph G* (see appendix), and can be written Q(G) = B(G*). The flow law can then be rewritten;

0FB =⋅ )G()G( *r

(10)

α−αα−α

=

αααα

6

1

61

61

3

2

32

32

VV

sinsincoscos

VV

sinsincoscos

αααα

=

αααα

3

2

32

32

5

4

54

54

VV

sinsincoscos

VV

sinsincoscos

11

1

9

7

97

97 Vsincos

VV

sinsincoscos

αα

=

α−αα−α

77

7

8

6

86

86 Vsincos

VV

sinsincoscos

αα

=

αααα

9

7 8

5

6

1

3

4

2

O

C B

D

A

E

9

7 8

5 6

1

3

4 2

O

C B

D

A

E

9 7 8

5

6

1

3

4

2

O

C B

D

A

E

9

7 8

5

6

1

3

4

2

O

C B

D

A

E

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

15

From the last equation it follows that the flow vector of G satisfies the potential law in the dual graph G*. Therefore when we interpret G* to be a potential graph, its potential difference vector should be equal to )G(F

r, or:

)G(F)G( *rr

=∆ (11) So, for every flow graph there exists a potential graph such that its potential difference vector is actually the flow vector of the flow graph, and vice versa. 8. The duality relationship between trusses and mechanisms In section 4 it was shown that a statically determinate, just stiff, truss can be represented by the flow graph representation, while in section 6 it was shown that a mechanism can be represented by the potential graph. In addition, in section 7 the flow and potential graphs were proved to be mathematically dual. It follows that statically determinate trusses and mechanisms are also mathematically dual. Since this is the main issue of the paper, this section deals with it in detail. A statically-determinate truss is solvable using only the static force equilibrium criterion at each node, which is equivalent to stating that the Flow Law (KCL) holds at each node. The mechanisms which are dual to this class of trusses are characterized by the equivalent criterion, namely that that in each circuit the vector sum of relative velocities is zero, which is equivalent to stating that the Potential Law (KVL) holds for each circuit. Definition of a dual mechanism – Let T be a statically determinate truss, G(T) its flow graph representation and let G*(T) be a graph that is dual to the flow graph. Note that G*(T) can be considered as a potential graph (see section 7). Each rod of the truss has a direction unit vector )e(r̂ and each link of the mechanism has a unit vector )e(v̂ representing the unit vector in the direction of the link relative velocity. Mechanism M is called a “dual mechanism to truss T” if G*(T) is its potential graph and for every edge (rod) ‘e’ in graph G(T) and its corresponding edge (link) ‘ 'e ’ in the dual graph G*(T), the equality:

)'e(v̂)e(r̂ = (12) is satisfied Proposition 6: Let T be a determinate truss and M its dual mechanism. The following proposition is then valid: For every rod ‘i’ in truss T the force vector )i(F

r is equal to the relative linear velocity vector )'i(V

r of the corresponding

link ‘ 'i ’ and vice versa. Proof: Let G(T) be the flow graph which corresponds to truss T and let G(M) be the potential graph of the dual mechanism M. Since G(T) is a flow graph, it satisfies the flow law - 0FQ =⋅ )T())T(G(

r

From the dualism connection the last equation can be rewritten as: 0FB =⋅ )T())T(G( *

r (13)

This means that the force vector also satisfies the potential law in the dual graph G*. In other words, ( )TFr

is a potential difference vector of the potential graph G*. According to the definition of a dual mechanism, G* is the potential graph of the dual mechanism M and therefore the equations 0VB =⋅ )M())T(G( *

rand )e(r̂)'e(v̂ = are satisfied. Comparing the

last two equations with equation (13) gives ( ) ( )MT VFrr

= . So, for each rod ‘e’ and its corresponding link ‘ 'e ’ the equivalence (14) is valid:

)'e(V)e(Frr

= . (14) The magnitudes of the corresponding vectors are therefore equal, that is )'e(V)e(F = for each rod and its corresponding link.

Proposition 6 states that the potential law equations of mechanism M are the same as the Flow Law equations in the dual truss T. The same proof holds when G corresponds to the primal truss and G* to the dual mechanism, thus showing that the duality relation is mutual. Table 1 sums up the dual attributes.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

16

THE MECHANISM THE DUAL TRUSS

mechanism link truss rod

∆r

- Relative velocity vector Fr

- Force vector. Circuit Cutset Potential difference Flow Potential difference of edge ‘e’ = relative linear velocity of the corresponding link ‘e’ =

)e(v̂)e(V)e( ⋅=∆r

Flow in edge ‘e’ = force acting in rod ‘e’ =

)e(r̂)e(F)e(F ⋅=r

)e(v̂ -relative linear velocity unit vector

)e(r̂ - unit vector in the rod direction.

ω i /0 - Angular velocity of link i =

relative velocity/length. i

i

LF - Force per unit length.

Table 1. The Dual Attributes Figure 11 shows a truss dual to a four-bar mechanism.

Fig. 11. Example of a mechanism, its dual truss and the corresponding matrix representations.

(a) The mechanism. (b) The potential graph and its dual flow graph superimposed (dashed line). (c) The dual truss. (d,e) The corresponding analysis equations.

( ) ( )0= VVV

)3(v̂)2(v̂)1(v̂

0 = V - V - V

B/0

A/B

A/0

B/0A/BA/0

−−

rrrr

( ) ( )0 =

F(3)F(2)

P)'3(r̂)'2(r̂)p(r̂

0)3(F)2(FP

−−

=−−rrr

(d) (e)

A’

1’

)'3(Fr

)'2(Fr

3’

O1

0/AVPrr

=

B A

O2 O1

(a) (b) (c)

1

2

3

BA

1

2

3

2’

B’

O’

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

17

7.1 Special Mechanisms and the Corresponding Dual Trusses When analyzing mechanism velocities by the Image Velocity method, there are several different types of mechanisms for which one has to apply different solution techniques. This paper deals with four such types of mechanisms. In this section it is shown that the determinate trusses can be categorized into those same groups. Group 1: Mechanisms that have an immediate solution at every step - In this group, during the process of analysis, each currently chosen circuit has exactly two solid edges and at least one bold edge, as shown in Fig. 12c. The corresponding truss is such that in the flow graph representation, at every stage there is a cutset with exactly two black edges, and at least one bold dashed edge, as shown in Fig. 12b and the corresponding graph in Fig. 12d. For a plane truss in this case, at each joint there are two unknowns and two equations, so the solution proceeds immediately.

Fig. 12. An example of a mechanism of group 1 and its corresponding dual truss. (a),(c) - The mechanism and its potential graph. (b),(d) - The dual truss and its flow graph.

1’

5’B A

D

C

D’ 6’

3

'Pr

7 6

4 5

2 1

0

0 0

E D

C

B

A’

(a)

(c) (d)

O/AV'Prr

=

(b)

7’

4’

5’

2’

3’

7

6

4

2 5

2

1 3

O

6’7’

3’ 2’

4’

C’

B’A

'Pr

O/AVr

C’

D’

A’ B’

O’

O’

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

18

Group 2: Mechanisms that have an immediate solution by changing the driving link The potential graph representation which corresponds to mechanisms of this type does not have a circuit of two solid edges when the other edges are bold edges, but has at least one circuit of size three with solid edges only. In this case, one edge in the circuit with the three solid edges is labeled bold, becoming a virtual driving link, while the real driving link is temporarily labeled solid. After the analysis procedure terminates, i.e. all the graph edges are labeled bold, the potential

difference of each edge is multiplied by the relation k VV

P

Pvir

= /0 where VPvir is the velocity of link P due to the virtual

driving link movement, and VP/0 is the actual velocity of link P. An example of this type of mechanism and its corresponding dual truss is shown in Fig. 13a and 13b respectively.

Fig. 13. Example of a mechanism of group 2 and its corresponding dual truss. (a),(c) - The mechanism and its potential graph. (b),(d) - The dual truss and its flow graph.

R’

4 O/EVP

rr=

O/EVr

E 1

A’

(c)

B’

O

(b)

4’

5’

1’

3’

2’ 7’ 6’

(a)

7

R

2

53

6

P’A’

B’ C

D

(d)

P’

4’

5’

1’

3’

2’7’

6’O/EV

r

R

2

4

5

1

3

7

6C’

D’

B

D’

A

E’E

A

C

D

E’

C’

B

O’

O’

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

19

Group 3: Mechanisms in which several circuits are solved simultaneously

In this case, there is no immediate solution, since there is no circuit corresponding to groups 1 or 2 above. Here the quantity of edges is equal to twice the number of circuits, and all the equations are to be solved simultaneously. An example of this type of mechanism called “Stephenson type II” [12] and its corresponding dual truss is shown in Fig. 14a and 14b respectively.

Fig. 14. Example of a mechanism of group 3 and its corresponding dual truss. (a),(c) The mechanism and its graph. (b),(d) The truss and its graph.

O/AVPrr

=

8’

A’

D’ C’

O/AVPrr

=

O

6’

E

O

7D C

A

B

(d)(c)

1’

4’

8’

2’

3’

7’

6’1

2

3

4

86

75

9

B

AD

C

E

O2 O1

(b)(a)

1’

1 2

3

4 86

5

O/AVr

9

B’ E’

A’ O’

O’ E’

D’3’

C’ 7’

5’

B’ 4’

2’

5’

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

20

Group 4: Pseudo indeterminate mechanism (truss) - For this type of mechanism it seems at first that there is insufficient number of equations, as shown in equation (15) which corresponds to the mechanism described in Fig. 15.

0ABABB 0B /V = /V +/V+/V 2323

rrrr (15)

But, it is known in the literature that this mechanism has a special property that: ω ω2 0 3/0/ = (16) adding this equation yields a unique solution. In the corresponding truss, shown in Fig. 15b, it seems at first that this is an indeterminate truss, which is not solvable using only the static theorem. However, when we state that the direction of the vector sum of the forces

v rF2 1' + F3' is known, we add a property which is an analogue to the special property in the

corresponding mechanism. This gives an additional equation which makes the problem solvable by the flow law only. Fig. 15 shows an example of a mechanism of group 4 and its corresponding dual truss.

Fig. 15. Example of a mechanism of group 4 and its corresponding dual truss. (a),(c) The mechanism and its graph. (b),(d) The dual truss and its graph.

AB2

B

B2’

O’

A’

O’

2’2 2’1

3’O/AV

r

O/BV'Prr

=

A2

B

1 3

O1

O3

2221

1

3

O

2’22’1

1’

3’

(a)(b)

(c) (d)

B’

B’ A’

B'2

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

21

9. Further Research The dualism between trusses and mechanisms that is described above is applicable to other fields, some of which are reported below. Dualism of other static systems In the paper, it was shown that for every mechanism with links of order two (binary links), or for non-collinear links of order three and more there exists a dual statically determinate truss, and vice versa. Non-collinear links of order greater than two can be represented as a set of links of order two. For mechanisms with order three and more, there is possibility that three or more of its kinematic pairs are collinear, being located on a straight line. The dual static element to a collinear link is a lever. Since the paper deals with the dualism between trusses and mechanisms, this issue and its applications are beyond the scope of the paper. However, in order to show that this approach is valid to more general mechanical systems an example and the basic idea for this expansion is described also below. Fig. 16 shows a mechanism that has link of order three (link number 3) such that its three turning pairs are located on a straight line, and for convenience of the explanation its two sections are designated as 31 and 32. Because of this special geometric property, the dual static system contains lever B’C’ as shown in Fig. 16.b.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

22

1V

0000

1v̂

VVVVV

000OC1

CB1

v̂0v̂v̂00v̂0v̂v̂

5

2

4

32

31

543

233

−=

−− 1F

0000

1r̂

F'F'F'F'F'

000'C'O'B'Or̂0r̂r̂00r̂0r̂r̂

5

2

4

32

31

'54'3

'2'3'3

−=

−−−

Fig. 16. A mechanism with three collinear joints and its dual structural system. (a),(c),(e) Mechanism, corresponding graph and set of linear equations required for the analysis.

(b),(d),(f) Dual structural system, corresponding graph and set of linear equations required for the analysis.

(e) (f)

2

32

D

C

B A

5’1 C’

B’

1’

32’

31’

5’

4’

2’

4

2 31

5

O

O/AVPrr

=

O/AVr

1’

32’

31’

4’

2’

O’

4

1

0 0 5

0E D

BA

(a)

O1 O3

31

32

0 0 5

0E

BA

(b)

C

O1 O3

31

32 1’

2’

32’

31’

4’

5’

B’

C’

O’ D’

(d)(c)

A’

D’

A’

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

23

10. Conclusions The paper has shown how both trusses and mechanisms can be represented by graphs. Doing so not only enables interesting insights into the mathematical underpinning of each type of system and its solution methods, but also showed that the representations of trusses and mechanisms are mathematically dual. A truss can then be analysed by solving its dual mechanism, and vice versa. This novel relationship was not a coincidental, fortuitous discovery. It followed directly from the embedded properties of the representations used. As pointed out by Freudenstein in the quotations given in the introduction, research in mechanical systems should aim at dealing efficiently with large and complex systems, and generate a capability to integrate with analysis of different physical phenomena. The work reported here is part of a larger research program, aligned with Freudenstein’s insight, aimed at applying the knowledge implicit in the representations of graph and matroid theory, and discrete linear programming, to engineering systems. The engineering problems explored in the research program included analysis of systems integrating indeterminate trusses, mass-spring-damper dynamic systems, electrical circuits and other elements from different engineering fields, finding the maximum external forces acting on a truss at plastic yield, robot scheduling and others. The results shown here were obtained by applying graph theory to trusses and mechanisms. When doing so, previously unappreciated properties embedded in the representations emerged, generating new understanding of those systems. Dual properties between representations can add understanding of relationships which link many different fields, in this case static and kinematic systems. This paper was intended to show more than the use of graph theory applied to trusses and mechanisms, although that is in itself an interesting subject. The results quoted show that even for fields of engineering which have a long and rich intellectual tradition, such as trusses and mechanisms, other hitherto underutilized representations can be applied. In doing so they make the problem more transparent, hence more open to the discovery of new relationships and new solution methods which rely on those relationships. This approach may lead to new directions for development of methods of reasoning by analogy for engineering science, both when using a computer, and when reasoning for human problem-solving. Acknowledgements – The author expresses his appreciation to Professor Kenneth Preiss for many fruitful discussions in elucidating the matters presented here. The author also wishes to thank the Research Authority of Tel-Aviv University for financial support.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

24

References 1. G.C. Andrews, The Vector-Network Model - a Topological Approach to Mechanics. Ph.D. thesis, University of

Waterloo, 1971. 2. G.C. Andrews, H.K. Kesavan, The Vector-Network Model : a New Approach to Vector Dynamics, Mechanism and

Machine Theory, 10 (1975) 57-75. 3. O. Bjorke, Towards a Manufacturing Systems Theory, Robotics and Computer-Integrated Manufacturing, 4 (1988)

625-632. 4. M. Chace, D.A. Smith, DAMN- Digital Computer Program for the Dynamic Analysis of Generalized Mechanical

System, SAE paper 710244 (1971) 969-991. 5. A.G. Erdman (ed.), Modern Kinematics- Developments in the Last Forty Years. John Wiley & Sons, New York,

1993. 6. S. Even, Graph Algorithms. Computer Science Press, 1979. 7. S.J. Fenves, F.H. Branin, Network Topological Formulation of Structural Analysis, J. of the Structural Division,

ASCE, 89 (1963). 8. S.J. Fenves, R.D. Logcher, S.P. Much, STRESS - a User’s Manual. MIT Press, 1964. 9. F. Freudenstein, L. Dobrjanskyj, On a Theory for the Type Synthesis of Mechanisms, Proceedings of the Eleventh

International Conference of Applied Mechanics, (1964) 420-428. 10. A. Kaveh, Graphs and Structures, Computers and Structures, 40 (1991) 893-901. 11. L. Lovasz, Y. Yemini, On Generic Rigidity in the Plane, SIAM J. of Algebraic and Discrete Methods, 3(1) (1982)

91-98. 12 R. L. Norton, Design of Machinery, McGRAW-HILL, 1992. 13. B. Paul, A Unified Criterion for the Degree of Constraint of Plane Kinematic Chains, ASME J of Applied

Mechanics, 27 (1960) 196-200. 14. K. Preiss, O. Shai, Deep Artificial Intelligence Knowledge for Truss Analysis, The 25th Israel Conference on

Mechanical Engineering, Haifa, Israel (1994) 207-209. 15. R.J. Rogers, G.C. Andrews, Simulating Planar Systems Using a Simplified Vector-Network Method, Mechanism

and Machine Theory, 10 (1975) 509-519. 16. G.J. Savage, G.C. Andrews, Visual Simulation of Dynamic - Three Dimensional Systems Using the Vector

Network, Simulation, 19 (1972), 187-191. 17. O. Shai, Representation of Embedded Engineering Knowledge for Artificial Intelligence Systems. Ph. D. thesis, Ben

Gurion University of the Negev, 1997. 18. O. Shai, K. Preiss, Graph Based Learning for CAE, International Workshop on the Future Directions of Computer

Aided Engineering, Carngie-Mellon University, (1994) 25-28. 19. K. Singhal, H.K. Kesavan, Dynamic Analysis of Mechanisms via Vector-Network Model, Mechanism and Machine

Theory, 18 (1983) 175 - 180. 20. M.N. Swamy, K. Thulasiraman, Graphs: Networks and Algorithms. John Wiley & Sons, NY, 1981. 21. K. Wang, O. Bjorke, The Validity of Mechanical Networks, Systems Science, 17 (1991) 55-71.

Published in Mechanism and Machine Theory, Vol. 36, No. 3, pp. 343-369, March, 2001.

25

Appendix – Fundamentals of graph theory A graph is a collection of vertices and edges each connecting two of the vertices. Thus graph can be represented as G = ⟨V, E⟩ where V is the vertex set and E is the edge set. Figure A.1 shows two graphs. Both a vertex and an edge may have properties or labels associated with them. If the edges have a property of direction associated with them, then the graph is termed a directed graph. A graph is termed connected if every vertex is accessible by traversing some or all the graph edges. A subgraph S of G is a graph which is contained within graph G. A tree is a connected graph with no circuits. This is equivalent to stating that it is a connected graph with the number of vertices equal to the number of edges plus one, v(G) = e(G) + 1. An edge in a tree is called a branch. A spanning tree is a subgraph of graph G which is a tree and in which all of the vertices of graph G are included. Any edge, which is added to a tree necessarily creates a circuit. Such an edge is called a chord. A cutset is a minimal set of edges of a connected graph G such that if the edges in the set are deleted, the graph becomes disconnected, which is the same as saying that it becomes divided into more than one connected graph. Figure 1 shows a cutset.

A path is a sequence of vertices and edges [v0, e1, v1, e2,,....,vk-1 ,ek, vk] such that v0, v1,.., vk ∈ V(G), e1, e2,..,

ek∈E(G) where ei joins vi-1 and vi for i = 1, 2, ..., k and all the vertices are different.

A circuit C is a path with v0 = vk, that is, it is a closed path.

The dual graph is defined as follows. Let G be a planar graph whose edges can be drawn in the plane without crossing each other, and is referred as the primal graph. Then G* is called the dual of G if it is constructed as follows. For every face in the primal graph there is a corresponding vertex in the dual graph (and vice versa). Two vertices in the dual graph are adjacent if the corresponding faces in the primal graph are adjacent. We therefore can state that G* is the dual of G if there is a one-to-one correspondence between the edges of G* and every circuit (cutset) in G is a cutset (circuit) in G*. For example in Fig. A, where the primal graph G is shown with solid lines and the dual with dashed lines, cutset {1,4,2} in the primal graph forms a circuit in G.

Fig. A1. Example of a dual graph. (a) The primal graph ( solid lines) and its dual graph (dashed lines). (b) The dual graph alone.

55’

2’

1’

3’

4’

2’

2

1

1’ 3

4 3’

4’

5’

C O

BA

C’

B’

O’

A’