The simulation and vizualization of plane truss eigenvibration.
Isic, Safet ; Dolecek, Vlatko ; Karabegovic, Isak 等
Abstract: This paper demonstrates the algorithm for simulation of
plane trusses eigenvibration by numerical analysis and visualization of
the solutions. It uses the finite element method for numerical analysis.
Computer programs may be written to implement this method, or commercial
mathematical programs may be used to save analyst time and allow quick
graphical representation of obtained results. The MAPLE solution for
particular nine bars plane truss is presented.
Key words: Simulation, visualization, finite element method,
eigenvibrations, plane truss
1. INTRODUCTION
Eigenvalue of structures free vibration are of the great importance
for both mechanical and civil engineers, because it is basic step of
analysis of dynamical response. Trusses are the common type of
construction which engineers meet practice. If we deal with vibration of
such real construction, analytical solution is tedious or even
impossible. In this case some numerical method should be introduced. The
most popular method for analysis is the finite elements method [Geradin
& Rixon, 1998].
Finite elements method deals with large number of linear algebraic
equation, and some computer programs must be used. The large commercial
FEM packages are expensive and inadequate if we solve some problems
temporarily, so it is important to be able to write own programs.
Programs may be created using the programming languages (FORTRAN, C++,
...) or mathematical packages like MATLAB, MATHEMATICA, MAPLE, etc.
In this paper we present basic elements of the algorithm for
numerical analysis and simulation of free vibration of an arbitrary
plane truss. This algorithm may be implemented in any mathematical
software or programming language [Isic, 2000].
Eigenvalues of free vibration (vibration modes and corresponding
eigenfrequencies) are calculated from the following finite element
equation:
([K]+ [[omega].sup.2][M]){U} = 0 (1)
where: [K] is structural stiffness matrix, [M] is mass matrix, U is
eigenfrequency and {U}is vibration mode.
Equation (1) presents algebraic eigenvalue problem. Before we are
solving it, matrices [K] and [M] must be calculated for the particular
truss.
2. INPUT DATA--TRUSS DESCRIPTION
To uniquely describe any plane truss with [N.sub.elem] bars and
[N.sub.nod] nodes, e.g. shown on Fig. 1, the following data are
required: material properties--modulus of elasticity E and mass density
[rho]; coordinates of nodes ([x.sub.i], [y.sub.i]), i = 1, [N.sub.nod];
cross sectional area of members [A.sub.i], i = 1, [N.sub.elem]; indexes
of nodes and elements; indexes of the nodes with displacements
restricted by supports.
[FIGURE 1 OMITTED]
Nodal coordinates are stored in two dimensional array [X] having
two rows and [N.sub.nod] columns
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (2)
From indexes of nodes and elements one two-dimensional array [NOD]
is created, having [N.sub.elem] columns. In each column, first
coefficient is equal to index of i-th node, and second to j-th node. For
the truss on Fig. 1, this array has the form
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (3)
Coefficient NOD(1,3) = 3, for example, shows that element 3 has
node 3 as its i-th node.
It is necessary to define boundary condition, i.e. which node is
restricted to move and size of eigenvalue problem [N.sub.eq]. It is done
by "destination array" [ID], which consists of columns equal
to the number of truss nodes--[N.sub.nod], and rows equal to number of
d.o.f of single node. For example the truss shown on Fig. 1, initially
entered [ID] is
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (4)
E.g. coefficient ID(2,3) = 0 means: displacement of node 3 along
axes y is allowed, and e.g. ID(2,1) = 1, means that displacement of node
1 along axes x is restricted.
2.1. Length and orientation of bar elements
On the base of entered data, length of all bars and angles between
bars and coordinate axes x are calculated. First it is identified which
nodes i and j correspond to k-th element, k = 1, [N.sub.elem]. Using it,
corresponding nodal coordinates are selected from [X] and used to
calculate the coordinate differences [DELTA][x.sub.k] and
[DELTA][y.sub.k] of element nodes. Length [l.sub.k], and the direction
(angle [[theta].sub.k]) are calculated from this coordinate difference.
2.2 Check of input data
Input data, consists of large number of coordinates, areas, nodes
and element indexes, etc. There is a high possibility for an analyst to
make some errors in writing input data, which may produce wrong results.
Graphical representation of the input data immediately after they are
entered is the best way to exclude any mistake.
Using graphical routines we draw bars in the forms of lines
connecting its nodes, with element labels written in the middle of the
bar and nodal labels written in nodes. In the case of any error, input
data should be revised.
2.3. Removing restricted d.o.f.
Looping through initial [ID] array, column by column, elements
corresponding to restricted d.o.f. are putted to zero, and for every
element which corresponds to unrestricted d.o.f, value of variable
[N.sub.eq] is increased by 1, and this element of [ID] receives this
value. For truss on Fig. 1, final [ID] is transformed to the following
form
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (5)
3. STRUCTURAL MATRICES
To calculate constitutive matrix in (1), stiffness and mass matrix
of all [N.sub.elem] members will be calculated and expanded to
structural size. Stiffness and mass matrices for single plane bar
element are given by
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (6)
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (7)
where c = cos([[theta].sub.k]) and s = sin([[theta].sub.k]).
Structural stiffness and mass matrices (i.e., stiffness and mass
matrices of the truss) are formed by adding coefficients of element
matrices [Cook at al., 1988].
4. EIGENVALUES EXTRACTION
The eigenvalue problem (1) could be transformed in
([[M].sup.-1[K]){U} = [[omega].sup.2] (8)
Solution of (8) may be done by linalg packages if mathematical
pacages, e.g. MAPLE, are used. If one is writing own code for solution
of (8), method of subspace iterations is recommended [Isiae, 2000;
2002.].
Using any method, both [N.sub.eq] eigenfrequencies [omega] and
[N.sub.eq] corresponding eigenvectors {U} will be returned.
To animate vibration, it is necessary to add zero displacement for
restricted d.o.f. in eigenvectors {U}. It is done again by using
information from [ID] array.
5. VISUALIZATION OF VIBRATION
As the total time of lasting of one full oscillation cycle, time
2[pi] is used. This time interval is divided into [N.sub.timestep] equal
subintervals.
Using plotting commands, truss is plotted at the ends of these
intervals, with coordinates of nodes ([x.sub.j]([t.sub.i]),
[y.sub.j]([t.sub.i])), j = 1, [N.sub.nod], calculated as
[x.sub.j]([t.sub.i]) = [x.sub.j0] + scl [u.sub.j] sin([t.sub.i]),
[y.sub.j]([t.sub.i]) = [y.sub.j0] + scl [w.sub.j] sin([t.sub.i]), (9)
where scl is scaling factor, [x.sub.j0] and y are node coordinates
in state of the rest stored in [X], and [u.sub.j] and [w.sub.j] are
displacement of nodes along x and y axes, recorded in corresponding
eigenvectorvector {U}.
Animation of vibration is done using display command in plots
package if using MAPLE. If e.g. FORTRAN language is used for writing
code, animation is done similarly--plotting truss in positions
corresponding to time step [t.sub.i], erasing it, displaying truss in
position at step [t.sub.i+1], and so on.
Fig. 2 presents the output of program, based on the presented
algorithm, for first eigenmode and frequency of example truss,
calculated and vizualized by MAPLE using presented algorithm.
[FIGURE 2 OMITTED]
6. CONCLUSIONS
Algorithm for computer program presented in this paper may be used
for quick analysis of plane truss eigenvibration and for educational
purposes for learning programming, finite element method and its
computer implementation.
Finite elements method requires matrix computation, so implementing
this program in some mathematical packages, as MAPLE, allows finite
elements analysis of eigenvalues of plane trusses vibration by a user
without experience to write a code for matrix computations. Such a
program may be also used to help an analyst to develop routines in some
higher program languages.
7. REFERENCES
M. Geradin, D.Rixon (1998). "Mechanical Vibrations", John
Willey & Sons, 1998.
Cook R., Malkus D.S., Plesha M. (1988). "Concepts and
Aplication of Finite Element Analyses", John Willey & Sons, New
York, 1988.
S. Isiae (2000). "Analysis of Eigenvibration of Axially Loaded
Constructions--Using Finite Elements Method", Master Thessis,
Mostar, 2000.
M. L. Abell, J. P. Braselton (1994). "Diferential Equations
with Maple V", Academic Press, 1994.
S. Isic (2002). "Exact And Numerical Analysis of Transversal
Eigenvibration of Axially Loaded Column", Journal of Mechanical
Engineering--Masinstvo, Vol. 6--Br. 3, 2002.