You are on page 1of 45

INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN VOL.

35, 1351- 1395 (1992)


ENGINEERING,

HOW TO RECOGNIZE THE ORDER OF INFINITESIMAL


MECHANISMS: A NUMERICAL APPROACH

GINEVRA SALERNO
Dipartintento di Strut fure, Universita' della Calabria, 87030 Arcavacata di Rende, Italy

SUMMARY
Structures presenting kinematical inderterminacy are usually called mechanisms. This paper is entirely
concerned with assemblies which reveal themselves to be mechanisms at a null value of the load. Among
them a first distinction is made between infinitesimal and finite ones, the former being characterized by one
or several directions of lower (but not zero) stiffness, whereas the latter show at least one finite admissible
displacement for which none of the bars undergoes any elongation. Moreover, there exists the possibility to
make a further distinction among the infinitesimal mechanisms, according to which is the order of the
stiffness along the direction considered above. The way of evaluating this order is to perform a local analysis
of the strain energy of the assembly, once the displacement field is parametrized in terms of a suitable
parameter. By means of a finite element technique, this analysis can be easily performed through the
numerical approach presented in this report.

1. INTRODUCTION
In structural mechanics, assemblies of bars and pin-joints presenting a kinematical indeterminacy
are called mechanisms. Among them, there exist relevant differences of behaviour which justify an
internal classification between finite and infinitesimal ones. In fact, while the former show finite
displacement fields for which none of their bars undergoes any axial deformation, the latter are
characterized by directions of lower stiffness in which they appear locally to experience rigid
motions.
First of all, Calladine raised the matter in Reference 1, talking about the mechanical behaviour
of Tensegrity structures, followed by Tarnai, who gave a first distinction between finite and
infinitesimal mechanisms in References 2 and 3. But, in Reference 4 Koiter pointed out that
Tarnai's classification was incomplete, being inadequate to distinguish between first and higher
order infinitesimal mechanisms. This distinction is quite interesting from a mechanical point of
view, infinitesimal mechanisms of higher orders being characterized by the fact that the higher the
order, the lower the stiffness. But, it is probably more interesting to state whether there exists one
matrix method suitable to decide whether kinematical indeterminacy takes the form of an injinitesi-
ma1 mechanism of thejirst order or of a higher order? and, above all, to state of which order the
mechanism is.
A method was proposed by Pellegrino and Calladine in Reference 5, but it gives only a partial
answer to the above question, being unable to distinguish among infinitesimal mechanisms of
higher order than the first.

'Freely abstracted from Reference 4.

0029-5981/92/20135 1-45$27.50 Received 25 February 1991


0 1992 by John Wiley & Sons, Ltd. Revised 17 September 1991
1352 G. SALERNO

As indicated in Tarnai's most recent work6 and according to the author's opinion, the method
to be adopted in order to obtain the most general matrix method suitable to answer the question
above is to study the stability of the mechanism by means of Koiter's non-linear theory of elastic
~tability,~ considering the directions of the infinitesimal motions which the mechanism can
undergo as buckling modes and recognizing the order from the order of stability of the
mechanism. The suggestion of using the theory of stability was made also by Kuznetzov in
Reference 8 and by Pellegrino in Reference 9, but neither of them indicated an effective matrix
method.
To be sincere, the most relevant question should be whether a mechanism is infinitesimal or
finite, and, in the latter case, to draw its motion. To this aim in Reference 10 F u j i and Usuda
presented a numerical method, based upon the iterative solution of the equilibrium equations,
well framed from a theoretical point of view, but probably presenting many troubles in the
numerical convergence, especially in the case of mechanisms presenting several infinitesimal
motions.
Under these considerations, it appears that the aim of this paper is clear, that is, to present
a numerical method suitable for recognizing the order of a 2-D or 3-D infinitesimal mechanism,
as defined above, which uses Koiter's nonlinear theory of stability of elastic structures.
To this end, the paper is organized as follows: Sections 2.1 and 2.3 summarize, in a concise form
and in the mathematical language first used by Budiansky," the problem of stability of
a hyperelastic continuum presenting respectively one or more buckling modes at a null value of
the load. For the sake of clarity and because of some slight algorithmic differences, a distinction
between the case of one or more independent mechanisms is made, but this is in fact unnecessary;
Section 2.2 relates the most common definition of the order of an infinitesimal mechanism with
the new definition made by using the stability analysis. With respect to Koiter's theory, there is
the evident difference of considering variations of the strain energy of higher order than the
fourth, related to the circumstance that a non-linear continuum model different from Cauchy's is
used. In fact in Section 3.2, the strain measure of a pin-jointed bar is exactly obtained by means of
a Lagrangian approach and all the necessary quantities to perform the algorithm (outlined in
Section 3.1) are obtained by means of a finite element technique. Then, in Section 3.3 some
remarks are made about two important aspects from a computational point of view. Finally in
Sections 4.1 and 4.2 some numerical results concerning assemblies of general interest are
presented and, in Section 4.3 the most important procedures are listed in Borland Turbo Pascal.

2. THE STABILITY ANALYSIS OF INFINITESIMAL MECHANISMS

2.1. The case of a single injnitesimal motion.


We are going to study the stability of an assembly presenting in its undeformed configuration
one single infinitesimal motion. In the case of a discrete system, that is, a system with a finite
number of degrees of freedom, and if only conservative loads are accounted for, stability can be
checked by using the following theorem:
If the total potential energy is positive dejnite in an equilibrium conjguration, the
equilibrium is stable according to Liapunov.
The above theorem is clearly a sufficient condition for stability: the necessary condition is not
always true, that is, sometimes Liapunov's stability and undefiniteness of potential energy can
exist simultaneously.' However, the above condition becomes necessary under the hypothesis,
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1353

which will be made in the following, of analytical strain energy. The total potential energy is
defined as the summation of the strain energy and of the work done by external loads; but, in this
case, no loads act on the structures under examination. Therefore, only the positive definiteness of
the strain energy is to be checked.
Let u be the generic admissible displacement field of the assembly being studied, with U E W ” ,
where n is its number of degrees of freedom. Let @ [ u ] be its strain energy when all the nodes
undergo the displacement u. Under suitable hypotheses of Frechet differentiability and under the
consideration that Liapunov’s stability involves a local analysis, i.e. limited in a neighbourhood,
the strain energy can be substituted by its expansion in a Taylor series, starting from the initial
equilibrium configuration. Now, without any loss of generality, suppose that the initial equilib-
rium configuration is uo = 0 and that its strain energy assumes a null value ((Do = 0);it is worth
noting that an important consequence of the choice of Q 0 = 0 is that, given an admissible
displacement field, the first non-vanishing variation cannot be indefinite or negative definite,
since, in that case, the strain energy would be allowed to decrease, becoming negative: and this is
impossible by definition. In this case, after indicating with a prime the derivation with respect to u,
we can substitute for the strain energy its MacLaurin’s series, starting with the second order term:
@[u] = 30 ; u 2 + @,b”u3 + & @,b”’u4
+
120 0””’
0 u s +&@b“”’u6 +
0(llull7) (1)
Let us examine expression (1): if the second variation of the strain energy is positive definite, then
the stability analysis is over, because the second order term is the leading term and it decides the
sign of (1). It is more interesting to examine the case in which the second order variation is
positive semidefinite, that is, if there exists one direction? u o , usually called the buckling mode,
such that

i
@;ziodu = 0, Vdu
wit42 > 0, vu # t i 0
In this case, the energy variations of higher order than the second are to be considered and their
(2)

sign is to be studied. But higher order energy variations involve matrices of higher dimensions
than the second, so that, at first sight, the analysis of their sign could be very difficult indeed.
Despite this, a very simple analysis can be performed if not all the admissible displacement fields
are considered, but only a suitable set of them, which we shall define. Let u be parametrized in
terms of a t parameter, defined by
5 = (u,zio) (3)
where the symbol (. ,.) stands for a positive definite symmetric bilinear function, which can be
used either as inner product or as norm, according to necessity. Such a choice of 5 means that
only those displacement fields which present a non-null component along the buckling mode are
considered. So, these displacement fields assume the form

‘A superscript dot indicates derivation with respect to the parameter introduced below.
1354 G. SALERNO

under validity of the following expressions:


(U0,UO) =1

(iio, Uo) =0

(Uo, f i o ) =0

................... = o
Equations (3) and (5) are perfectly equivalent, and (5) are called normalization equations. From
a geometrical point of view, equation ( 4 ) represents a set of curves in a”,all passing through the
initial equilibrium configuration with the same tangent vector u o. As yet, the coefficients
(Go, U o , ‘Go,- . . ) are undefined, but the correct way of defining them will be proposed later.
Referring to (3), it can be easily shown that
t 2 = (4u> = llul12 + 0(t4)
which means that 5 and llull are infinitesimal quantities of the same order. Therefore, by using (4),
the expression of the strain energy may be transformed as follows:

+ &(@;’”ti; + lo@;”U;iio + lO@;’U%


0 0

where expression ( 2 ) has been used to annul many terms involving second variations.
Let us examine expression ( 6 ) . The first non-zero term is an odd power of 5: therefore, if the
coefficient of t 3 is not zero, the sign of the third order term will be indefinite, since it can assume
either positive or negative values, according to the sign of 5. Then, under the considerations
above, the coefficient of the third order term must be zero, that is,

It is clear that, if they are involved, i.e. if the analysis is not stopped before, all the coefficients of
the odd powers of 5 must be zero.
In this case, the fourth order term is to be analysed. As it involves an even power of 4, its sign
will be decided by the sign of the coefficient of t4.This coefficient depends on the quantity iio,
undefined as yet, according to the following expression:
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1355

but we are interested only in its minimum value, obtained when iio satisfies the following
equation:
a; iiosu = - @;‘ti:su (9)
Equation (9) can easily be obtained from (8), by means of derivation w.r.t. Go. Finally, we obtain
its minimum value:
....
@Omin
, =@;“a;: -3@‘’G2
0 0 (10)

The fact that the stationary value of (8) is actually a minimum (and not a maximum) depends on
the circumstance that the operator 0: is positive semidefinite. Now, if somi,,
is positive, the
analysis is over, whereas, if it is null, higher order terms are to be considered.§
For reasons already explained, it follows that
.....
= @;’”a; + lo@;”ti3ii
0 0 + 1 5 ~ ; ’ a0 ~2o = o (11)
where two terms have been eliminated in agreement with (9). By using (9) again, we simplify the
coefficient of sixth order &o, which becomes

and then, differentiat.ing it w.r.t. U o , we obtain the equation which defines U,:

Consequently, the minimum value of “;f;”o is

......
@ Omin = @;’”’ti: + 15@;’’’ti~iio + 45@;”tiiii:

As in the case of the fourth order coefficient, only if (14) is null must the analysis continue,
examining higher order terms and re-iterating the proposed scheme, as necessary, that is, until an
even order non-zero minimum coefficient is found.

2.2. H o w t o state the order b y means of stability analysis


The common definition of an infinitesimal mechanism of order n, given by Koiter in Reference
4 and mathematically formalized by Tarnai in Reference 6, is recalled here and related to the same

For the same reason for which all the odd power coefficients must be zero, cannot be negative
1356 G. SALERNO

definition by using stability analysis. Let u be the generic admissible displacement of the nodes of
the assembly, parametrized in terms of 5 according (4). Let W be the set of the bars of the assembly
and let E , be the axial deformation of the single element eeW: also it is a function of 5 through u,
so it can be expressed in MacLaurin's series
E, = Ele< + EZe52 + E3et3 +... (15)
Under these considerations, the assembly is called a mechanism if there exists at least an
infinitesimal displacement field such that E l e = 0, VeeW. Moreover, such an infinitesimal mech-
anism is said to be of order n if there exists at least one infinitesimal displacement field such that
E~~ = c Z e = . . . = E,, = 0, VeeW
and there exists no infinitesimal displacement field, such that
Ele = EZe = ... - E,, = = 0, VeeW

~ 0 for at least some eeW. Now, the same definition is given by using
in the sense that Vu, E ( , + ~ ) #
stability analysis. Let u be a generic admissible displacement expressed by (4). Therefore, the
strain energy of the single bar can be expanded in the following MacLaurin's series:
(De[t]= ( D z e t 2 + (D3e53 + (D4et4 + ... (16)
Since the strain energy of the whole assembly is the summation of the strain energy of the
individual bars, we have

where every symbol used has an obvious meaning. Under these hypotheses, the assembly is called
an infinitesimal mechanism if there exists a displacement field such that (D2 = 0. Moreover, such
a mechanism is of order n, if there exists at least one infinitesimal displacement such that
(D2 = (D3 = (D4 = .* . = (D(2,) = 0

and there exists no displacement field such that


0 2 = (D3 = 0 4 = . .. = (D(2,+2) = 0

Now, we want to prove that these two definitions are equivalent. It is sufficient to prove that
cle = cZe = * * = E,, = 0 , VeeW
0 (17)
(D2 = ( D 3 = ... = @(2,+2) = 0
To achieve this, we introduce some formulae relating (De to E , in a suitable way. From ( 15) and
(16) and putting (De = 1/2~2,we obtain
Qze = 3Efe (18)
"3e = EleEZe
@4e = &1eE3e + 3 81,
. . . . . . --. . . . . . . . .
THE ORDER O F INFINITESIMAL MECHANISMS A NUMERICAL APPROACH 1357

@(2n+l)e = EleEZne + EZeE(2n-l)e + . + Ene&(n+l)e *

@(Zn+z)e = E l e E ( Z n + l ) e + EZeEzne + . . . + f E L
Now, we are ready to prove the assertion (17), by induction on n.

Proof: For n = 1, ( 171) becomes


tle =0, VeEW o (Dz =O
which is true, since (Dz is a summation of positive terms, according to (18). Then, supposing that
(17) is valid for ( n - l ) , that is,
c l e = E~~ = . * = = 0, VeeB

(D2=Q3= ... =Qzn=O


to prove (17) for n, it is sufficient, in agreement with (19), to prove that:

E,, = 0, VeeW c> @(,,+,) = +C &ie= 0


e

which is trivially true. Q.E.D.

2.3. The case of several injnitesimal motions


Before proceeding further, we must introduce some useful notations in order to simplify the
formal expressions of the higher order variations of the strain energy reported below.
Let I k be a set of indices:
I k = { i l , i,,. . . , ik}

and let J = [j , , j,, . . . ,j k ]be one of its permutations. Moreover, we indicate by


...i~,[~kl
Pnln2

the set of all the possible permutations of the indices of It, collected without order in groups of
n l , n z , . . . , njelements,suchthatnl + n z + . . . + n j = k , a n d w h o s e n u m b e r i s
k!
nl!nz!. . . nj!m!
where m is the number of the groups having the same number of elements. For example, the
quantity
@b””’u,c.u
j h k
ul u m

can be rewritten as

and it collects
6!
1!1!1!I!1! 1!6!
1358 G. SALERNO

different terms, as can be checked easily. Now, the method proposed in Section 2.1 can be
generalized to the case of multiple infinitesimal motions, that is, when the following condition
@:uoi6u = 0, V6u i:= 1 , . . . , m (20)
holds.T
In this case, assume that the displacement field u is an analytical function of (tl,t2, 5,)
parameters, such that it can be substituted by its MacLaurin's series

u[<1,. . . ,<,] =ii<i +4 iiij<igj +f 'iiijh<i<j<h + ' ' ' (21)

where, in agreement with (3), ti are defined as follows,


t i = (u,ui), i : = 1,. . . , m t i t i= 1
and the following orthogonality conditions,
(iijh,ui)=O, i , j , h : = l , . . . ,m

(iijhk, # i ) = 0, i,j, h, k : = 1,. ..,m

........ =o
hold. In (21) the convention of the repeated index, in order to indicate summation over its range,
has been used. The vectorial quantities in (21) are defined by means of equations (2),(9) and (13),
generalized to the case of multiple motions
W'ui6u = 0, i:= 1,. . . , m (23)
@"iiijSu = - #"'tiiuj6u, i, j : = 1,. . . ,m (24)
@"'iiijh6U = - @""U.ri .u 6u
Z J h

- @"'uifijhSU
- @',If .ii.Ih su
- @'"uhiiij&, i, j, h : = 1, . . . ,m (25)
...... -
-............
used with the aim of minimizing respectively the second, fourth and sixth order energy variations,
while 111
t1 is constant.
Finally, the strain energy expression can be obtained in the expanded form
@ [ u [ < ; l , .. . , < m l l = k d i j h < i < j < h +haijhk<i<j<hck

+ &%jh&ltitj<h<&tt
+ & ~ i j h k l m < i 5 j < h t & < l 5 m + 0(t7) (26)

"From now on, we will imply that all the quantities are evaluated in the initial configuration, even if the subscript '0is not
present
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1359

where

gijhk
= 1 @'b"'tij1Uj2lij3lij4
J E P i i i I [I4 1

- 1 @,"G..
0
. #..
JIJzJ~
.
143556
JEp33[I61

Let us comment on the sign of the strain energy (26), which, at this stage of the analysis, turns
out to be a function only of (5 5 2 , . . . , (, ) parameters. It is clear that a necessary and sufficient
condition of positive definiteness is
= 0,
dijh Vi,j , h : = 1 . . . rn
What pertains to the fourth order term is that positive definiteness is assured by the condition
that the costrained minimum of the quartic form
....
@ominCTil =%jhk5itjthtk = min (ktk = 1 (31)
is positive. So, exactly as in the case of a single infinitesimal motion, the stability analysis must be
stopped. But, suppose that for some (:, k = 1,. . . , rn the condition above is verified in corres-
pondence with a null minimum value. Therefore, along the initial direction
ti0 =t*Ui
the assembly presents the least stiffness, and so higher order terms of the strain energy must be
considered in order to decide about stability. The foregoing analysis is much simpler than one
1360 G. SALERNO

might expect, because, once the initial direction tio is known, formulae and criteria to be used are
those referring to the case of a single mechanism.
Moreover, it could happen that the quartic form in (28) is entirely null. In that case, once it is
verified that the quintic form is the null one, the problem of the costrained minimum falls onto the
sextic form, formalized thus:
......
@ O m i n c r i l = 9 i j h k l m r i r j r h ~ k ~ l r m= min r k t k =

What has been presented here so briefly will be the topic of the next section.

3. THE ALGORITHM

3.1. The algorithm


The aim of this section is to collect all the information contained in the preceding sections in
order to outline an algorithm, that is, to show a way how to organize the analysis.
Suppose that, given a general assembly, we are able to evaluate in a suitable way all the
required variations of the strain energy.11 The first problem which must be solved is the
determination of all its independent infinitesimal motions, that is, the vectors t i i , defined by
equation (20). The analysis can reveal the presence of one or several motions.
In the case that the assembly presents a single infinitesimal motion tio,the analysis proceeds as
follows: the third order term gois evaluated through (7) and, according to what has been said in
Section 2.1, it should be zero. Then, after calculating the second order displacement vector
iio through equation (9), the minimum fourth order coefficient $ O m i n can be evaluated by using
(10). This value is a single scalar, so it can be compared with a quantity comparable to zero: in the
case that it is not zero, it can be asserted that the assembly under examination is a first order
mechanism. Suppose that the process must continue because ( 10)is null: then the fifth order term
.....
mominis to be evaluated by means of (11) and it should be checked that it is zero. Finally, after
calculating the third order displacement vector Uo through (13), the minimum sixth order
......
coefficient @ O m i n is evaluated in accordance with equation (14). If this coefficient is greater than
zero, the assembly is a second order mechanism, otherwise its order is at least the third. A flow
diagram is shown in Figure 1.
Suppose now that the assembly presents several infinitesimal motions. In that case, the next
step is to verify that all the third order terms of the strain energy, calculated by means of equation
(27), are zero. Then, for the examination of the fourth order terms all the m(m + 1)/2 indepen-
dent' second order displacement vectors iiij (where m is the number of the independent vectors
tii) need to be calculated. After that, the use of equation (28) enables all the coefficients of the
quartic form to be found.
Then three different situations can occur.
( 1) Firstly, the quartic form could have no direction of singularity in the sense that it is positive
along all the directions on the unit sphere; this means that if the second order displace-
ments are taken into account (the quartic form actually involves quartic powers of the first

IlThis problem will be treated in the following section


'It is not chance that this number corresponds exactly to the number of independent elements of a second order symmetric
matrix of dimension m
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1361

4START

ORDER STOP

-
0 0
1 POSSIBLE INSERTION
FROM THE CASE OF SEVERAL MOTIONS
I 1

ORDER

Figure 1. A flow diagram for the algorithm for the case of a single infinitesimal motion

order displacements and quadratic powers of the second order ones, as shown in the next
section), there always exists a positive contribution to the strain energy, no matter which
unitary direction is being examined. According to the classification reported in Section 2.2,
the order of the mechanism is the first.
(2) Secondly, the quartic form could be positive semidefinite in the sense that along one or
several directions t: on the unit sphere its value is zero; this means that there exist some
particular combinations of the first and the second order displacements, such as the
following,
u = c;i*lii + f c;:c;;iiij (32)
for which the quartic form has a null value, meaning that no elongation in any bar occurred
1362 G. SALERNO

in correspondence with that displacement. According to our classification, the assembly is


certainly a mechanism of higher order than the first; but if the exact order is to be known
then the analysis must continue.
(3) Finally, the quartic form could be the null form, in the sense that it is zero along all
directions on the unit sphere. This means that none of the displacements of the kind
indicated in (32), irrespective of the value of (:, can cause any elongation in any bar.
Exactly as in the preceding case, the order of the mechanism is certainly higher than the
first, and the analysis must continue.
It is worth noting that, since the fourth order term of the strain energy is necessarily
non-negative, the determination of all the possible directions of singularity is nothing but the
determination of the constrained minimum values of the quartic form (31) and the comparison of
them with a quantity reasonably considered as a null term.
Suppose now that the analysis must continue because either case 2 or case 3 occurred.
In case 3, all the fifth order terms defined by equation (29) are to be evaluated and they should
be all equal to zero. Then, once the third order displacements u i j h are known (equation (25)), the
multilinear sextic form defined by (30) is to be calculated and the possible presence of directions
of singularity is to be checked. It should be clear that in this case the analysis of the sextic form is
not different from the analysis of the quartic form and that all the three possible cases presented
above for the quartic form can occur also in the analysis of the sextic form. In the case that the
sextic form is positive definite, the assembly is a mechanism of second order, while in the other
two cases, that is, if the sextic form is the null one or if it presents some directions of singularity,
the order of the mechanism is at least the third. When the sextic form is involved, the displace-
ment field to be considered assumes the following form:

u = (*tii + f ( ? ( p i i +
j 4 t;*(ftpiijk (33)
Just in order to recall some mechanical meanings, it is worth remembering that if the sextic form
is positive definite then every displacement of the type (33) causes some elongation in some bars,
while if it is of the null form none of those displacements can cause any strain energy, irrespective
of which are the values of t;:. Finally, in the case that the sextic form is zero just along some
directions (:, only the displacements related to these values of 5 can occur without any
deformation in the assembly. Regarding the exact determination of the order, in the latter two
cases the analysis should continue, but further developments of the algorithm, even if very
straightforward from a theoretical point of view, can imply some quite cumbersome algebraic
calculations in order to write down the procedures evaluating the terms of the strain energy of
higher order than the sixth.
What pertains to the case 2 is that, after examining the character of the quartic form, the
analysis carries on in a simpler way with respect to the preceding case. Let (:, k = 1 , . . . ,rn be
one of the directions of singularity of the quartic form. It should be clear that all the other
directions are of no interest because the corresponding value of the quartic form is positive,
meaning that those directions represent displacements which the assembly undergoes while
developing some elongations.
A possible way to continue the analysis would be to evaluate the values of the quintic and sextic
forms along those directions, that is
.....
@O = %ijhkl(i
* ( j* t h* t k* 51* (34)
...... * t *j t h* t k* ( I * t m*
@Omin = %jhklmti (35)
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1363

Q
STOP

Figure 2. A flow diagram for the algorithm for the case of several infinitesimal motions

and to base upon them the decision about the order of the mechanism.
However, this way is to be avoided because all the calculations involved, the evaluation of the
multilinear forms of the fifth and sixth order and of all the vectors i i i j h , are quite cumbersome.
Another simpler way is suggested here. Once the following vectors are defined,

the vector U o, defined by equation (13), satisfies the following:


...
UO
* < *j {h* u i j h
=t i
"'

Then, it can be easily checked that expressions (34) and (35) correspond exactly to ( 1 1) and (14),
and therefore the two latter, which are indeed much simpler, can be used in place of the two
former. What pertains to the decision about the order is that thesame considerations used for the
case of the single infinitesimal motion are to be used. Finally, if for different directions different
orders have been evaluated, the order of the assembly will be the highest of them. A flow diagram
is shown in Figures 2 and 3.

3.2. The non-linear model and the finite element


The method proposed above requires the knowledge of the strain energy of the assembly up to
the sixth order of its Taylor series in terms of the displacements. In Reference 12, within the scope
1364 G. SALERNO

Lr'
v D ljnrrm

a. 1. THIRD
ORDER
-( STOP )
N

INSERTION INTO THE PROGRAM


OF A SINGLE INFINITESIMAL
MOTION (llg. I )

ORDER

a. 1. THIRD
ORDER

Figure 3. Continuation of the flow diagram of Figure 2

of buckling problems of very large space trusses, the strain energy of a single 3-D pin-jointed bar
up to the fourth order was derived. Now, we will continue that analysis, obtaining the variations
of the strain energy up to the required order. In a local reference system (0,x, y, z), with the x axis
coincident with the undeformed configuration of the bar, let ( u [ x ] , u [ x ] , w [ x ] ) be the displace-
ment fields of the bar axis along the (x, y, z ) directions, with respect to its reference (undeformed)
configuration. Under these considerations, the expression of the axial deformation E[ XI, defined
as the elongation of the unitary-length bar under the displacements above, can be easily obtained
(see figure 4):
E = J(l + u,,)2 + u,: + w,: -1 (38)
THE ORDER OF INFINITESIMAL MECHANISMS:A NUMERICAL APPROACH 1365

Sdx

I* I
1
nf
dx utuxdx
Figure 4. Displacement fields and elongation of a pin-jointed bar

The strain energy is assumed to have a quadratic form in E, that is,

a[&]=
1:EAE2dX

where I is the length of the bar in its undeformed (reference ) configuration. Therefore, the Taylor
series of the elongation and of the strain energy of the bar are the following:

+ jo 1
3EAu,,(u,: + w,:)dx
+hjl EA[12u,:(u,f + w , f ) - 3(u,f + w , : ) ~ ] ~ x
+ & 1; EA[45u,,(u,: + w,,”)’ - 60u,,3(0,: + w,:)]dx
+ f EA[360u,f(u,: + w , : ) - 54Ou,:(u,: + w , : ) ~
+ 45(u,: + w , $ ) ~ ] ~+x
1366 G . SALERNO

Expression (40), if differentiated successively with respect to displacements,provides the required


variations:

@br,”’ti46u=
s: EA[36ti,:Gu,,(fi,,Z

- 36ti,,(d,;
+ W,:) + 24ti,:(fi,,6~,, + W , x 6 ~ , x )
+ W,:)(fi,,d~,~ + W t , x 6 ~ , x )
- 96u,,(ti,: + W,:)’]dx (45)

@;;“‘ti6 = [: EA[540ti,f(fi,: + W,:)’ - 45(d,: +

- 360ti,:(fi,: + W,:)]dx (46)


Now, let us examine the finite element: a linear interpolation of all the displacements involved,
besides being the simplest one, is also the exact solution for a pin-jointed bar. Thus, we have

where (ui, v i , w i ) and ( u j , v j , wj)are the components of d i and d j , which are the displacement
vectors of the nodes ( i , j ) of the bar with respect to the local reference system. The local
THE ORDER OF INFINITESIMAL MECHANISMS A NUMERICAL APPROACH 1367

displacement vectors di and dj are obtained from the global displacement vectors, ui and u j ,
referred to a global reference system (o,X,
j , Z), by means of the rotation matrix R, which
represents the transfer matrix between the global and the local reference system and whose
components are listed below:
axx afy ax,

azx azy aiz


satisfying the following rule:
a:a, + a;ay + aTa, = I (49)
Therefore, having
d i = RTui d j = R T uJ .
expressions (44) will assume the following form:
1
u,, = - a f u ,
1
1
v,, = -aTu,
1

~ -a,u,
w ,=
1
1~ J
having denoted by u , the vector of the relative displacement between the two nodes, that is,
u, = uj - ui
Then, the energy variations (38)-( 39) can be rewritten thus:

EA
@ ~ ~ l i & j=u-(li,,Gu;fG,U,
1
+ ti,,6ufG,Ue
+ 6u,,U;fG,U,) (52)
where G,, named the geometrical matrix, is defined by
G , = I - a,af (53)
while the higher order variations, computed after a few calculations, assume the following form:
1368 G.SALERNO

where the symbols used above have the following meaning:


gij = u;fiGeuej
u t.j . = UT.U .
el ej

dj = uTia,

3.3. Computational remarks


Now, it is worth examining in more detail some stages of the proposed algorithm, which are
a key to any judgement which can be expressed about the accuracy and the computational cost of
the algorithm itself. Therefore, we are going to explain how the null space of the stiffness matrix
K is determined and how, in the case of several mechanisms, the problem of the minimum of the
quartic or sextic form is tackled. Firstly, we examine the problem
Kii =O,
#O i i (58)
with K symmetric and positive semidefinite matrix. If K were positive definite, it could undergo
a Cholesky factorization, that is, K = LDLT, with D and L respectively a positive definite
diagonal matrix and a unit lower-triangular matrix, whose elements are evaluated by means of
a Gaussian decomposition, according to the following rulesI3 :

n
d J.I . = k I.I . - 12
Jk
k=l

The presence of a null eigenvalue for K affects D, annulling one of djj and making it impossible
to use (56). This obstacle can be avoided by by-passing the operations on those rows whose
diagonal entry is null. This device enables the Cholesky factorization to continue to the end,
taking into account that if the decomposed matrix were used to solve the linear system
K,u = p+U = K,'p (61)
the solution vector would have null entries corresponding to the by-passed rows and columns.
Since the vector solution u usually has the mechanical meaning of a displacement, annulling some
of its entries has the mechanical effect of adding some suitable partial constraints to the assembly
under examination. Some examples are shown in Figure 5.
This is equivalent to saying that the decomposed matrix actually corresponds to the assembly
with all the constraints necessary to remove all the singularities of the matrix D. In fact, this
matrix was indicated in (61) by means of a 'c' subscript, which stands for constrained. Since D is
a diagonal matrix, determining all its null entries means determining also a basis of its null space,
because it admits the following spectral decomposition:
n
D = 1 diieje:,
~~
e:ej = ,a ei E R "
i= 1

where hij is Kronecker's symbol and uTw is the Euclidean inner product. In agreement with ( 5 9 ) ,
we have
Dei = 0, Vi:dii = 0 (63)
However, a basis for the null space of K has not yet been determined. That is, the null spaces of
THE ORDER OF INFINITESIMAL MECHANISMS A NUMERICAL APPROACH 1369

Figure 5. Some examples of partial constraints (denoted by *) corresponding to singularities of the D matrix of the
unconstrained assemblies

K and D can coincide only by chance. Therefore, once all the e i vectors have been determined, all
the u i vectors can be evaluated by means of the following equation:
Q.1 = e.1 - Kc-'Kei (64)
which can be easily proved.
From a computational point of view and referring to the Pascal procedure listed below, (64) is
performed by means of the following steps: in the procedure BandDec, while the stiffness matrix is
being decomposed, all the e i are determined. All the diagonal terms are compared with a 'Zero'
constant, which, as suggested in Reference 14, can be set in the following way:
n
zero = E X K i i
i= 1

+
where E is the smallest positive floating-point number such that 1 E > 1 on the computer being
used. The construction of Ke is performed in the procedure IncrementalForces, where, despite
what one might expect, the product of the matrix K and the vector ei is not performed, but Kei is
obtained by assembling the elementary contributions of the single bars. Finally, the routine
Bandsol effects the back-substitution process.
Now we examine the second problem, that is,
f[x] = @ i j h k x i x j x h x k = min[x], XkXk =1 (65)
By using the Lagrange multiplier A, the above problem can be reformulated in the following
unconstrained form:
g i j h k X i X j X h X k - A ( x k x k - 1) = min[x] (66)
1370 G . SALERNO

equivalent to
4g)ijhkXiXjXhdXk = IXkdXk (67)
The problem (65), rewritten in the form (67), turns out to be a sort of ‘eigenproblem’. Let x* be
one solution of (67). In this case we obtain
I * =4f[x*] (68)

From an algorithmic point of view, the resolution of the problem defined above is performed in
two stages, which solve two separate problems with the same technique, with the aim of obtaining
(65). In the first stage, the following problem is solved:
I =f[x] = max (70)
using the iterative scheme

until llxq+l- xq11 < E , with E a fixed tolerance. The scheme (71) resembles the Power MethodI3
and, as in that method, it quickly converges to the maximum eigenvalue. Once Amax is determined,
the new problem
?[XI = I m a x X k X k - B i j h k X i X j X h X k = max, XkXk =1 (72)
is faced. Analogously to what was done above and by means of a new Lagrange multiplier p, (72)
is transformed into
ImaxXkXk - gijhkxixjxhxk - )(L(xkxk- 1) = max[x] (73)
that is,
4 g i j h k X i X j X h d X k = (Amax - )(L)xkdxk (74)
Equation (74) presents the same formal structure as equation (67), turning out to be the same
‘eigenprobiem’, with the same ‘eigenvectors’ but with shifted ‘eigenvalues’. In this case, the
following iterative scheme,
nq+

1
= I m a x X q - 4aijhkxgxlfx;
xf“ = q+’/11fp+1II
(75)
p + 1 = q+l q+l q+1 q + l
‘maX -4gijhkxi xj xh xk

causes convergence on pmax,while simultaneously resolving problem (73) corresponding to


(I,,, - p ) But, according to (67)-( 74), we have
(Amax - min = 4 f m i n (76)
which is exactly what we are looking for. The routine implementing this process is listed in
Section 4.3 and is named ~ 0 4 .
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1371

The preceding considerations refer to the problem of minimization of the quartic form.
However, the whole process can be generalized for use on a form of arbitrary order. For example,
the solution of the following problem,
f[x] = B i j h k l m X i X j X h X k X I X m = min[x], XkXk = 1
can be easily performed by means of the two following iterative processes:

4. NUMERICAL RESULTS

4 . I . Some important examples


We are going to analyse a lot of interesting examples, several of which have been already
discussed and on which a perfect agreement has not still been reached. Some of them present
a single infinitesimal motion, while others present several: many of them will be discussed in
detail, while for the others - including the first three - only the result about the order will be
given.

Example I . The first mechanism, shown in Figure 6, is very interesting because in the past
different authors have claimed different results about it. It presents a single infinitesimal motion,
whose first and second approximations f o and iio are shown in Figures 7(a) and 7(b) and listed
below?

[
0.0 0.0
U O = 1.0 O.O]
00 002
iio = [o.o O.O1]

The third order displacements are all zero. Since all the coefficients of the strain energy from the
third to the sixth order are null, we can conclude that this mechanism is at least of the third order.
The corresponding configuration is shown in Figure 8.

Example 2. The mechanism shown in Figure 9 presents two independent first order infinitesi-
mal motions (Figure 10 (a)-(b)), whose values are listed below:
0 0 .o-0 0.0 1.0

0.0 0.0 0.0 1.0


0.0 1.0 0.0 0.0

*The displacement components refer only to the free nodes, numbered as in the diagrams, the left column representing
displacements along the x axis, the right column displacements along the y axis
1372 G. SALERNO

Figure 6. A four-bars linkage


I L
a
0

I
0
0

r
1 1
....-........ ..................
{-

Figure 7. The first and the second order approximation of the infinitesimal motion of the assembly of Figure 6. The
magnitudes shown are arbitrary

The cubic form, composed of only four independent terms, reveals itself to be the null form. The
three independent second order displacements, shown in Figure 11 (a)-(c), assume the following
values:

.
4 1 =
[
-0.00625 0.00000
- 0.00375
- 0.00125
0*00225] iilz =
0*00100 0*00000
[ 0*00000
000125
- 0-00400
- 0002751
OaooOO

[
-040600 0.00000 0.00400 omooo
- 0.00125 0.00000
iizz = - 0.00875 - 0*00175]
0.00200 omooo
-0.00700 0*00000
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1373

Figure 8. The final configuration

Figure 9. An eight-bars linkage

Now, the quartic form can be calculated, its five independent terms assuming the following
values:
a1111 @g'U; - 3@;#:1
= = 3.0375
81112 =@ g " -~3@gfi11i12
~ ~ ~ = - 1.4625

a1122 = @g"U:U$ - @gii11ii22 - 2 @ g i i : 2 = 0.4875

a1222 = @i"fil#;
- 3@gii12u22 = - 0.1125
a2222 = @g"Uf - 3@$ii$2 = 0.3375
By analysing the quartic form by means of the algorithm discussed above, a minimum null
value is found corresponding to <:
= 9 ; = &/2.
1374 G . SALERNO
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1375

8
P
1376 G . SALERNO

The corresponding vector, calculated by means of (32), assumes the following value:
- 0.00250 07071
- 0.00250 0.7059
- 0.00125 0.7071
- 0.00125 0.7071
shown in Figure 12. In the same diagram not all the displacement components are drawn by the
same scale factor; some of them, depending on the second order displacements, having been
increased in order to make their effect more evident. Anyhow, the displacement vectors listed
above do not cause any elongation in any bars of the assembly. This means that the order of the
assembly is at least the second one. For the sake of precision the analysis must continue.
Therefore, once the vectors ti, and iio indicated in (36)-(37) have been evaluated, the third order
displacement U, and the fifth and the sixth order coefficients can be calculated respectively by

] ::1
means of equations (13)-(11) and (14). They assume the following values:
- 0,00250 0.7071
u,=[ - 0.00250 0.7059 ... 0 0 = O.OO00

- 0.00125 0.7071 0 Omin = 4.0000


- 000125 0.7071

The positive value of '&'Omin enables us to conclude that the order of the assembly is exactly the
second.

Example 3. Now let us examine another very interesting mechanism, shown in Figure 13. The
analysis of the stiffness matrix reveals the presence of the two independent first order infinitesimal
motions shown in Figure 14 (a) (b) and listed below:
0.0 1.0 0.0 0.0
= [o.o oO] tiz = [oo l.O]
Also in that case, the trilinear form defined by (27) reveals itself to be the null one. The three
independent second order displacements, calculated by means of equation (24), are shown in

Figure 12. The direction of null value of the quartic form for the assembly of Iiigure 9
THE ORDER OF INFINITESIMAL MECHANISMS A NUMERICAL APPROACH 1377

I
I## ID0 1D8
I
I I I I

Figure 13. A horizontal double beam

Y t YT

Figure 14. The two independent first order displacements of the assembly of Figure 13

I'
t

r_
w ._. , .
I .

1 2

Figure 15. The second order displacements of the assembly of Figure 13

Figure 15 and listed below:


1378 G. SALERNO

By using definition (28), all the independent values of quadrilinear form are calculated:
g1111 = 1.350 = - 0900

g1122 = 0.550 g1222 = - 0.300

B2222 = 0-150
The minimum analysis of the quadrilinear form reveals the presence of two null values for
T
( 5 = 4:; = $/2) T
and (4: = 0.3163, 4: Lf = 0.9489) respectively. The corresponding dis-
placements, calculated by means of equation (32), are shown in Figure 16 and listed below.
- 0.00125 0.70711 [ 0.0002 0.31631
[
u2 = -

'' = - 0.00125 0.7071 - 0.0022 0.9489

For each of the two directions the same steps, indicated in more detail for the preceding
assembly, are effected. By-passing all the intermediate results, only the fifth and sixth order energy
coefficientsfor the two directions being examined are reported below:*
..... .....
@0[1] = omooo @0[2] = 0~00OOo

...... ......
@ Omin [11 = 0.oOOoo @ Omin [2] = 0~0oooo

and they clearly demonstrate that the assembly considered is at least a third order mechanism.

YT '1 c-

Figure 16. The null directions of the quadrilinear form for the assembly of Figure 13

Figure 17. A double swing

The numbers enclosed in square brackets indicate the direction which they are referred to
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1379

I.;=[
Example 4 . Let us examine more briefly other interesting examples. The assembly of Figure 17
presents three independent first order infinitesimal motions and six independent second order
ones, listed below.
0.0 1.0 -
0.0 0.0
0.0 0.0
+[ 0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
1.0 ]
0.0 0.0 0.0 0.0 0.0 1.0
- 0.00333 0.00000 -
- 0.00666 0.00000
u11 =
0oOooo 0*00000
0oOooo O ~ o o o o O

1
- 000333 040000
0.00333 O.OoooO
u22 =
000000 0ooooo
0O0000 0.00000

T
presents the minimum value for 5 = 0.62795, 5 ; = 0.62795, 5: = 0.45970. Since this value is not
zero, the assembly is a first order mechanism.

Example 5 . Another assembly presenting the same behaviour as the preceding one is shown in
Figure 18.

Figure 18. A three horizontal bars assembly


1380 G . SALERNO

The first and second order displacements and the quadrilinear form are reported below.
0.0 1.0 0.0 0.0
lil = [o.o oO] li2 = [o.o l.O]

u11 =
[ - 0.0033
- 0.0067 0.0
0.01 ..
u12 =
[ - 0.0033 0.01 ..
u22 =
[OW67 0-01
0 0 0 3 3 0.0 00033 0.0
g1111 = 4.00 B1112 = - 2.00
,991122 = 2.00 931222 = - 2.00

a?2222 = 4.00

The quadrilinear form presents a minimum value for (t: = <: = &2), but its value is not
zero. Therefore, the assembly is a first order mechanism.

[@;
Example 6. Now, the assembly under examination is that of Figure 19.
First and second order displacements are listed below, while the third order ones all zero.
'0.0 0 0 1 J.o
MI = 1.0 0.0 liz = 0.0 0.0
0.0 0 0

- 0.01 0.00 0.02


- 0.011 iizz =
0.00 0.00 0.01

yt I
I
4 (
1

I 100 I 100 I '

Figure 19. A five-bars symmetric mechanism


THE ORDER OF INFINITESIMAL MECHANISMS A NUMERICAL APPROACH 1381

The major feature of this assembly consists in the circumstance that all the multilinear forms,
from the third to the sixth order, are entirely zero. It would be very interesting to continue the
analysis of this mechanism up to higher orders than the sixth. Anyhow, in that case our algorithm
provides the answer that the assembly is at least a third order mechanism.

Example 7. The assembly in Figure 20 presents two independent first order displacements and
three independent second order ones, listed below:

1
0.0 0.0 0.0 1.0

[
lil = 1.0 0.0
0 0 0.0
u2 = 0.0
0.0 1.0
1.0

11 [:c: I:
0.0 0.02 0 0 0.0
u11 = 00 0.01 iil2 = 0 0 0.0 ii22 = 00 0.0
0.0 0.00 0.0 0.0

Owing to the presence of many zero second ordel isplacements, the quadrilinear form
assumes a very simple form, reported below:

which makes immediately evident the solution of the null minimum problem, that is (5: 'f = l-OOO,
rf = 0.000). The fifth and sixth order coefficients of the strain energy calculated along that
direction reveal themselves to be zero. The order of the mechanism is at least the third.

I I I

Figure 20. A single swing


1382 G. SALERNO

Example 8. The assembly in Figure 21 is characterized by the presence of three independent


first order displacements and six independent second order ones, reported below:
0.0 0 0 0.0 1.0 0.0 0.0

u1 =
0.0 0.0 0.0 1.0 0.0 0.0

r
0.0 0.0
- 0.00125
- 0.00875
0.00000
0.00000
1
0 0 0.0
..

u1z =
- 0.00125
00 1.0
0oooOO
0.00 125 0.00000
1
0*00000 0.00000 0~00000 000000

0~oooo0 0*00000
O.ooOo0 O O o o O O ]
0~oooo0 0.00000
,0ooooo 0~00000
..
u22 =
[ - 0.00625
-

-
0.ooOoO
0.00375 090000]
0.00100 0~oooo0
0.00600 0.00000
' o ~ m o0~oooo0 0~00000 OOOooO'
0~oooo0 000000
- 0.00400 O~oooOO 0~00200 0ooooo
OW400 0.ooOoO - 0.00700 OooOoO,

The quadriiinear form, reported in the following, presents a minimum null value corrrespond-
<:
ing to ( t l= 0.30175278, = 0.30175278, t: = 090442597), along which direction also the fifth
and sixth order coefficients of the strain energy are zero. The assembly is a third order mechanism
at least.
g 1 1 1 1 = 01875 a 1 1 1 2 = 0.1875 a 1 1 1 3 = 0OOoo

a1122 = 0.0625 a1123 = 0~0000 g1133 = o.o(@o


B1222 = 0.5625 g1223 = O'OOOO Biz33 = O'OOOO

a1333 = o*oooo a2222 = 3.0375 g2223 = - 0.9000

32233 = 0.5500 @2333 = - 0'3000 g 3 3 3 3 = 01500

100 100 100 100


1 1 I
I I I 1 1

Figure 21. The assembly of Figure 9 deprived of the diagonal bar


7..

cpo eq.7 ORDER

0.0000 0.0000 0.0000 0.0000

0.0000 6.0000 1

0.0000 0.0000 0.0000 0.0000 2 3

0.0000 0.0000 0.0000 0.0000 2 3

I"

I
."c-I I 2
0.0000 0.0000 0.0000 0.0000 2 3

0.0000 0.0000 0.0000 0.0000 2 3

0.0000 0.0000 0.0000 0.0000 2 3

Figure 22. The order of the mechanism of some assemblies presenting one single infinitesimal motion, as calculated by
our algorithm
1384 G. SALERNO

Examples 9-15. Finally, in the table reported in Figure 22 some assemblies presentingjust one
infinitesimal motion are drawn, all the major coefficients are listed and the order of the
mechanism is reported. It is worth noting that for many of them the order of the mechanism has
been indicated to be at least the third, while they are actually finite mechanisms.

4.2. The timber octagon of Ely Cathedral


This section is devoted to the analysis of a three dimensional mechanism, which is very simple
indeed, presenting just one single infinitesimal motion, but whose comparison cannot be avoided,
as it has been long discussed and much has been written about
The assembly presented in Figure 23 is a ring structure, composed of two regular n-gons (in this
case n is even and equal to 8) lying in parallel planes, where the upper n-gon is rotated of an angle
equal to n/n with respect to the lower one: moreover, it presents a high level in symmetry, well

Figure 23. The ring assembly of the octagon in plan

Figure 24. The first order displacement for the assembly of Figure 23 in plan and elevation
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1385

Figure 25. The first order displacement for the assembly of Figure 23 in axonometric projection

defined in Reference 15. This strucure is actually of remarkable practical interest, because it can
be observed in the ceiling of Ely Cathedral, carrying the Lantern since the 14th century.
By examining this structure through our algorithm, the presence of the single infinitesimal

0~000000 2.357306 - 0.999026


1.668335 - 1-668335 1~oooo00
- 2.357306 O*OOOO00 - 0.999026
1.668335 1.66833 5 1 ~OOoO00
ug =
OW0000 - 2.357306 - 0.999026
- 1‘668335 1.668335 1 Qooooo
2.357306 O~oooOOO - 0.999026

- - 1.668335 - 1.668335 1 ~OOOO00

By continuing the analysis, all the coefficients of the strain energy, from the third to the sixth
order, are found to be zero. Thus, the mechanism is of at least the third order. This result agrees
with what has been written in References 2 and 15, where the above mechanism has been declared
to be a finite mechanism. I would like to remind the reader that the proposed algorithm cannot
recognize a jinite mechanism and if it analyses one of them, it can at most answer that it is a third
order infinitesimal one.

“or each free node the three displacement components are reported horizontally
1386 G. SALERNO

4.3. Some procedures in Turbo Pascal


{ *...............................................................................
PROGRAM MECHANISMS Version of 6/15/1990 *>
*I
Made by G. Salerno *>
Department of Engineering - Cambridge University *>
Trumpington Street, CB2 1PZ U.K.
_--__~____-______-
*I
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . *>
Routines: Min, Max *>
BandDec *>
BandSol *>
Error *>
InputData *>
Initialization *>
Element *I
TangentMatrix *>
Matrixcheck *>
IncrementalForces *I
SecondaryForces *>
ThirdForces *>
FourthForces *>
Secondvariation *I
Thirdvariation *I
Fourthvariation *I
Fifthvariation *>
Sixthvariation *>
OutputData *I
OutputResults *I
.................................................................................
PROGRAM DETECT;
uses Crt, Graph;
const
TOLL = 1.OE-8; { . . . . . . . . . . . . . . . . . . . . . . . . . . . . Max error accepted }
MAXVARS = 150; { . . . . . . . . . . . . . . . Max number of variables in 3D case }
MAXBAND = 15; { . . . . . . . . . . . . . . . Max bandwith of the stiffness matrix }
MAXNODES = 50; {. . . . . . . . . . . . . . . . . . Max number of nodes of the truss }
MAXBARS = loo; {. . . . . . . . . . . . . . . . . . . Max number of bars of the truss}
MAXKINDS = 16; { . . . . . . . . . . . . . . Max number of different types of bars 1
MAXLOOP = 10; { . . . . . . . . . . . . . . . . . . . . . . . . Max number of iterations }
ZEROREL = 1.OE-7; { ........................... Relative machine zero }
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1387

MAXMODES =3; {. . . . . . . . . . . . . . . . . . . . . Max number of critical modes }


MAXWMOD =6; { . . . . . . . . . . . . . . . . . .Max number of secondary modes}
MAXZMOD =lo; { . . . . . . . . . . . . . . . . . Max number of third order modes}
MAXFH3 = 120; { ..................... Max number of terms in FH3 }
MAXFH4 = 540; { .................... Max Number of terms in FH4}

type
float = extended;
KIND = record
A :float;
E :float;
Ta : float;
end;
NODE = record
x : array [1 . .3] of integer;
w : array [l . .3] of integer;
end;
BAR = record
ie :integer;
je :integer;
ke :integer;
sn :float;
end;
KINDS = array [l . . MAXKINDS] of KIND;
NODES = array [l . . MAXNODES] of NODE;
BARS = array [I . . MAXBARS] of BAR;
VECTOR = array [l . . MAXVARS] of float;
MATRIX = array [l . . MAXBAND] of VECTOR;

var

InFile : text; { . . . . . . . . . Indentifier of data file}


OutFile : text; { . . . . . . . . Identifier of results file}
FileName : string [20]; { . . .Name of data and result files }
TrussTitle : string [60]; { . . . . . . . . . Type of the structure)
Nn : integer; { . . . . . . . . . . . . Number of nodes }
Ne : integer; { . . . . . . . . . . . . .Number of bars }
Nt : integer; { . . . . . . . Number of types of bars }
Na : integer; { . . . . . . Number of free variables }
Neq : integer; { . . . . . . . . . Number of equations}
Nv : integer; { . . . . . . Number of critical modes }
Nw : integer; { . . . Number of secondary modes }
Nz : integer; {. . . Number of third order modes}
band : integer; { . . . . Bandwith of stiffness matrix}
loop : integer; { . . . . Actual number of iterations}
1388 G . SALERNO

Vt : KINDS; { . . . . . . . . . . . . . Pointer of types }


Vn : NODES; { . . . . . . . . . . . . . Pointer of nodes }
Vb : BARS; { . . . . . . . . . . . . . . Pointer of bars }
alfa : array [1 . .6] of float; {. . . . . . . . . . Directors of the bars}
we : array [l . .6] of integer; {. . . . . . . . . . . . . Nodal incidences }
Le : float; { . . . . . . . . . . . . Bar actual length}
ste : float; { . . . . . . . . . . . Stiffness coefficient }
zero : float; { . . . . . . . . . . . . . . . Machine Zero }
Dot : float; { . . . . . . . . . . . . . . . . Energy error }
S : VECTOR; { . . . . . . . . . Internal elastic forces }
St : MATRIX; {. . . . . . . . . . . . . . Stiffness Matrix }
V : array [l . .MAXMODES] of VECTOR; - {. . . . . . . . . . . . . . . Critical modes }
vc : array [1 . . MAXWMOD] of VECTOR; { . . . . . . . . . . . . Secondary modes }
vz : array [l . . MAXZMOD] of VECTOR; { . . . . . . . . . . . Third order modes }
Fh3 : array [l . .MAXFH31 of float; { . . . . . . . . . . . . . Third variations }
Fh4 : array [l . .MAXFH41 of float; { . . . . . . . . . . . . Fourth variations }
.........................................................................
Procedure BandDec (var St: MATRIX; Na, band: integer);
var n, m, k, i, j : integer;
C : float;
begin
-
for n := 1 to Na do if abs (St [l] [n]) > Zero then
for m := 2 to band
do if St [m] [n] ( ) 0.0 then
begin
+
i : = n m - 1;
c := St [m] [n]/~t[1] [n]; -
j:=O;
fork := m to band do
begin
j:=j+l;
St[j] [i] := St[j] [i] - c*St[k] . [n];
A A

end;
St [m] [n] := c;
A

end;
end;
Procedure BandSol (var St : MATRIX;
var U : VECTOR;
var Dot : float;
Neq : integer;
band : integer);
var
n, m, k, i : integer;
C : float;
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1389

begin
-
for n := 1 to Neq do if abs(St[l] [n] > Zero then
for m := 2 to band do
begin
i : = n + m - 1;
~ [ i :]= ~ [ i - ] st[m] [n] * ~ [ n ] ;
end else U[n] := 0.0;
Dot := 0.0;
for n := Neq downto 1 do if abs(St[l] [n]) > Zero than
A

begin
c := ~ [ n ] / ~ t [ 1 ] [n];
Dot := Dot + c*U[n];
form := 2 to band do
begin
i : = n + m - 1;
c : = c - ~t[m]-[n]*~[i];
end;
U[n] := c;
end;
end;

............................................................

............................................................
Procedure IncrementalForces (var V, S :VECTOR);
var n, k, i : integer;
snl, delta : float;
begin
fillchar (S, sizeof (S), 0);
for n := 1 to Ne do with Vv[n] do
begin
Element (n);
delta := 0.0;
for i := 1 to 6 do delta := delta + alfa[i] * V[we[i]];
snl := ste * delta;
f o r k := 1 to 6 do if we[k] < = Na then
S[we[k]] := S[we[k]] + sni*alfa[k];
end;
end;

..........................................................
............................................................
............................................................
............................................................
1390 G . SALERNO

..........................................................
............................................................

Procedure Ho4;
var
f, c, beta, errl, err2, aijhk, vi: float;
v, g : array [l . .MAXMODES] of float;
A : array [l . .MAXMODES, 1 . . MAXMODES, 1 . . MAXMODES, 1. .MAXMODES] of
float;
i, j, k, h, m, loop : integer;
item : string [1281;
begin
m := 0;
for i := 1 to Nv do
for j := 1 to Nv do
for h := 1 to Nv do
for k := to Nv d o
begin
m : = succ(m);
aijhk := Fh4[4];
A [i, j, k, h] := aijhk; A [i, k, h, j] := aijhk;
A [i, h, j, k] := aijhk; A [i, k, j, h] : = aijhk;
A [i, j, h, k] : = aijhk; A [i, h, k, j] := aijhk;
A[j, k, i, h] := aijhk; A[j, i, h, k] := aijhk;
A [j, h, k,i] := aijhk; A [j, i, k, h] := aijhk;
A [j, k, h, i] := aijhk; A [j, h, i, k] := aijhk;
A[k, i, j, h] := aijhk; A[k, j, h, i] := aijhk;
A[ k, h, i, j] := aijhk; A[ k, j, i, h] := aijhk;
A [k, i, h, j] := aijhk; A [k, h, j, i] := aijhk;
A[h, i, j, k] := aijhk; A [h, j, k, i] := aijhk;
A [h, k, i, j] := aijhk; A [h, j, i, k] := aijhk;
A [h, i, k, j] := aijhk; A [h, k, j, i] := aijhk;
end;
writteln(’> > > > > > > > > > > > > > > > > > > > > > > > > > >’);
beta := 0.0; f : = 0.0;
repeat
for i := 1 to Nv to
begin
g[i] := i;
v[i] := 0.0;
end;
loop := 0;
if beta < f11.5 then beta := f11.5;
if beta = 0 then item := ’( * )’
else item := ’ ( * * )’;
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1391

repeat
loop : = succ(100p); if loop > 500 then halt;
c := 0.0;
for i := 1 to Nv do c := c + sqr(g[i]);
c := sqrt(c); errl := 0.0; err2 := 0.0;
for i := 1 to Nv do
begin
vi := g [i] /c;
+
errl := errl sqr(v[i] - vi);
+
err2 := err2 sqr(v [i] - vi);
v[i] := vi;
g[i] := beta * v[i];
end;
m:=Q
for i := 1 to Nv do
for j := 1 to Nv do
for h := 1 to Nv do
f o r k : = 1 t o N v d o g [ i ] :=g[i]-A[i,j,h,k]*v[j]*v[h]*v[k];
until (errl < 1.OE - 16) or (err2 < 1.OE - 16);
c := 0.0;
+
for i := 1 to Nv do c := c sqr(v[i]);
c := sqrt(c);
for i := 1 to Nv do v[i] := v[i]/c;
f := 0.0;
for i := 1 to Nv do
for j := 1 to Nv do
for h := 1 to Nv do
for k := 1 to Nv do f := f + A[i,j, h, k]*v[i]*v[j]*v[h]*v[k];
until (f < 1.OE - 8) or (beta > 1.OE - 8);
writeln(’ > > > > > > > > > Solution v’);
for i := 1 to Nv do write (v[i] : 16: 12);
writeln(’ > > f = ’,f : 12);
end;

............................................................
............................................................

............................................................
............................................................
............................................................

............................................................
G. SALERNO

Input and Checking Data -----}


. . . . . . . . . . . . . . . . . . . .
InputData;
Initialization;
for i := 1 to band do
GetMem(St [i], Neq * sizeof (float));
--- Assembling and Gauss reduction of Tangent Matrix -- - - }
TangetMatrix (St);
MatrixCheck(St);
BandDec (St, Na, band);
{------------------------------------- 0utputData ----}
OutputData;
{----------------------------------- critical Modes -----}
m := 0;
-
for j := 1 to Na do if abs(St[l] [j] < = zero then
begin
m := succ(m);
GetMem(V[m], Neq * sizeof (float));
for i := 1 to Neq do V[m] [i] : = 0.0;A

~ [ m *] [jl := 1.0;
loop : = 0;
repeat
loop := succ (loop);
IncrementalForces (V[m] , S);
BandSol (St, S, Dot, Na, band);
if loop = 1 then eps : = Dot * sqr(T0LL);
for i := 1 to Na do
if abs(St[I] * [i]) > zero then V[m] [i] := V[m] [i] - S[i]; -
until (Dot < eqs) or (Loop > MAXLOOP);
OutputResults (m);
end;
Nv := m;
{--------------_---------------- Th ird Variations -----}
m := 0;
for i := 1 to Nv do for j := 1 to Nv do for k := 1 to Nv do
begin
m := succ(m);
Fh3[m] := Thirdvariation (V[i] , V[j] , V[k] -);
writeln (OutFile, i : 3, j : 3, k : 3,’ [’, m : 3,’] Fh3 = ’,
Fh3 [m] : 16);
end;
Secondary Modes - -- - - }
m :=O;
for i := 1 to Nv do for j := i to Nv do
begin
m := succ(m);
THE ORDER OF INFINITESIMAL MECHANISMS A NUMERICAL APPROACH 1393

GetMem (Vc [m], Neq * sizeof (float));


SecondaryMode (V[i] , V[j] 7 Vc[m]
A - );
OutputCorrection (m);
end;
Nw := m; {Nw := Nv*(Nv 1)/2} +
{------------------------------------F ourth Variations -----}

m:=Q
for i := 1 to Nv do for j := i to Nv do
for h := j to Nv do for k := h to Nv do
begin
m := succ (m);
+
ij := Nv * (i - 1) j - i * (i - 1) div 2;
ih := Nv*(i - 1) + h - i*(i - 1) div 2;
ik := Nv*(i - 1) + k - i*(i - 1) div 2;
jh := Nv*(j - 1) + h - j * ( j - 1) div 2;
jk := N v * ( j - 1) + k -j*U - 1) div 2;
hk := Nv*(h - 1) + k - h * ( h - 1) div 2;
f4 := Fourthvariation (V[i] - , V[j] * , V[h] - , V[k] *);
f22 := - SecondVariation (Vc[ij] * , Vc[hk] ) a

- SecondVatiation (Vc[ih] , VcLjk] )


-
- SecondVariation (Vc[ik] , VcCjh] );
Fh4 [m] := f4 f22; +
writeln (OutFile, i :2, j :2, k :2, h : 2,
’ f4 = ’, f4: 10,’ f22 = ’, f22: 10, Fh4 = ’, Fh4[m]: 10);
end;
readln;

{----------------------------------- Third order Modes - -- - }


m := 0;
for i := 1 to Nv do for j := i to Nv do f o r k := j to Nv do
begin
m := succ (m);
GetMem (VzCm], Neq * sizeof (float));
ThirdOrderMode (V[i] ,. , V[j] , V[h] a

+ +
Vc[j h - 11 * Vc[i h - 11 Vc[i j - 13 * , +
w m 1 - 1;
OutputCorrection (m);
end;
Nz := m;
{------------------------------------ Higher order analysis - - - }
c l := xhil;
c2 := xhi2;
c l l := xhil* xhil;
c22 := xhi2 * xhi2;
c12 := 2 * xhil * xhi2;
1394 G. SALERNO

c l l l := xhil *xhil *xhil;


cl12 := 3 * xhil * xhil * xhi2;
c122 := 3 * xhil * xhi2 * xhi2;
c222 := xhi2 * xhi2 * xhi2;
for i := 1 to Neq do
begin
+ -
X1 [i] := cl * V[l] [i] c2 * V[2] [i];
~ 2 [ i ]:=cll*Vc[1]-[i] +c12*Vc[2]-[i] +c22*Vc[3]-[i];
-
X3[i] := c l l l *Vz[l] [i] + cl12*Vz[2] [i] +
c122 * Vz[3] [i] + c222 * Vz[4] [i];
end;
f l l l l l := Fifthvariation (Xl, X1, X1, X1, Xl);
f l l l 2 := Fourthvariation (Xl, X1, X1, X2);
f122 := Thirdvariation (Xl, X2, X2);
Fh5 := f l l l l l + 10*f1112 + 15*f122;
fllllll := Sixthvariation (Xl, X1, X1, X1, X1, Xl);
flll12 := Fifthvariation (Xl, X1, X1, X1, X2);
f1122 := Fourthvariation (Xl, X1, X2, X2);
f222 := Thirdvariation (X2, X2, X2);
f33 := Secondvariation (X3, X3);
Fh6 +
:= f l l l l l l +
15*f11112 45*f1122
+ 154222 - 10*f33;
{------------------------------- Releasing memory - -- - }
Close (OutFile);
for i := 1 to band to FreeMem (St [i], Neq * sizeof (float));
for i := 1 to Nv do FreeMem (V[i], Neq * sizeof (float));
for i := 1 to Nw do FreeMem (Vc [i], Neq * sizseof (float));
for i := 1 to Nz do FreeMem (Vz [i], Neq * sizeof (float));

5. CONCLUSION
The subject covered in this report can be considered as an example of computational stability.
The structures here considered are characterized by the fact that they present a first equilibrium
path unstable at the null value of the load acting upon it. Therefore, the difference between
a classical problem of stability and the actual problem is that in the latter case the stability limit
load is known in advance. The entire problem is reduced to the asymptotic determination of
a second equilibrium path, whose characteristics of stability are studied.
The difference between the case of a single infinitesimal motion and the case of several
infinitesimal motions has been highlighted in order to make more evident the resemblance with
the cases of a single mode and multiple modes in buckling problems.
It is worth noting that, exactly as Koiter did, in this case also a clear distinction could be made
between perfect and imperfect structures, and geometrical imperfections, such as looseness of the
constraints, could be easily taken into account. However, all these topics do not fall within the
scope of this report.
But, the most important aspect to note is that Koiter’s theory can be easily implemented, as
was done in buckling problems in References 12 and 16, provided that it is equipped with the
appropriate non-linear finite element.
THE ORDER OF INFINITESIMAL MECHANISMS: A NUMERICAL APPROACH 1395

Moreover, it should be clear that all this report is based upon the strong hypothesis that the
strain energy is an analytical function of the displacement parameters. Therefore, from a theoret-
ical point of view, there is no means of distinguishing between finite mechanisms and infinitesimal
mechanisms of infinite order.
One more consideration: it is evident that the problem examined has the theoretical base in the
context of geometrical problems, the order of the mechanism not depending on the elastic
constant of the material which the assembly is composed of. But, if the strain energy is not
involved and the problem is tackled by means of equilibrium or congruence considerations, the
great advantage of working with symmetrical matrices, which makes easier the resolution of the
problem within the field of computational mechanics, is lost.

ACKNOWLEDGEMENTS

The work has been done during a six months stay in Cambridge, from January to July 1990,
financed by the ERASMUS (E.E.C.) scheme. I am very grateful for help received from Prof. C. R.
Calladine, Dr S. Pellegrino and Dr T. Tarnai during the course of this work. Finally a particular
acknowledgement is due to Prof. R. Casciaro, from University of Calabria (Italy), for the
suggestions given to me during the same period.

REFERENCES
1. C. R. Calladine, ‘Buckminster Fuller’s Tensegrity structures and Clerk Maxwell’s rules for the construction of stiff
frames’, Int. J. Solids Strucr., 14, 161 - 172 (1978).
2. T. Tarnai, ‘Simultaneous static and kinematic indeterminacy of space trusses with cyclic symmetry’, 1st. J. Solids
Strucr., 16, 347-359 (1980).
3. T. Tarnai, ‘Problems concerning spherical polyedra and structural rigidity’, Struct. TopoZogy, 4, 61 -66 (1980).
4. W. T. Koiter, ‘On Tarnai’s conjecture with reference to both statically and kinematically indeterminate structures’,
Report No. 788, Laboratory for Engineering Mechanics, Delft, 1984.
5. S. Pellegrino and C. R. Calladine, ‘Matrix analysis of statically and kinematically indeterminate frameworks’, Int. J.
Solids Struct., 22, 409-428 (1986).
6. T. Tarnai, ‘Higher-order infinitesimal mechanisms’, Acta Technica Acad. Sci. Hung., to appear.
7. W. T. Koiter, ‘On the stability of elastic equilibrium’, Thesis, Delft, 1945. English translation, NASA TT-F10, 883
(1967) and AFFDL TR70-25 (1970).
8. E. N. Kuznetsov, ‘Undercostrained structural systems’, Int. J. Solids Struct., 24, 153-163 (1988).
9. S. Pellegrino, ‘Mechanics of kinematically indeterminate structures’, Ph.D. Thesis, University of Cambridge, 1986.
10. Fumio Fuji and Yukio Usuda, ‘Stiffnessformulations of planar kinematics’, J. Eng. Mech. ASCE, 17,694-699, (1991).
11. B. Budiansky, ‘Theory of buckling and post-buckling of elastic structures’, Advances in Applied Mechanics, Vol. 14,
Academic Press, New York, 1974.
12. R. Casciaro, and M. Aristodemo, ‘I1 metodo perturbativo nell’analisi nonlineare di strutture reticolari’, I V Congress0
AIMETA, Firenze 25-28 Ottobre 1978.
13. S. D. Conte and Carl de Boor, Chapter 4 in Elementary Numerical Analysis-An Algorithmic Approach, 3rd edn,
McGraw-Hill, New York, 1983.
14. C. A. Felippa, ‘Solution of linear equations with skyline-stored symmetric matrix’, Comp. Struct., 5, 13-29 (1975).
15. T. Tarnai, ‘Finite mechanisms and the timber octagon of Ely Cathedral’, Struct. Topology, 6, (1990).
16. R. Casciaro and M. Aristodemo, ‘Perturbation analysis of geometrically nonlinear structures’, Int. Con$ on Finite
Elements in Nonlinear Solid and Structural Mechanics, Geilo, Norway, Aug.-Sept. 1977.

You might also like