CURRENT COMPUTATIONAL METHODS IN STRUCTURAL...

30
i CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICS MATLAB, NEURAL NETWORKS, GENETIC ALGORITHMS KNOWLEDGE BASE EXPERT SYSTEMS Gilberto Mosqueda Abel Sanchez May 20, 1997

Transcript of CURRENT COMPUTATIONAL METHODS IN STRUCTURAL...

Page 1: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

i

CURRENT COMPUTATIONAL METHODS

IN

STRUCTURAL DINAMICS

MATLAB, NEURAL NETWORKS, GENETIC ALGORITHMS

KNOWLEDGE BASE EXPERT SYSTEMS

Gilberto Mosqueda Abel Sanchez

May 20, 1997

Page 2: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

ii

TABLE OF CONTENTS

LIST OF FIGURES_____________________________________________________ iii

INTRODUCTION _______________________________________________________1

PART I ________________________________________________________________2

PROGRAM OVERVIEW__________________________________________________2

CONSTRUCTING A MODEL _____________________________________________3

Model Input Data File ________________________________________________________ 3

Sample Data File ____________________________________________________________ 3

Stiffness Matrix _____________________________________________________________ 4

Mass Matrix ________________________________________________________________ 6

Damping Matrix_____________________________________________________________ 7

VIEW PLOT____________________________________________________________7

VIEW FREQUENCIES___________________________________________________8

STATIC ANALYSIS _____________________________________________________8

DYNAMIC ANALYSIS ___________________________________________________8

MATLAB Tollbox ___________________________________________________________ 9

Newmark Method ___________________________________________________________ 9

Central Difference Method ___________________________________________________ 10

STORAGE SCHEMES __________________________________________________10

TESTING THE PROGRAM ______________________________________________11

PART II ______________________________________________________________12

NEURAL NETWORKS __________________________________________________12

DAMAGE ASSESSMENT USING NEURAL NETWORKS_____________________13

Procedure _________________________________________________________________ 14

STRUCTURAL CONTROL USING NEURAL NETWORKS____________________15

VIBRATION SIGNATURE ANALYSIS USING NEURAL NETWORKS __________16

KNOWLEDGE BASED EXPERT SYSTEMS ________________________________17

Differences From Conventional Programming ___________________________________ 17

System Architecture_________________________________________________________ 19

STRUCTURAL DYNAMIC ANALYSIS USING GENETIC ALGORITHMS _______20

CONCLUSION_________________________________________________________24

APPENDIX:___________________________________________________________27

COMPUTER PROGRAM ___________________________________________________ 27

Page 3: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

iii

LIST OF FIGURES

FIGURE 1. Main menu to control functions of truss analysis program. ___________________________2FIGURE 2. Example of truss system_______________________________________________________3FIGURE 3. Truss element in space. _______________________________________________________4FIGURE 4. Plots obtained from the VIEW PLOT funcition. ____________________________________8FIGURE 5. Input window for Newmark Method. ____________________________________________10FIGURE 6. Sample output graph.________________________________________________________11FIGURE 8. Evolution Process.__________________________________________________________22FIGURE 9. Psudocode for genetic algorithm. ______________________________________________22

Page 4: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

1

INTRODUCTION

This paper will focus on emerging computational methods in the field of structuraldynamics. With this goal in mind a computer program was developed using the increasinglypopular programming language of Matlab. In addition, the following structural dynamicscomputational tools are presented: artificial neural networks; genetic algorithms; and knowledgebase systems.

The reader is strongly encouraged to test the program submitted with this report (3.5 indisk). If access to Athena is convenient the program can also be run from“/afs/athena.mit.edu/user/m/o/mosqueda/Public”, by entering SDYAP at the Matlab prompt.

This report is divided in two sections: part I covers the Matlab program, its theoreticalbases, its logic, and usage instructions; part II presents current computational tools and theirstructural dynamics applications.

Page 5: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

2

PART I

PROGRAM OVERVIEW

A computer program for use with MATLAB was developed for the analysis of 3-

dimensional truss systems. The program is capable of handling several types of analysis including

static and dynamic loading conditions. In the case of static loading, the truss can be subjected to

concentrated loads at the joints. For dynamic analysis, the allowable loading conditions are more

limited. One can apply only one concentrated or sinusoidal force at any joint in the structure in a

direction orthogonal to the global axis. These limitations arise from the complexity of inputting

variable loading conditions that also vary with time. In addition, the truss model can also be

subjected to ground excitation provided an acceleration record exist in the required format. In

calculating the dynamic response, the program provides three options for the time integration, the

MATLAB Toolbox, the Newmark Method, and the Central Difference Method. The program

makes use of user interface controls with options to select between the different functions of the

program and also to enter some of the data.

Upon entering the program, a menu window appears, giving the user the following options

(Fig. 1): INPUT MODEL, VIEW MODEL, VIEW FREQUENCIES, STATIC ANALYSIS,

DYNAMIC ANALYSIS - MATLAB, NEWMARK METHOD -CENTRAL DIFFERENCE

METHOD, and EXIT. In the discussion that follows, each of these functions and their use will be

explained . Specifications will be given on how to input the data and obtain the results.

FIGURE 1. Main menu to control functions of truss analysis program.

Page 6: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

3

CONSTRUCTING A MODEL

The first step in executing the program is to build a truss model. Once the user presses the

‘INPUT MODEL’ button , the program will prompt for the name of the text file containing

information about the nodes and members that make up the truss system. This prompt will occur

at the MATLAB window. It is important to maintain this window within view at all times since

some output and error messages will also appear in this window.

Model Input Data File

It is extremely important that the correct format be implemented when creating the input

file. Each of the required lines of the text file will be discussed in detail.

• LINE 1 contains two words or strings such as Truss Model to identify the file.• LINE 2 contains the number of nodes (nnod) followed by the string Nodes.• LINE 3 contains the number of members (nmem) followed by the string Members.• LINE 4 contains the heading for the nodal data which consist of seven strings• The following nnod lines contain the node number, the 3-D coordinates of the node in space,

and support conditions in each of the three directions ( fixed(1) or free(0) ).• The next line contains six strings that serve as headings for the member data.• The next nmem lines include, in order, the member number, its two end nodes, the Area,

Modulus of Elasticity, and Density of the member.• The following line contains two strings to identify the data for supports at springs.• This is follow by the integer number of springs (nspr), and the string Springs.• The next line includes four strings to label the spring data.• The next nspr lines include the node application number followed by three integers

representing the amount of spring stiffness in each of the global directions.

Sample Data FileAs an example, the data file for the following structure would appear as shown:

pastePAZ, pg(400)

FIGURE 2. Example of truss system

Page 7: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

4

Truss Dat3 nodes3 membersnode xcor ycor zcor xres yres zres 1 0.0 0.0 0.0 1 1 1 2 0.0 60.0 0.0 0 0 1 3 60.0 0.0 0.0 0 1 1

member ni nj Area Modulus Mass-Density 1 1 2 10.0 30000000 0.01 2 2 3 10.0 30000000 0.01 3 3 1 10.0 30000000 0.01

Spring Supports0 springsNode Kx-spr Ky-spr Kz-spr

It is important to note that the mass must be entered as density. Since this is a two

dimensional structure, the z-constrains must all be fixed. Also, since there are no springs present,

no data lines are included under the spring stiffness headings. However, all the headings and the

number of springs are still required.

Once all the data is gathered, the matrices of the system can be computed. Although some

might not be required, both the mass and the stiffness matrix are computed immediately after the

input is obtained.

In building the matrices for a 3-D truss system, three possible movements were considered

per node, the translation in the x, y, and z directions. The rotations at the joints were neglected

since the members are connected by pins. Also, the members were assumed to carry axial forces

only, thus they could only deform axially, and not by shear or bending.

Stiffness Matrix

To build the structure stiffness matrix, a truss member was considered in space with end

nodes i and j and three possible displacements at each node.

FIGURE 3. Truss element in space.

x

y

z node i(xi, yi , zi)

node j(xj, yj , zj)

LGlobalaxis

Page 8: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

5

With given coordinates at both end nodes, the direction cosines can be defined as the ratio

of the projection on the axis in question over the total length of the member. For a truss member

with coordinates (xi, yi , zi) in the ith node and (xj, yj , zj) in the jth node, the direction cosine angles

in the x, y, and z axis respectively are:

Cx x

Lxj i=−

, Cy y

Lyj i=−

, and Cz z

Lzj i=−

.

From the above definitions, the direction cosine vector, alpha, and the stiffness matrix for

the element can now be obtained. For a member with cross-sectional area, A, and length L the

stiffness matrix , Kel, is given by:

[ ]vα = C C Cx y z

kAEL

=

K k kC C C C C

C C C C CC C C C C

elT

x y x z x

x y y z y

x z y z z

= =

r rα α

2

2

2

The global stiffness matrix for the entire structure is simply the sum of element matrices.

To build the matrix, the Kel matrix is added to (row i, column i ) and (row j, column j). It is then

subtracted from (row i, column j) and (row j, column i) where i and j correspond to the end nodes

of the member. In the global matrix, the rows and columns noted as i and j represent the three

possible degrees of freedom at each node. While constructing the stiffness matrix, all boundary

conditions are temporarily removed. Once the matrix is complete, the boundary conditions are

applied to reduce the stiffness matrix to only contain the node directions that are free to translate.

The global stiffness matrix for a system with m members and n nodes can be expressed as:

K Kg el m

m= ∑ ,1

where the matrix of each element is given by

Page 9: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

6

( 1 2 … . i … . j … . n )

K K KK K

el m el el

el el

, = −−

0 0 0 0 00 0 0 0 00 0 00 0 00 0 0 0 0

For use in analysis, the global stiffness matrix needs to be arranged with the free nodes

separated from the restrained joints. Once all the free joint displacements are placed first, the

global matrix will be of the form

KKff KfrKrf Krr

=

where the matrix Kff relates the loads applied at the unrestrained joints to the corresponding

displacements.

Mass Matrix

The program uses the consistent mass matrix for each element. Although a lumped mass

matrix is much easier to compute and requires less storage space, a consistent mass matrix is

known to gives much better results (Bathe). The consistent mass matrix for any element in general

is given by :

Mel H HdVT

V

= ∫ρ

For the case of the three-dimensional truss element, this integral can be simplified to

MelL

=

ρ6

1 0 00 1 00 0 1

Similar to the case of the stiffness matrix, the mass matrix is built for the entire structure,

including the restrained nodes. The mass matrix is then rearranged to obtain the portion of the

matrix corresponding to the degrees of freedom that are free to translate. The complete consistent

mass matrix for the entire structure is given by

M Mg el m

m= ∑ ,1

( 1 2 … . i … . j … . n )

Page 10: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

7

M M MM M

el m el el

el el

, =

0 0 0 0 00 0 0 0 00 0 2 00 0 2 00 0 0 0 0

Damping MatrixIn this program, only one damping ratio is and it is assumed to be the same for all modes

of vibration. The damping matrix is chosen to satisfy the following equation.

φ φ ω ξςiT

j i i ijC = 2

where ςij is the Kronecker delta. Assuming the same damping ratio, ξi for all modes i with

frequency ω i , and mode shape vector φi , the damping matrix, C, can be determined from:

( ) ( )C T= − −Φ Ω Φ1 12ξ

VIEW PLOT

This option allows the user the view the constructed model from different angles. It could

help to insure that the data for the model was entered correctly and that all the members are

connected in the right places. An example of the plots is shown in FIGURE 4.

Page 11: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

8

FIGURE 4. Plots obtained from the VIEW PLOT function.

VIEW FREQUENCIES

View Frequencies displays the frequencies of the structure in radians per second. This

information is very helpful in selecting a time step for the time integration procedures, particularly

for the Central Difference Method.

STATIC ANALYSISThis program allows the user to solve for the displacements of the structure when applied

to static loading at the nodes. The loads on the structure are entered via an input file, which the

program prompts for when the static analysis button is activated. The data file consist of the

number of loaded nodes followed by a listing of those nodes. Assuming the F1=500 in FIG. 1, the

data file would appear as:

Load Data1 loaded nodes

node Px Py Pz 1 500.0 0.0 0.0

The load vector is built by adding in the loads into the appropriate location in the load

vector. This is done by considering the node and direction, and determining its corresponding

location within the stiffness matrix. If the load is applied in the direction of a support, then the

load is ignored. Once all loads have been read into the load vector, the displacement are

determined from the equilibrium equation and displayed on the MATLAB window:

[ ] U K Pf gff f= ⋅− 1

DYNAMIC ANALYSISTo obtain the response of the structure over time, the program performs numerical

integration using one of two methods, the Newmark Method or the Central Difference Method. In

addition, the equations of motion can also be solved using the MATLAB Toolbox for solving

differential equations. The method of choice can be selected from the menu window. Upon

selecting one of the methods, a graphical user interface window will appear to input the integration

parameters, loading conditions, and output desired (FIG. 5).

Page 12: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

9

MATLAB Toolbox

Included in the MATLAB Toolbox is the function LSIM which solves a system of

differential equations. The command LSIM(A,B,C,D,U,T) plots the time response of the linear

system:

&x Ax Buy Cx Bu= += +

In the case of dynamics of structures, the equation of motion can be put into this matrix

form by breaking down the second order equation into two first order equation. This

transformation is as follows:

Mx Cx Kx P t

xx

IM K M C

xx U

P t

&& & ( )&&& &

( )

+ + =

=

+

− − −

0 01 1 1

By solving for the A, B, C, and D matrices, building the time vector, T, and the load matrix U,

where each column in U corresponds to the loading at time in the same column of T.

Newmark Method

In applying the Newmark method, one must select the two parameters, alpha and gamma,

the time step to be used in the integration, and the time for which the response is to be calculated.

In addition, a load must be defined as either constant or sinusoidal. The load magnitude and

duration as well as frequency, if sinusoidal, can also be specified. The load application is entered

by the node number and the preferred direction needs to be selected.

There are two options available to view the results. One can select to view a plot of the

displacement at the point of application or a list of the maximum acceleration, velocity, and

displacements at each node. Either both or just one of these options need be selected. Activating

the ‘Calculate’ button computes the results and displays the selected output. A graph is developed

for the displacement response while the maximum response is listed in the MATLAB window.

Page 13: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

10

FIGURE 5. Input window for Newmark Method.

Another loading option is an acceleration record from a data file. In this case, the

equivalent load vector is assumed to be proportional to the mass and is given by

[ ]R Macc

eq =

The matrix acc is filled with the value of acceleration obtained from the data file.

When using the ground motion loading, the magnitude entry can be used as a multiplier to

change units from the data file if necessary. A graph of the response displacement can also be

obtained by selection the option as well as specifying a point with the load application input.

Central Difference Method The input window for the Central Difference Method is similar to that of the Newmark

Method. The main difference between the two is two Newmark parameters which are not present

in this case.

STORAGE SCHEMESMATLAB has built in functions that allow the for the storage of matrices as sparse. Apart

from reducing storage space required, computations are carried out much faster. Both the stiffness

matrix and the mass matrix are stored in this fashion. One disadvantage was that the whole matrix

instead of just the upper triangular half was stored in order to utilize the matrix functions available

within MATLAB.

Page 14: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

11

TESTING THE PROGRAMThe program was tested and compared to documented examples in the book by PAZ. The

resulting mass matrix, stiffness matrix, and frequencies calculated by the program gave excellent

results as compared with the examples. The response was reasonably close as well. There was

some small difference which could of resulted from the different methods used. In addition, similar

models were compared using the different methods of the program. Some of the results from these

test are included in the appendix. A sample output graph obtained from the program is show in

FIGURE 6.

FIGURE 6. Sample output graph.

Page 15: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

12

PART II

NEURAL NETWORKSIn recent years, there has been a growing interest in a class of computing devices that

operate in a manner analogous to that of biological nervous systems. These devices known as

artificial neural networks (ANN), or connectionist systems, are finding applications in all branches

of science and engineering. In the field of civil engineering consistent applications and use of ANN

only dates back to the beginning of the decade. In spite of its short history, the applications of

ANN in civil engineering have been bast, structural assessment, structural analysis and design,

finite element methods, control, just to mention a few in the field of structural engineering (Topping

95).

The fast acceptance of ANN can be attributed to several factors. The most important are

as fallow:

1. The ability to learn and generalize from examples.2. Produce meaningful solutions to problems even when input data contains errors or is

incomplete.3. Adapt solutions over time to compensate for changing circumstances.4. Process information rapidly and readily between computers.

It is worth noting that points 1-3, are goals which have eluded the conventional electronic digital

computing methods.

Current ANN are much simpler than their biological counter parts. However, the goal of

engineering applications is not to duplicate biological neural networks but to exploit their

information-processing characteristics, such as those of generalization and error tolerance. These

objectives, as has been found, can be achieved with relatively few neurons (Flood 94).

Neural networks are configured from a number of parallel operating processors, termed

neurons, cells, or units, connected into some circuit. The network is constructed from a set of

simple processing units, each capable of only a few computations, such as summation and

threshold logic. The power gained by a neural network is due to the fact that there are many

processors and each processor is connected with many others; much in the same way neurons in

our brain are highly interconnected.

A neural network performs "computations" by propagating changes in activation (i.e. level

of stimulation) between the processors; it stores what it has "learned" as strengths of the

connections between processors. The propagation of activation, and thus the nature of the

Page 16: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

13

"computation" performed by a network, is strongly affected by the strengths of the connections

between processors (Flood 94).

Training procedure as defined by Flood and Kartam: a major concern in the development

of a neural network is determining an appropriate set of weights that make it perform the desired

function. There are many ways that this can be done; the most popular type of these algorithms are

based on supervised training. Typically, supervised training starts with a network comprising an

arbitrary number of hidden neurons, a fixed topology of connections, and randomly selected values

for the weights. The network is then presented with a set of training patterns, each comprising and

example of the problem to be solved (the inputs) and its corresponding solution (the targeted

outputs). Each problem is input into the network in turn, and the resultant output is compared to

the targeted solution providing a measure of total error in the network for the set of training

patterns. The weights are then adjusted by small amounts by some rule (i.e. delta rule) so that on

the next occasion the example problems are presented to the network, the error is reduced, and the

output is closer to that required. Typically, the process is repeated many times until the network is

able the reproduce, to a specified tolerance, the corresponding solutions to each of the example

problems. Following these many examples, it is anticipated that the network is able to generalize

what it has practiced - in essence it is able to learn - to provide accurate solutions to examples of

the problem not used during training (Flood 94).

DAMAGE ASSESSMENT USING NEURAL NETWORKS

Szewczyk and Hajela in their paper “Damage Detection in Structures Based on Feature-

Sensitive Neural Networks”, describe an innovative method for damage assessment using ANN.

A counter propagation neural network (CPNN), which belongs to a class of feature-

sensitive networks, was developed. Essentially, the CPNN may be view as a near optimal look up

table of a functional relation, and its improved version offer such additional features as one pass of

all training data for setting the interconnection weights, a nonlinear interpolation scheme to

improve the generalization capability of the network, and a reduced number of control parameters

(Szewczyck 94). Thus, the major reasons for using a CPNN are: the ease with which the

interconnection weights can be set, and likewise the network trained; its ability to model data for a

large domain of a functional relation; its ability to approximate direct and inverse relations; and

work with incomplete and noisy data which is common place in structural systems.

Page 17: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

14

The damage detection problem was formulated as an inverse static analysis problem,

where, given an experimentally observed response dependent on the stiffness matrix K the objective

is to identify the components Kij of that matrix.

Kd = f d = static displacements

f = prescribed loads

The stiffness matrix was expressed as a function of the material properties and geometrical

characteristics. The strategy was: for a given vector dobs find the vector e such that K(e)dobs = f.

This is based on the following assumptions:

• Structural members with constant geometry.• Introducing damage through variations in the effective Young's and shear moduli used

in computing Kij.• The loss of structural stiffness is introduced through a reduction in the effective

Young's modulus of a member, and vector e, with components Ej, j =1,..., m.• n experimentally observable global displacements, dobs, are available for different

conditions of structural damage

A note is made that the stated problem is mathematically equivalent to obtaining the mapping

φ:d ∈ Rne → e ∈ Rm

e

which can be considered an inverse relation between the known response of a structural system and

the physical state of that system. It is worth mentioning that this formulation may be extended to

other damage models as well, e.g., damping coefficients or natural frequencies related to extent of

damage (Szewczyck 94).

Procedure

Once the output vector representing the response of the system or static displacements d

has been established it is then passed to the CPNN. The CPNN in turn will return a vector of

quantities e representing damage to the structural system. Inspection of the vector components

will reveal the location of the damaged site and a measure of the damage.

For structurally indeterminate structures (the majority) the number of unknowns outnumbers the

number of independent known equations. Thus, most analytical approaches utilize either

Page 18: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

15

optimization techniques or the least-square fit to generate possible solutions. The neural-network

approach is, on the other hand, an approximation technique that handles non unique cases by either

returning one of the possible solutions, or an average taken over all possible solutions, or an

average taken over all possible solutions (Szewczyck 94). This method resulted in qualitatively

good results for Szewczyk and Hajela.

STRUCTURAL CONTROL USING NEURAL NETWORKS

The control of structures for static and dynamic loading can be of two types, passive and active

control. Presently, a large part of the control algorithms developed are based on optimal control.

The standard optimal-control technique has required the entire time history structural response to

compute the necessary control force (Chen 95). Yang and Soong (1988), achieved online control,

by developing an instantaneous optimal-control algorithm for civil engineering structures. In this

algorithm, the optimization is achieved only with in each small time interval in the instantaneous

optimal control, instead of minimizing the objective function in the global sense required by

standard optimal control (Chen 95).

Chen, Tsai, Qi, Yang, and Amini in their paper “Neural Network for Structure Control”,

introduce ANN as an alternative for control of civil engineering structures. “ANN is emerging as a

promising tool and has shown great potential for the purposes of control. It has many attributes,

such as massive parallelism, adaptability, robustness, and the inherent capability to handle

nonlinear systems” (Chen 95).

This paper proposed a backpropagation-through-time neural controller (BTTNC), to be

used in the active control of structures under dynamic loading. Control was implemented using two

components: a neural emulator network, which is trained to represent the structure to be controlled;

and a neural action network, which is trained to determine the control actions on the structure. This

concept was applied to a computer simulation of a seismic event acting on an 10 floor apartment

building. Acceleration sensors were installed on the ground floor, 6th floor, and roof. The results

were successful, the BTTNC performed beautifully in the simulation.

Page 19: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

16

VIBRATION SIGNATURE ANALYSIS USING NEURALNETWORKSBarai and Pandey presented in their paper, “Vibration Signature Analysis Using Artificial Neural

Networks”, a new way of doing signature analysis using ANN.

As presented in this paper structural identification is a process for constructing a

mathematical description of a physical system when both the input and the corresponding output

are known. The principle of structural identification was defined as being based on the fact that

when a structure undergoes various degrees of damage, certain structural characteristics undergo

changes (Barai 95).

Structural identification under dynamic loading can be of two types: frequency based; or

time-domain based. The more common of the two is frequency based identification; its advantages

are that modal information can be expressed in terms of mode shapes, resonant frequencies, and

modal damping ratios; also, the modal vector information of a few nodes for finite-elements or

frame analysis model is adequate to compare model measurements.

(Barai 95).

The typical method of vibration signature analysis defines the baseline vibration signature

before any damage takes place. The vibration signatures are then monitored and if they deviate

from the model the component is taken to have suffered damage.

In this paper signature analysis aided by ANN was applied to bridge assessment, under

dynamic loading. Initially, the bridge vibration signatures are periodically recorded in order to

establish a baseline vibration signature in the time domain The next step was to use multilayer

perceptrons using backpropagation for network training.

The mulitlayer perceptron consists of an array of input neurons, know as the

input layer, an array of output neurons, known as the output layer and a

number of hidden layers. Each neuron receives a weighted sum from the

neurons in the preceding layer and provides an input to every neuron of the

next layer. The activation of each neuron is governed by a threshold function

(Barai 95).

The training patterns for the ANN in terms of vibration signatures were generated

analytically for a moving load traveling on a trussed bridge structure at a constant speed to

simulate the inspection vehicle. Using the finite element technique, the moving forces are converted

Page 20: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

17

into stationary time-dependent force functions in order to generate vibration signals in the structure

and the same is used to train the network (Barai 95). The effectiveness of the network was

demonstrated by comparing the output with the algorithmically generated performance measures

not considered in training (Barai 95).

An important finding made in this publication is that the measurement of a single node,

strategically placed, has been found to be sufficient for identification purposes.

KNOWLEDGE BASED EXPERT SYSTEMS

Expert systems, which sometimes are called knowledge based expert systems (KBES),

have their origins in a field of computer science called Artificial Intelligence (AI). The main goal of

AI, for many years, has been to simulate human intelligence through computer algorithms.

Expert systems are a result of many years of attempting to simulate or reproduce

intelligent problem-solving behavior in a computer program. The early attempts were directed

toward the development of general problem solvers. However, after years of research, it was

determined that general problem solvers are weak, at best, unless specific knowledge about the

problem being solved is added to guide the search for a solution (Maher 87). This determination led

to what is now referred to as expert systems. This change in attitude gave way to what today is

called expert systems. The goal is still the same: to simulate human intelligence. However, now

specific information about the class of problem being solved is coded into the programs knowledge

base.

It should be noted that in the strict definition, a knowledge based system is different than a

knowledge based expert system. The former is a system in which the knowledge is obtained from

an informed person as opposed to the latter where the knowledge is obtained from an expert. In

other words, both systems are alike with one having a higher degree of expertise in the programs

knowledge base.

Differences From Conventional Programming

Conventional programming usually requires an implicit declaration of knowledge, where

knowledge is represented in two ways: static, such as facts, and procedural, like equations and

equations. This coding approach requires a programming expert which makes the program

inflexible and difficult to update.

Page 21: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

18

A prevailing problem in engineering design software is that an expert is required in order

to make any changes to the existing program. In fact, most programs can not be changed by other

than the developer. This produces a process which is very time consuming and expensive resulting

in programs which are usually outdated and inadequate (Lawrence 86).

One of the distinguishing marks of expert systems is their explicit representation of

knowledge. By separating the knowledge from the control strategy (not embedding the knowledge

within the program), the program is not only more flexible and transparent, but also more easily

altered and understood. This is the major advantage of expert systems over conventional programs

(Lawrence 86).

Expert systems are an ideal way to take advantage of expert's knowledge. An example are

engineers which over time are exposed to a great variety of problems. As a result of this process

engineers gain experience in the selection of strategies, the evaluation of results, and the

appropriate selections for preliminary designs. This experience is consciously or subconsciously

translated into a series of rules, other than traditional design guidelines, that serve to increase the

engineers efficiency and improve their accuracy (Finn 85). By organizing these rules, called

heuristics, and coding them into the solution strategy for the expert system, the performance level

of the program can be that of an expert. Hence, one can see that if the knowledge can be extracted

from the expert and implemented in to the knowledge base, the user, regardless of the level of

expertise, can obtain the same results as the expert engineer.

Since in most engineering applications knowledge is constantly changing an added benefit

of expert systems is the added flexibility. Every time an application is expanded or further

developed the current program becomes outdated as mentioned before. However, in an expert

system the separation of knowledge makes it possible to update quickly and effortlessly. In some

systems, even imprecise knowledge can be accommodated by using factors of certainty which will

then produce a number of candidate solutions (Lawrence 86).

Page 22: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

19

System Architecture

What fallow is a piece by piece definition of the expert system architecture as defined by Maher,

see FIGURE 7 (Maher 87).

FIGURE 4. Network Architecture (Maher 87).

Knowledge Base

• The knowledge base is the component of an expert system that contains the facts and heuristicsassociated with the domain in which the expert system is applied.

• An important note to make about heuristics is that they contain information about a type ofproblem with no explicit reference as to how or when the knowledge will be used.

• The knowledge base should be transparent enough so that it can be easily modified.Modification is important in most engineering domains since knowledge is continuallychanging and expanding.

Context

• The context updates information about the problem currently being solved. Thus, initially itcontains the problem's parameters. Later, through KBES reasoning, the information to solvethe system. Last, intermediate steps and solution.

• Said differently, the context is a declarative form of the current state of the problem the expertsystem is solving.

Inference Mechanism

• The inference mechanism is the part of the expert system that contains the control information.The inference mechanism uses the knowledge base to modify and expand the context. If the

User

Expert

KnowledgeAcquisition Facility

Knowledge Base

Inference Mechanism

ContextUser Interface

Explanation Facility

Page 23: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

20

inference mechanism operates at a very low level(providing flexibility in solution strategy), theknowledge base must contain additional control information specific to the application domain.The more specific the inference mechanism, the less control information there is in theknowledge base.

Explanation Facility

• This part of the KBES maintains a trace of the execution used to arrive at the final result. Thisfeature can be an important asset to determine the validity of a particular result or as ateaching tool.

Knowledge Acquisition

• Typically this facility acts like an editor, and knowledge is entered directly, from an expert, ina form acceptable by the used software. Usually the KBES has a graphical editor in which theexpert engineer can modify the rules of the knowledge base.

User Interface

• The user interface as the name implies acts as a liaison between the user and the computerprogram.

An example of an application will be given together with genetic algorithms in the next section.

STRUCTURAL DYNAMIC ANALYSIS USING GENETIC

ALGORITHMS

This section will introduce the foundations of genetic algorithms (GA) as presented in the paper,

“Genetic Algorithms in Discrete Optimization of Steel Truss Roofs” by Koumousis and Georgiou.

The definition and concepts provided are the same as the paper; they are duplicated for the readers

continuity and convenience.

Genetic algorithms are based in on the concept of natural selection and natural genetics.

They rely on the principles of Darwinian theory of survival of the fittest. They efficiently

incorporate information from previous stages to create new search points in the design space,

resulting in an improved performance. Genetic algorithms use random choice as a tool to guide an

exploitative search through a coding of the design space.

Genetic algorithms are different from traditional optimization methods in the following

aspects:

1. Genetic Algorithms work with a coding set of variables and not with the variablesthemselves.

2. They search from a population of points rather than by improving a single point.3. They use objective function information without any gradient information.

Page 24: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

21

4. Their transition scheme is probabilistic whereas traditional methods use gradientinformation.

A defining characteristic of Genetic Algorithms is the coding of the variables that define

the problem. Typically, the variables are transformed to a binary string of specific length. In turn,

this string represents the chromosome of the problem and the length the chromosome represents the

number of zeros and ones in the binary string.

Multiple variable coding is constructed by simply concatenating as many single variable

codings as the number of the variables of the problem. Each variable may have its own length

corresponding to the minimum, maximum values and a step value specified for a particular

application. By decoding the individuals of the initial population, the solution for each specific

instance is determined and the value of the objective function that corresponds to this individual is

evaluated. This applies to all members of the population.

A simple genetic algorithm proceeds by first randomly generating a population of a

specific size. A pseudo random generator is used to generate the initial population. From this

population, the next population is evolved by performing three distinct operations: reproduction,

crossover, and mutation. Based on the statistics of this population the next population is

reproduced following the weighted-roulette-wheel method, following a bias law, which assigns

probabilities to the members analogous to the statistics of the generation. This means that the weak

designs will be assigned small probabilities and the strong designs will be assigned high

probabilities of existence in the next generation. In this way, the next generation evolves where the

fittest have survived and increase their presence, while the weaker designs die out, or disappear

from the generation. This process is exemplified in the figure below.

Page 25: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

22

00001000

11100001

11100001

10110011

00001000

00001000

11100001

01101011

FIGURE 8. Evolution Process.

Pseudo-code for genetic algorithms would be,

FIGURE 9. Psudocode for genetic algorithm.

11100001

10110011

01110000

00001000

01101011

10110111

11100001

01011111

11101000

00000001

10110001

11100011

00001000

00001000

01100001

11101011

11101000

00000001

1”1”110001

11100011

00001000

00001000

01100001

11101011

Selection Crossover Mutation

Old Population New Population

Begin; initialize (oldpop); evaluate(oldpop); do (until gen = maxgen);

reproduction(oldpop); crossover(newpop); mutation(newpop); evaluate(newpop); oldpop = newpop; end;

Page 26: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

23

Start

Initialization

FEM Analysis

Generation = i

Fitness Evaluation

Genetic Operators

Reproduction

Crossover

Mutation

FEM Analysis

ActivateKBS

Generation < Gmax

Stop

Knowledge-BasedSystem

Modify ChromosomeBased on Probability

Yes

No

NoYes (i=i+1)

Flow Chart (Yang 95)(example of a GA and KBS application)

Page 27: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

24

The characteristics of GA combine to perform especially well when solving complicated “real

world” problems because it does not impose similar limitations as those of traditional optimization

and control methods, resulting in a robust technique. As previously discussed, GA is a probabilistic

technique based on the process of evolution and its nature. However, the characteristics that make

it so robust also translate to a more computer intensive and hence slower technique.

Lee and Takagi, proposed a method for controlling GAs using logic techniques based on

experience and intuition. The key advantage of this method is that it can rapidly and effectively

inject expert knowledge gene into the chromosome pool which preserves a lot of genotype

information. Their results showed an improved performance over a simple GA in the classic

inverted pendulum control problem.

Yang and Soh, presented a GA approach with a knowledge based system (see system flow

chart in the previous page). Unlike a pure GA, the suggested procedures introduces a heuristic

rules knowledge based system for local modifications of the design variables which are of great

importance to search efficiency. These heuristics rules help the GA in three ways:

1. They can inject expert experience so that the algorithm can reach the optimum solutionquickly.

2. They give direct guidance to the search which substantially reduces the computingtime.

3. Due to the use of the modification based on the predefined probability, it is possiblefor these rules to reduce the risk of the premature problem in the pure GA, and avoidthe loss of vague information which can also be useful (Yang 95).

CONCLUSIONA program was coded in MATLAB for the analysis of three dimensional trusses. The

program is designed to be user friendly by making use of user interface controls to manage the flow

of the program. The applicable loading conditions are limited due to the difficulty in designing a

user interface to handle many situations. For this type of situation, developing a manageable text

file seemed troublesome as well. The program was tested and compared to some documented

examples and proved to be accurate.

The computational methods introduced, represent some of the current computational tools

found in the current literature. The tools reviewed were focused in structural dynamics

applications. In closing, it is worth mentioning that Matlab has a neural network toolbox with

many of the computational techniques discussed in this paper.

Page 28: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

25

BIBLIOGRAPHY

Flood, I and Kartam, N. (1994) . “ Neural Networks in Civil Engineering. II: Systems andApplication. “ Journal of Computing in Civil Engineering, 149- 161.

Szewczyk, P and Hajela, P. (1994). “Damage Detection In Structures Based on Feature-SensitiveNeural Networks.” Journal of Computing in Civil Engineering, 163-179.

Carpenter, W and Barthelemy, J. (1994). “Common Misconceptions About Neural Networks AsAprroximators.” Journal of Computing in Civil Engineering, 345- 359.

Rogers, J. (1994). “ Simulating Structural Analysis with Neural Network.” Journal of Computing inCivil Engineering, 252-265.

Barai, S. V. and Pandey, P.C, (1995). “Vibration Signature Analysis Using Artificial NeuralNetworks.” Journal of Computing in Civil Engineering, 259-265.

Koumousis, V and Georgiou, P, (1994). “ Genetic Algorithms in Discrete Optimization of Steel TrussRoofs.” Journal of Computing in Civil Engineering, 309- 325.

Chen, H.M, Tsai, K.H, Qi, G.Z, Yang, C.S. and Amini, F, (1995). “ Neural Network for StructureControl. “Journal of Computing in Civil Engineering, 168-175

Flood, I and Kartam, N (1994). “Neural Networks in Civil Engineering. I: Principles andUnderstanding.” Journal of Computing in Civil Engineering, 131-147.

Jenkins, W.M (1995). “The Estimation of Partial String Fitnesses in the Genetic Algorithm.”Developments in Neural Networks and Evolutionary Computing For Civil And StructuralEngineering. 137-141.

Leite, J.P.B and Topping B.H.V (1995). “ Improved Genetic Operators for Structural EngineeringOptimization.” Developments in Neural Networks and Evolutionary Computing For Civil AndStructural Engineering. 143-169

Topping, B.H.V. (1995). “Developments in Neural Networks and Evolutionary Computing For CivilAnd Structural Engineering. “ Civil-Comp Press. Edinburgh, EH3 5BR, UK.

Allen, Robert H. (1992) "Expert Systems for Civil Engineers: Knowledge Representation."American Society of Civil Engineers., New York, New York.

Arockiasamy, M. (1993) " EXPERT SYSTEMS Applications for Structural, Transportation, andEnvironmental Engineering." CRC Press, Inc. Boca Raton, Florida.

Finn, Gavin Alexander. (1985) "The Application of Knowledge-based systems to structuralengineering." Massachusetts Institute of Technology, Cambridge, MA.

Maples, Jr, Thomas Ashley. (1985) "A Knowledge based system for plate girder design."Massachusetts Institute of Technology, Cambridge, MA.

Page 29: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

26

St. Lawrence, Michael Edmond. (1986) "Knowledge based system techniques applied to the designof bridge plate girders." Massachusetts Institute of Technology, Cambridge, MA.

Kartam, N, Flood, I and Garrett, J. Jr (1997). “Artificial Neural Networks for Civil Engineers:Fundamentals and Applications.” ASCE. New York, New York .

Demuth, H and Beale M (1994). “ Neural Network Toolbook for Use with Matlab.” The MathWorks, Inc. Natick, MA.

Lau, C. (1992) “Neural Networks, Theoretical Foundations and Analysis.” IEEE Press. Piscataway,NJ.

Peetathawatchai, C. (1996). “The Applicability of Neural Network Systems for Structural DamageDiagnosis.” Massachusetts Institute of Technology. Cambridge, MA

Paz, Mario. (1991). “Structural dynamics : theory and computation.“ 3rd ed. Van NostrandReinhold. New York.

Bathe, Klaus J. (1996) “Finite Element Procedures.” Prentice Hall. Englewood Cliffs, New Jersey

Lee, M.A., and Takagi, H. (1993). “Dynamic Control of Genetic Algorithms Using Fuzzy LogicTechniques.” Proc. Of the 5th International Conference on Genetic Algorithm, 76-83, July, USA.

Page 30: CURRENT COMPUTATIONAL METHODS IN STRUCTURAL DINAMICSread.pudn.com/downloads163/sourcecode/math/741212/Dynamics_Project.pdf · MATLAB Toolbox, the Newmark Method, and the Central Difference

27

APPENDIX:

COMPUTER PROGRAM