Вы находитесь на странице: 1из 15

8.

0 Nonlinear Response of Multi-degree of Freedom Systems


In the analysis of structural systems for dynamic loads, there are many instances in which the
physical properties of the system can no longer be assumed to remain constant during the
dynamic response. Any moderate to strong earthquake ground motion will drive a structure
designed by conventional methods into the inelastic range, particularly in certain critical regions
of the structure. The most common source of nonlinear behavior occurs when the elastic limit of
the material is exceeded. However, changes in the axial forces in the structural members
combined with increased lateral displacements can cause changes in the geometric stiffness
coefficients. A very useful numerical integration technique for problems of this type is the stepby-step integration procedure discussed in Chapter 6 with regard to single degree of freedom
systems. This technique also has the advantage that with only a slight modification it can be used
to evaluate the response of both linear and nonlinear, static and dynamic systems. It should also
be noted that when used for linear systems the procedure can be significantly simplified since it
is not necessary to modify the structural properties whenever there is a change in the yield
condition.

8.1 Static Nonlinear Analysis


Nonlinear static analyses are a subset of the step-by-step dynamic analyses and can use the same
solution procedure without the time related inertia forces and damping forces. The equations of
static equilibrium are written in matrix form for a small load increment during which the
behavior of the structure is assumed to be linear elastic.
(8.1)
For computational purposes it is convenient to rewrite this equation in the following form
(8.2)
where Kt is the tangent stiffness matrix for the current load increment, P is the load at the end of
the current load increment and R is the restoring force at the beginning of the load increment
which is defined as
(8.3)
The lateral force distribution is generally based on the distribution of the static equivalent lateral
forces specified in building codes which tend to approximate the first and second modes of
vibration. These forces are increased in a proportional manner by a specified load factor. The
lateral loading is increased until either the structure becomes unstable or a specified limit
condition is attained. This type of nonlinear analysis is generally referred to as a pushover
8-1

analysis and results in a plot of the maximum (roof) displacement versus the base shear is shown
for a six story frame in Figure 8.1. This type of analysis can also be used to determine the
sequence of hinging which can indicate possible problem areas in the structural system. Please
note that the pushover curve shown in Figure 8.1 ignores the effect of geometric stiffness.

(a) Pushover Curve, Six Story Steel Building

(b) Plastic Hinge Formation Sequence

Figure 8.1. Static Nonlinear Analysis, Six Story Steel Building


Figure 8.21 shows a similar analysis for a tall building, which includes the effect of geometric
stiffness.

(a) View of the building.

(b) Important structural components

1 Robertson, L.E, and See, S.T., The Shanghai World Financial Center, STRUCTURE
Magazine, June 2007.
8-2

Courtesy of Kohn Pedersen Fox.

(a) Pushover curve showing sequence of hinge formation


Figure 8.2. Static nonlinear analysis of the Shanghai World Financial Center

8.2 Dynamic Nonlinear Analysis


The primary method for the analysis of arbitrary nonlinear systems is the numerical step-by-step
integration of the equations of motion. One potential difficulty in the step-by-step integration
procedure when applied to multiple degree of freedom systems is that the damping matrix must
be defined explicitly rather than in terms of modal damping ratios. This problem is usually
avoided by estimating the damping in the linear structure and then representing that damping as
Rayleigh Damping which is a linear combination of the mass and stiffness matrices of the
initial elastic system and is represented as a damping function as discussed in Section 7.8.Using
the step-by-step integration procedure in which the acceleration is assumed to be constant during
a time increment, equations similar to Eqs. 6.25 and 6.26 can be developed for the multiple
degree of freedom system which express the acceleration and velocity vectors at the end of the
time increment in terms of the incremental displacement vector and the vectors of initial
conditions at the beginning of the time increment:

(8.4)

(8.5)

8-3

(8.6)

Where

Substituting Eqs.8.5 and 8.6 into Eq. 8.4 and rearranging some terms leads to the pseudo-static
form
(8.7)
Where

;
The incremental displacement vector can be obtained by solving for
. This result can then
be used to obtain the acceleration vector, the velocity vector and the displacement vector at the
end of the time interval. These vectors then become the initial conditions for the next time
interval and the process is repeated.
Output from a nonlinear response analysis of a MDOF system can include response parameters
such as the following: an envelope of maximum story displacements, an envelope of the
maximum relative story displacement divided by the story height (sometimes referred to as the
interstory drift index), an envelope of maximum ductility demand on structural members such as
beams, columns, walls and bracing, an envelope of maximum rotation demand at the ends of
members, an envelope of the maximum story shear, time history of the base shear, moment
versus rotation hysteresis plots for critical plastic hinges, time history plots of story displacement
and time history pots of energy demands (input energy, hysteretic energy , kinetic energy and
dissipative energy). For multiple degree of freedom systems, the definition of ductility is not as
straight-forward as it was for the single degree of freedom systems. Ductility may be expressed
in terms of such parameters as displacement, relative displacement, rotation, curvature or strain.

8-4

8.3 MATLAB Applications


Filippou and Constantinides (2004)2 have developed a MATLAB toolbox for linear and
nonlinear, static and dynamic, structural analysis called FEDEASLab. This toolbox and its
documentation including several application examples are available for download at no charge
from http://fedeaslab.berkeley.edu/.
The FEDEASLab toolbox consists of several functions that are grouped in categories and are
organized in separate directories. These functions operate on five basic data structures, which
represent the model, the loading, the element properties, the state of the structural response, and
the parameters of the solution strategy. To illustrate the utility of FEDEASLab toolbox, an
example application of toolbox to static nonlinear analysis of a 2-story frame shown in Figure
8.3. The frame is once analyzed ignoring second-order effects (also called P- effects), and once
including these effects. These two examples are part of the documentation of the toolbox.

2 Filip C. Filippou and Margarita Constantinides (2004), FEDEASLab Getting


Started Guide andSimulation Examples, Technical Report NEESgrid-2004-22,
University of California, Berkeley.

8-5

Figure 8.3. The geometry and loading of the 2-story frame analyzed with FEDEASLab
MATLAB toolbox.

The lateral loads shown in Figure 8.3 are the loads defining the load shape used for static
nonlinear analysis (units shown are kips and inches).
The Geometry of the frame is defined using the following MATLAB script:
%% ONE BAY, TWO STORY FRAME MODEL
%% Create Model
% all units in kip and inches
%% Node coordinates (in feet!)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
12]; % second node, etc
XYZ(3,:) = [ 0
24]; %
XYZ(4,:) = [25
0]; %
XYZ(5,:) = [25
12]; %
XYZ(6,:) = [25
24]; %

8-6

XYZ(7,:) = [12.5 12]; %


XYZ(8,:) = [12.5 24]; %
% convert coordinates to inches
XYZ = XYZ.*12;
%% Connectivity array
CON {1} = [ 1
2];
% first story columns
CON {2} = [ 4
5];
CON {3} = [ 2
3];
% second story columns
CON {4} = [ 5
6];
CON {5} = [ 2
7];
% first floor girders
CON {6} = [ 7
5];
CON {7} = [ 3
8];
% second floor girders
CON {8} = [ 8
6];
%% Boundary conditions
% (specify only restrained dof's)
BOUN(1,1:3) = [1 1 1]; % (1 = restrained, 0 = free)
BOUN(4,1:3) = [1 1 1];
%% Element type
% Note: any 2 node 3dof/node element can be used at this point!
[ElemName{1:8}] = deal('Lin2dFrm_NLG');
% 2d linear elastic frame element
%% Create model data structure
Model = Create_Model(XYZ,CON,BOUN,ElemName);
%% Display model and show node/element numbering
Create_Window (0.70,0.70);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model

Execution of the above script on MATLAB creates the model and displays its geometry (Figure
8.4):

8-7

Figure 8.4. The node numbering and element connectivity for the 2-story frame analyzed with
FEDEASLab MATLAB toolbox.
Nonlinear element properties are defined by the following script:
%% Define elements
% all units in kip and inches
%% Element name: 2d nonlinear frame element with concentrated inelasticity
[Model.ElemName{1:8}] = deal('OneCo2dFrm_NLG');
% One-component nonlinear
2d frame element
% [Model.ElemName{1:8}] = deal('EPPwHist2dFrm_NLG'); % Elastic-perfectly
plastic nonlinear 2d frame element
% [Model.ElemName{1:8}] = deal('TwoCo2dFrm_NLG');
% Two-component nonlinear
2d frame element
%% Element properties
fy = 50;
% yield strength
eta = 1.e-5;
% strain hardening modulus for multi-component models
%% Columns of first story W14x193
for i=1:2;
ElemData{i}.E = 29000;
ElemData{i}.A = 56.8;
ElemData{i}.I = 2400;
ElemData{i}.Mp = 355*fy;
ElemData{i}.eta = eta;
end
%% Columns of second story W14x145
for i=3:4;
ElemData{i}.E = 29000;
ElemData{i}.A = 42.7;
ElemData{i}.I = 1710;

8-8

ElemData{i}.Mp = 260*fy;
ElemData{i}.eta = eta;
end
%% Girders on first floor W27x94
for i=5:6;
ElemData{i}.E = 29000;
ElemData{i}.A = 27.7;
ElemData{i}.I = 3270;
ElemData{i}.Mp = 278*fy;
ElemData{i}.eta = eta;
end
%% Girders on second floor W24x68
for i=7:8;
ElemData{i}.E = 29000;
ElemData{i}.A = 20.1;
ElemData{i}.I = 1830;
ElemData{i}.Mp = 177*fy;
ElemData{i}.eta = eta;
end
%% Default values for missing element properties
ElemData = Structure ('chec',Model,ElemData);

The script for nonlinear analysis with inclusion of geometric stiffness (P- effects) is as follows:
%% TWO STORY STEEL FRAME, PUSH-OVER ANALYSIS WITH CONSTANT GRAVITY LOADS AND
LATERAL FORCES UNDER LOAD CONTROL for NONLINEAR GEOMETRY
%===========================================================================
% FEDEASLab - Release 2.6, July 2004
% Matlab Finite Elements for Design, Evaluation and Analysis of Structures
% Copyright(c) 1998-2004. The Regents of the University of California. All
Rights Reserved.
% Created by Professor Filip C. Filippou (filippou@ce.berkeley.edu)
% Department of Civil and Environmental Engineering, UC Berkeley
%============================================================================
%% Initialization: clear memory and define global variables
% all units in kip and inches
CleanStart
%% Create output file
IOW = Create_File (mfilename);
%% Create Model
Model_TwoStoryFrm
% echo input data of structural model to output file (optional)
Print_Model (Model,'Push-over analysis of two story steel frame');
%% Element properties
SimpleNLElemData
% print element properties (optional)
Structure ('data',Model,ElemData);
%% 1. Loading (distributed loads and vertical forces on columns)
% define loading
for el=5:6 ElemData{el}.w = [0;-0.50]; end
for el=7:8 ElemData{el}.w = [0;-0.35]; end
Pe(2,2) = -200;
Pe(3,2) = -400;
Pe(5,2) = -200;
Pe(6,2) = -400;
GravLoading = Create_Loading (Model,Pe);

8-9

%% Nonlinear geometry option for columns


for el=1:4 ElemData{el}.Geom = 'PDelta'; end
%% Incremental analysis for distributed element loading (single load step)
% initialize state
State = Initialize_State(Model,ElemData);
% initialize solution strategy parameters
SolStrat = Initialize_SolStrat;
% specify initial load increment (even though it is the same as the default
value and could be omitted)
SolStrat.IncrStrat.Dlam0 = 1;
% initialize analysis sequence
[State SolStrat] = Initialize(Model,ElemData,GravLoading,State,SolStrat);
% apply load in one increment
[State SolStrat] = Increment(Model,ElemData,GravLoading,State,SolStrat);
% perform equilibrium iterations (we assume that convergence will occur!)
[State SolStrat] = Iterate (Model,ElemData,GravLoading,State,SolStrat);
% update State
State = Update_State(Model,ElemData,State);
% determine resisting force vector
State
= Structure ('forc',Model,ElemData,State);
% set plot counter and store results for post-processing
k = 1;
Post(k) = Structure ('post',Model,ElemData,State);
%% 2. Loading in sequence: horizontal forces
% specify nodal forces
% !!!! IMPORTANT!!!! CLEAR PREVIOUS PE
clear Pe;
Pe(2,1) = 20;
Pe(3,1) = 40;
Pe(5,1) = 20;
Pe(6,1) = 40;
LatLoading = Create_Loading (Model,Pe);
%% Incremental analysis for horizontal force pattern (load control is switched
on)
% (gravity forces are left on by not initializing State!)
% specify initial load increment and turn load control on (default value is
'no')
SolStrat.IncrStrat.Dlam0 = 0.40;
SolStrat.IncrStrat.LoadCtrl = 'yes';
SolStrat.IterStrat.LoadCtrl = 'yes';
% specify number of load steps
nostep = 20;
% initialize analysis sequence
[State SolStrat] = Initialize(Model,ElemData,LatLoading,State,SolStrat);
tic;
% for specified number of steps, Increment, Iterate and Update_State (we
assume again convergence!)
for j=1:nostep
[State SolStrat] = Increment(Model,ElemData,LatLoading,State,SolStrat);
[State SolStrat] = Iterate (Model,ElemData,LatLoading,State,SolStrat);
State = Update_State(Model,ElemData,State);
k = k+1;
Post(k) = Structure ('post',Model,ElemData,State);
end
toc;
%% Post-processing

810

% extract displacements from Post


np = length(Post);
x = zeros(np,1);
y = zeros(np,1);
pltDOF = Model.DOF(1,6);
supDOF = [Model.DOF(1,1) Model.DOF(1,4)];
for k=1:np
x(k) = Post(k).U(pltDOF);
y(k) = -sum(Post(k).Pr(supDOF))/120;
end
% plot force displacement relation in new window
fig = Create_Window(0.70,0.70);
ph1 = plot(x,y,'s-');
set (ph1,'MarkerSize',4,'MarkerFaceColor','b');
grid('on');
xlabel ('Horizontal roof displacement');
ylabel ('Load factor {\lambda}');
axis ([0 10 0 3]);
title ('Load factor-displacement');
% plot moment distribution at end of push-over
Create_Window(0.70,0.70);
Plot_Model(Model);
Plot_ForcDistr (Model,ElemData,Post(end),'Mz');
title('Moment distribution and plastic hinge locations near incipient
collapse');
% show plastic hinge locations
Plot_PlasticHingeswPost(Model,Post(end));
% plot deformed shape of structure and plastic hinge locations
Create_Window(0.70,0.70);
Plot_Model(Model);
Structure('defo',Model,ElemData,State);
Plot_PlasticHingeswPost(Model,Post(end),State.U);
% close output file
fclose(IOW);

Upon execution of the script the results of analysis are stored in a results file and the moment
diagram, the deformed shape at the end of time steps, and the force-displacement diagram are
displayed (Figures 8.5 to 8.7).

811

Moment distribution and plastic hinge locations near incipient collapse

Figure 8.5 Moment distribution and plastic hinge locations at the end of pushover analysis

Figure 8.6 Displaced shape of the frame at the end of pushover analysis

812

2.5

Load factor

1.5

0.5

0
0

Horizontal roof displacement

10

Figure 8.7 Force displacement diagram for push-over analysis including geometric stiffness.
Notice that if geometric stiffness was not considered, the following force-displacement curve
would result which would erroneously indicate that the capacity will never drop that indicated by
material strength (Figure 8.8).
3

2.5

Load factor

1.5

0.5

0
0

Horizontal roof displacement

10

Figure 8.8 Force displacement diagram for push-over analysis without geometric stiffness.
813

FEDEASLab is also capable of performing nonlinear dynamic analysis. For example, Figure 8.9
shows roof displacement of this 2-story frame when the frame is subjected to ground motion
acceleration shown in Figure 8.10. Notice the fact that the frame never comes back to its initial
position and exhibits significant permanent deformation which is an indication of severe damage.

Roof displacement (in)

10

10

Time (sec.)

10

15

Figure 8.9 Dynamic roof displacement response of the 2-story frame when subjected to base
acceleration history of Figure 8.10

814

400

Acceleration (in/s2)

300
200
100
0
100
200
300
0

Time (sec.)

10

15

Figure 8.10 Base Acceleration time history

815

Вам также может понравиться