Civil Engineering Reference
In-Depth Information
extracts all of the eigenvalues. It should be noted that these routines, although robust and
accurate, can be inefficient both in storage requirements and in run-time and should not
be used for solving very large problems, for which in any case it is unlikely that the full
range of eigenmodes would be required. The various vector iteration methods (Bathe, 1996)
should be resorted to in such cases.
One of the most effective of these is the Lanczos method (see Sections 3.5.5 and
3.9.2), in which subroutines lancz1 and lancz2 are used to calculate the eigenvalues
and eigenvectors of a matrix.
When the Lanczos procedure is described in more detail, it will be found that, in
common with its close relation the conjugate gradient procedure (Section 3.5.1), the method
requires a matrix-vector product where the matrix is essentially the global system stiffness
matrix, followed by a series of whole-vector operations. To save storage, the matrix-
vector product can be done “element-by-element” and this feature is taken advantage of in
Chapters 10 and 12.
Although simple matrix-by-vector multiplications can be accomplished by intrinsic
procedure MATMUL , advantage is usually taken of the structure of global system matrix
coefficients whenever possible. To allow for this, three special matrix-by-vector multiplica-
tion subroutines are provided as shown in Table 3.5 and further information on when these
routines should be used is given in Sections 3.9, 3.10 and 3.12.
In a teaching text such as this, elaborate input and output procedures are avoided. It is
expected that users may pre- and post-process their data using independent programs.
In order to describe the action of the remaining special purpose subroutines, (see
Appendix D), it is necessary first to consider the properties of individual finite elements and
then the representation of continua from assemblages of these elements. Static linear prob-
lems (including eigenproblems) are considered first. Thereafter modifications to programs
to incorporate time dependence are added.
Table 3.5 Subroutines for matrix-vector multiplication
Storage
Symmetric
Symmetric
Unsymmetric
skyline
lower triangle
full band
Assembly subroutine
fsparv
formkb
formtb
Matrix-vector multiplication linmul sky
banmul
bantmul
subroutine
3.7.2 Special purpose routines
The job of these routines is to compute the element matrix coefficients, for example the
“stiffness”, to integrate these over the element area or volume and finally, if necessary,
to assemble the element submatrices into a global system matrix or matrices. The black
box routines for equation solution, eigenvalue determination and so on then take over to
produce the final results. The remainder of this section introduces a notation that follows
the variable names used in the subroutine listings. When appropriate, mnemonics are used
so that the Jacobian matrix becomes jac andsoon.
Search WWH ::




Custom Search