Civil Engineering Reference
In-Depth Information
3.9.1
Jacobi algorithm
The problem frequently presents itself in the form of a generalised eigenproblem of the
form
} = ω 2 [ M m ]
[ K m ]
{
X
{
X
}
(3.84)
where [ K m ] and [ M m ] are the global stiffness and mass matrices respectively. For example,
the stiffness can be stored as a banded matrix having been formed by subroutine formku
(Table 3.7). The mass would then be either a banded matrix with the same structure as
the stiffness or more frequently if the mass is assumed to be “lumped”, a diagonal matrix
which can be stored in a vector diag with the help of subroutine formlump .Inorderto
reduce (3.84) to the required form (3.83) it is necessary to factorise the mass matrix by
forming
[ L ][ L ] T
[ M m ]
=
(3.85)
While this is essentially a Cholesky factorisation, it is particularly simple in the case
of a diagonal matrix, in which case the diagonal terms in [ L ] are simply the square roots
of the diagonal terms in [ M m ] and the inverse of [ L ] merely consists of the reciprocals of
these square roots. In any case,
} = ω 2 [ L ][ L ] T
[ K m ]
{
X
{
X
}
(3.86)
which is then reduced to standard form by making the substitution
[ L ] T
{
X
} = {
Z
}
(3.87)
Then
[ L ] 1 [ K m ][ L ] T
} = ω 2
{
Z
{
Z
}
(3.88)
{
}
{
}
is of the desired form (3.83). Having solved for
are read-
ily recovered using (3.87). The subroutines bandred and bisect deliver the appropriate
eigenvalues.
Z
, the required eigenvectors
X
3.9.2 Lanczos algorithm
The transformation technique previously described is robust in that it will not fail to find
an eigenvalue or to detect multiple roots. However, it is expensive to use on large problems
for which, in general, vector iteration methods are preferable. Since the heart of all of these
involves a matrix-by-vector product as shown in Section 3.5.5, they are ideal for “element-
by-element” manipulation, in which case the lumped mass matrix is best used. Programs
described in Chapters 10 and 12 use the HSL (2002) package EA25 which implements the
work of Parlett and Reid (1981) on the Lanczos algorithm. These subroutines calculate the
eigenvalues and eigenvectors of a symmetric matrix, say [ A ] from (3.83), requiring the user
only to compute matrix-vector products and whole vector additions of the form [ A ]
{
V
}+
Search WWH ::




Custom Search