Load Dependent Ritz Vector Algorithm and Error Ananlysis

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Load Dependent Ritz Vector

Algorithm and Error Analysis


Written by Ed Wilson in 2006

1.

The Complete eigenvalue subspace


In the analysis of structures subjected to three base accelerations there is a requirement that

one must include enough modes to account for 90 percent of the mass in the three global
directions. However, for other types of loading, such as base displacement loads and point
loads, there are no guidelines as to how many modes are to be used in the analysis. In many
cases it has been necessary to add static correction vectors to the truncated modal solution in
order to obtain accurate results. One of the reasons for these problems is that number of
eigenvectors required to obtain an accurate solution is a function of the type of loading that is
applied to the structure. However, the major reason for the existence of these numerical
problems is that all the LDR vectors of the structural system are not included in the analysis.
In order to illustrate the physical significance of the complete set of LDR vectors for a
structure consider the unsupported beam shown in Figure 1a. The two-dimensional structure
has six displacement DOF, three rotations (each with no rotational mass) and three vertical
displacements (each with a vertical lumped mass).
The six stiffness and mass orthogonal eigenvectors with frequency n , in radians per
second, and period Tn , in seconds, are shown in Figure 1b to 1g. The maximum number of
natural eigenvectors that are possible is always equal to the number of displacement DOF. The
static vectors (modes) have infinite frequencies; therefore, it is not possible to use the classical
definition that the eigenvalues are equal to n2 if the eigenvalues are to be numerically

evaluated.

A new definition of the natural eigenvalues and the new algorithm used to

numerically evaluate the complete set of natural eigenvectors will be presented in detail later in
the paper.

M=0.05

100

M=0.10

100

M=0.05

(a) Beam Model


I = 1.0

E=10,000

(b) Rigid Body Mode

1=0

T1 =

(c) Rigid Body Mode

2 =0

T2 =

(d) Dynamic Mode

3 = 0.995 T3 = 6.31

(e) Static Mode

4 =

T4 = 0

(f) Static Mode

5 =

T5 = 0

(g) Static Mode

6 =

T6 = 0

Figure 1. Rigid-Body, Dynamic and Static Modes for Simple Beam


Note that the rigid-body modes only have kinetic energy and the static modes only have
strain energy. Whereas, the free vibration dynamic modes contain both kinetic and strain
energy; and, the sum of kinetic and strain energy at any time is a constant. Also, the
eigenvectors with identical frequencies are not unique vectors. Any linear combination of
eigenvectors, with the same frequency, will satisfy the orthogonally requirements.
2. STRUCTURAL EQUILIBRIUM EQUATIONS

The static and dynamic node-point equilibrium equations for any structural system, with Nd
displacement degrees-of-freedom (DOF), can be written in the following general form:

&&(t) + K u(t) = R(t)+ R D (u, u&, t) = F g (t )


Mu

(1)

At time t the node acceleration, velocity, displacement and external applied load vectors are
defined by u&&(t), u&(t ), u(t) and R(t) , respectively.
The unknown force vectors,

R D (u, u&, t) ,

are the forces associated with internal energy

dissipation such as damping and nonlinear forces.

In most cases, these forces are self-

equilibrating and do not contribute to the global equilibrium of the total structure.
The sum of R and R D can always be represented by the product F g(t ) , where F is an Nd by L
matrix of L linearly independent spatial load vectors associated with both linear and nonlinear
behavior, and

g(t )

is a vector of L time functions. These time functions are directly specified

for linear analysis, and are evaluated by iteration for nonlinear elements. For many problems,
nonlinear forces may be restricted to a subset of all DOF, so that

L < Nd

, although this is not

required in what follows.


The node-point lumped mass matrix, M , need not have mass associated with all degrees-offreedom; therefore, it may be singular and mathematically positive semi-definite. Also, external
loads may be applied to displacement DOF that do not have mass and produce only static
displacements.
The linear elastic stiffness matrix K may contain rigid-body displacements, as is the case for
ship and aerospace structures; therefore, it need not be positive-definite. In order to overcome
this potential singularity the term Mu(t) may be added to both sides of the equilibrium
equations, where is an arbitrary positive number. Or, Equation (1) can be written as

&&(t) + K u(t) = Fg(t) + Mu(t) = R (t)


Mu

(2)

While K and M may be singular, it is assumed here that the effective-stiffness matrix,
K = K + M , is nonsingular. Therefore, the effective-stiffness matrix represents a real structure

with the addition of external springs to all mass DOF; these springs have stiffness proportional
to the mass matrix.
The purpose of this paper is to present a general solution method for the numerical
calculation of displacement and member forces. The proposed method can be used for both
static and dynamic loads and has the ability to include arbitrary damping and nonlinear energy
dissipation. The derivation of the vector-generation algorithm presented in this paper is self-

contained and only uses the fundamental laws of physics and mathematics. Near the end of the
paper, it will be pointed out that each step in the solution algorithm is nothing more than the
application of well-known numerical techniques that have existed for over fifty years. It is an
extension of Load Dependent Ritz vectors that have been previously described Wilson, 2003.
2.1.

CHANGE OF VARIABLE
Equation (2) is an exact equilibrium statement for the structure at all points in time. The first

step in the static or dynamic solution of this fundamental equilibrium equation is to introduce
the following change of variable:
u(t) = Y(t)

The Nd by N matrix

and

&&(t)
&&(t) = Y
u

(3)

of spatial vectors are calculated and normalized to satisfy the

following orthogonality equations:


T

M =
T

K = I

(4)
or,

K = I

The N by N diagonal matrices are I for the unit matrix and


matrix associated with each vector.

(5)

for the generalized mass

Therefore, Equation (2) can be written as a set of

uncoupled equations of the following form:


&&(t) + I Y(t) = T R (t )
Y

(6)

If N equals Nd , the introduction of this simple change of variables into Equation (2) does not
introduce any additional approximations. The number of nonzero terms in the diagonal matrix

indicates the maximum number of dynamic vectors and is equal to the number of lumped

masses in the system (or, mathematically, the rank of the mass matrix). If a vector has zero
generalized mass it indicates that it is a static response vector.
It is not practical to calculate all Nd static and dynamic shape functions for a large structure.
First, it would require a large amount of computer time and storage. Second, a large number of
vectors that are not excited by the loading may be calculated. Therefore, a truncated set of N

natural eigenvectors will be calculated that will produce an accurate solution for an optimum
number of LDR vectors.
In order to minimize the number of shape functions required to obtain an accurate solution
the static displacement vectors produced by L linearly independent spatial functions
F (1) associated with the loading R (t ) will be used to generate the first set of vectors. The linear

independent spatial load functions F (1) can be automatically extracted from R (t ) based on the
type of external global loading and the location of the nonlinear elements.
2.2.

CALCULATION OF STIFFNESS ORTHOGONAL VECTORS


The first step in the calculation of the orthogonal vectors defined by Equation (4) and (5) is

to calculate a set of stiffness orthogonal vectors V where each vector satisfies the following
equation:

1 for m = n
v Tm Kv n = v Tm f n =

0 for m n

(7)

These stiffness orthogonal displacement and load vectors are calculated and stored in the
following arrays:

[
F = [f

V = v1
1

v2

v3

v N v Nd

f2

f3

fN

All vectors are generated in sequence n = 1, 2, - - - - N .

f Nd

]
]

(8)

After each vector is made stiffness

orthogonal and normalized it is inserted into position N.

For example, consider a new

displacement candidate vector v (produced by the load vector f ) that is not stiffness
orthogonal as defined by Equation (7). This vector can be modified to be stiffness orthogonal
by conducting the following numerical operations:
Normalization vector by the application of the following equations:

v = v and f = f where = vTf

; therefor
e v Tf = 1

(9)

Remove from v all previously calculated stiffness orthogonal vectors by the application of the
following equations:
N 1
~ N 1
~
v = v n v n and f = f n f n
n =1

(10a and b)

n =1

Multiplication of Equation (10a) by vTn K yields the following equation:

v Tn K~
v = v Tn Kv n v Tn Kv n

n = 1 to N

(11)

If the new vector ~v is to be stiffness orthogonal v Tn K~v must equal zero. Therefore,

n = v Tn Kv

(12)

After Equations (10a) and (10b) are evaluated they must be normalized by the application of the
equations:

~
~
vN = ~
v and f N = f where = ~
vTf

therefore v TN f N = 1

(13)

It is now possible to check if the candidate vector v was linearly independent of the
previously calculated vectors by checking if the proposed new vector v N is nothing more than
numerical round-off. Therefore,

If < tol reject v N as a new stiffness orthogonal vector


The value for

(14)

tol is selected to be approximately 10-7.

The first block of candidate vectors is obtained by solving the following set of equations,
where the static loads F (1) and displacements V (1) are Nd by L matrices:

K V (1) = LDLT V (1) = F (1)


Note that the effective stiffness matrix need be triangularized,

(15)

K = LDLT ,

only once.

Additional blocks of candidate vectors can be generated from the solution of the following
recursive equation:

K V ( i ) = M V ( i 1) = F ( i )

(16)

If, during the orthogonality calculation, a new displacement or load vector in the block is
identified as the same (parallel) as a previously calculated vector it can be discarded from the
block and the algorithm is continued with a reduced block size. If the block size is reduced to
zero, prior to the production of Nd vectors, it indicates that all of the static and dynamic vectors,
excited by the initial load patterns, have been found.
2.3.

MASS ORTHOGONAL VECTORS


After all blocks of the stiffness orthogonal vectors are calculated they can be made

orthogonal to the mass matrix by the introduction of the following transformation:


(17)

= VZ

Substitution of Equation (17) into Equation (4) produces the following N by N eigenvalue
problem:
(18)

MZ =

where M = V T MV .

The stiffness and mass orthogonal vectors are then calculated from

Equation (17). The static modes have zero periods, or

n = 0 .

Therefore, in order to avoid all

potential numerical problems, it is recommended that the classical Jacobi rotation method2 be
used to extract the eigenvalues and vectors of this relatively small eigenvalue problem.
Equation (2) can now be rewritten as
&&(t) + K u(t) Mu(t) = Fg(t)
Mu

(19)

The transformation to modal coordinates produces the following uncoupled model equations:
&&(t) + [I ]Y(t) = T Fg (t )
Y

(20)

Therefore, a typical modal equation, n, can be written as


n Y&&n (t) + [1 n ]Yn (t) = nT Fg (t )

(21)

The number of static shape functions is equal to the number of zero diagonal terms in the
matrix . For the static modes n is equal to zero and the solution is written as

(22)

Yn (t) = nT Fg (t )

For the dynamic elastic modes the generalized mass for each mode is n and the classical
free-vibration frequencies (radians per second) and the periods of vibrations (seconds) can be
calculated from
1

n =

and

Tn =

(23)

Note that the eigenvalue n always has a finite numerical value; however, the frequency
n and period Tn can have infinite numerical values and cannot be numerically calculated

directly for all modes. For example, Table 1 summarizes the eigenvalues, frequencies and
periods for the simple beam shown in Figure 1.

Table 1. Eigenvalues for Simple Beam for = 0.01


Mode

Eigenvalue

Numbe

Period

Frequency
n =

Tn =

100

100

0.826

0.995

6.31

0
0

The generalized stiffness and mass for the normalized vectors are as follows:

nT K n = 1 n =

for rigid - body modes


0
2
n n for dynamic modes
1
for static modes

(25)

nT M n = n = n
0

for rigid - body modes


for dynamic modes

(26)

for static modes

Therefore, it is necessary to save both the generalized stiffness and generalized mass, for each
mode, in order to determine the static, dynamic or rigid-body response analysis of the mode.
The solution for the dynamic modes can be obtained using the piece-wise exact algorithm
[1]. For all rigid-body modes n will equal 1 / . Therefore, their response can be calculated
by direct, numerical or exact, integration from

Y&&n (t) = nT R (t ), Y&n (t) = Y&&n (t ) dt , and Yn (t ) = Y&n (t )dt (24)


The sum of the static, dynamic and rigid-body responses produces a unified method for the
static and dynamic analysis of all types of structural systems.
2.4.

MATHEMATICAL CONSIDERATIONS
Except for reference to the Jacobi and piece-wise integration methods2 Wilson, 2003, the

numerical method for the generation of stiffness and mass orthogonal vectors presented is based
on the fundamentals of mechanics and requires no additional references to completely
understand. However, it is very interesting to note that the method is nothing more than the
application of several well-known numerical techniques:
First, the change of variables introduced by Equation (3) is an application of the standard
method of solving differential equation and is also known as the separation of variables in
which the solution the solution is expressed in terms of the product of space functions and time
functions. A special application of this approach in classical structural dynamics is called the
mode superposition method in which the static mode response is neglected.
Second, the addition of the term Mu(t) to the stiffness matrix is called an eigenvalue shift in
mathematics. However, it is worth noting the zero eigenvalues associated with the static modes
are not shifted.

Third, the recurrence relationship, Equation (10), is identical to the inverse iteration
algorithm for a single vector2. Therefore, the approach is a power method that will always
converge to the lowest eigenvalues of the system.
Fourth, the series of vectors generated by the inverse iteration method is known as the Krylov
Subspace . A. N. Krylov, 1863-1945, was a well-known Russian engineer and mathematician
who first studied the dynamic response of ship structures. However, Krylov did not include
static modes in his work.
Fifth, orthogonality is maintained, Equations (14), by the application of the modified GramSchmidt algorithm. Theoretically, after the initial block of orthogonal vectors are calculated, it
is only necessary to make each new displacement vector orthogonal with respect to the previous
two Krylov vectors. However, after many years of experience with the dynamic analysis of
very large structural systems, we have found that it is necessary to apply the Gram-Schmidt
method to all previously calculated vectors in order that the same vectors are not regenerated.
Sixth, the performance of the algorithm is improved if the load vectors F (i ) , for each block,
are made orthogonal with respect to the previously calculated displacement vectors, Equation
(16), prior to the solution of the equilibrium equations. This additional step has made the
algorithm unique and very robust.
2.5.

LOAD PARTICIPATION RATIOS AND ERROR ESTIMATION


In the analysis of structures subjected to three base accelerations there is a requirement that

one must include enough modes to account for 90 percent of the mass in the three global
directions. However, for other types of loading, such as base displacement loads, there are no
guidelines as to how many modes are to be used in the analysis. The purpose of this section is
to define two new load participation ratios, which can be calculated during the generation of the
LDR vectors, to assure that an adequate number of vectors are used in a subsequent static or
dynamic analysis.
From Equation (24), a typical modal equation n for load pattern j, can be written as
nY&&(t)n + 2n nY(t)n = nT F j g (t ) j

n = 1 to N

(27)

The error indicators are based on the two different types of load functions g(t) j . In one case
the loads vs. time excite the low frequencies; and, in the other case the high frequencies are
excited.
2.5.1.

Static Loads

The first error estimator is a measure of the ability of a truncated set of mode shapes to
capture the static response of the structural system. For this case the load function g(t) j is
applied linearly from a value of zero at time zero to a value of 1.0 at the end of a very large time
interval. Therefore, the inertia terms can be neglected and Equation (27), evaluated at the end
of the large time interval, is
2n nYns = n F j

n = 1 to N

(28)

Therefore the static mode participation can be written as


Ynj =

nT F j
2n n

n = 1 to N

(29)

From Equation (3) the approximate static displacement response of the structure due to N
modes is
N

u j = n Ynj

(30)

n =1

The approximate strain energy associated with the displacement defined by Equation (30) is

1 T
1 N
1 N 2
T
E sj = u j K u j = Ynj n K n Ynj = n n nYnj2
2
2 n =1
2 n =1
1 N ( n F j )
= 2
2 n =1 n n
T

(31)

The exact static displacement due to the load pattern can be calculated from the solution of the
following static equilibrium equation:
K u j = Fj

(32)

The exact strain energy stored in the structure for the load pattern is calculated from

E sj =

1 T
1
u j K u j = u Tj F j
2
2

(33)

The static load participation ratio is defined as the ratio of the strain energy captured by the
truncated set of vectors, E j , to the total strain energy, E j . For the typical case where = 0 the
ratio is
N

rsj =

(
n =1

T
n

Fj )2

u Tj F j

(34)

It must be pointed out that for LDR vectors, this ratio is always equal to 1.0. Whereas, the
use of the exact dynamic eigenvectors may require a large number of vectors in order to capture
the static load response. Also, if the static mode shapes are excited it is not possible for the
exact dynamic eigenvectors to converge to the exact static solution.
2.5.2.

Dynamic Response

The dynamic load participation ratio is based on the use of the application of the static loads
as a delta function at time zero that produces an initial condition for a free vibration response
analysis of the total structural system. It is well known that any type of time function can be
represented by the sum of these impulse functions applied at different points in time. This type
of loading will produce an initial velocity at the mass points of u&j = M 1F j . Therefore, the total
kinetic input to the system, for a typical load vector j, is given by
E kj =

1 T
1
u&j Mu&j = f Tj M 1F j
2
2

(35)

From Equation (3) the relationship between initial node velocities and the initial modal
velocities is
N

u&j = n Y&nj

(36)

n =1

Therefore, the kinetic energy associated with the truncated set of vectors is
E kj =

1 &T & 1 N
u j M u j = nY&nj2
2
2 n =1

(37)

The initial modal velocity Y&nj is obtained from the solution of Equation (27) as
Y&nj =

nT F j

(38)

Substitution of Equation (38) into Equation (37) yields


E jk =

T
2
1 N ( n F j )

2 n =1 n

(39)

The dynamic load participation ratio is defined as the ratio of the kinetic energy captured by
the truncated set of vectors, E kj , to the total kinetic energy, E kj . For the typical case where
= 0 the ratio is
N

rdj =

(
n =1

T
n n

Fj )2

FTj M 1F j

(40)

A dynamic load participation ratio equal to 1.0 assures that all the energy input is captured for
the dynamic load condition j. In the case of base acceleration loading where the three load
vectors are the directional masses, the dynamic load participation ratios are identical to the mass
participation ratios.
2.5.3.

Automatic Termination of LDR Vectors

Since the LDR vector algorithm starts with a full set of static vectors the static load
participation factor will always equal 1.0. Equation (40), the dynamic load participation factor
can be evaluated after each block of vectors is generated.

Therefore, this factor can be

computed as the vectors are calculated and it can be used as an indicator to automatically
terminate the generation of LDR vectors. Based on experience, a dynamic load participation
ratio of at least 0.95, for all load patterns, will assure accurate results for most types of loading.
This is a very important user option since the number of vectors requested need not be specified
prior to the dynamic analysis.

2.6.

USE OF THE LDR ALGORITHM TO CALCULATE EIGENVECTORS


The LDR vector algorithm, as presented in this paper, generates the complete Krylov

subspace for a specified set of load vectors and errors in the resulting dynamic response analysis
are minimized. If one examines the frequencies associated with the LDR vectors it is found that
all the lower frequencies are identical to the frequencies obtained from an exact eigenvalue
analysis. Since the approach is related to the power method this is to be expected. The higher
modes produced by the LDR vector algorithm are linear combinations of the exact eigenvectors
and components of the static response vectors.

The complete set of LDR vectors is the

optimum set of vectors to solve the dynamic response problem associated with the specified
static load patterns. Therefore, the number of LDR vectors required will always be less than if
the exact eigenvectors were used.
If, for some reason, one wishes to calculate the exact eigenvalues and vectors the same
numerical method can be used. The initial displacement vectors need only be set to random
vectors. If, during the generation, vectors are generated which are identical to previously
calculated vectors they can be replaced with new random displacement vectors. The procedure
can be terminated at any time; however, the higher frequencies will not be exact.

The

introduction of iteration for each block can be used to calculate the exact eigenvalues and
vectors.

Note that if the system contains M masses, the method will generate M exact

eigenvectors; nevertheless, if random load vectors are used directly, instead of F (i ) =MV (i 1) , the
algorithm can continue and will produce Nd-M static response vectors which have infinite
frequencies and zero periods.
2.7.

SUMMARY OF THE COMPLETE LDR VECTOR ALGORITHM


The use of exact eigenvectors to reduce the number of degrees of freedom required to

conduct a dynamic response analysis has significant limitations. The effects of the application
of static loads to massless DOF cannot be taken into account. In addition, for certain types of
loading a large number of vectors are required. On the other hand, a large number of exact
eigenvectors may be calculated that are not excited by the loading on the structure.

The use of static and dynamic LDR vectors, presented in this paper, eliminates the problems
associated with the use of the exact eigenvectors. In addition, the LDR vector algorithm
produces a unified approach to the static and dynamic analysis of many different types of
structural systems. In addition, it is possible to check if an adequate number of vectors are
generated prior to the integration of the equations of motion.

You might also like