Dynamic anlysis using Matlab

download Dynamic anlysis using Matlab

of 15

description

Dynamic analysis of a structure using MATLAB

Transcript of Dynamic anlysis using Matlab

ELEMENTS OF STRUCTURAL DYNAMICS

8.0 Nonlinear Response of Multi-degree of Freedom SystemsIn 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 step-by-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 AnalysisNonlinear 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 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 BuildingFigure 8.2[footnoteRef:1] shows a similar analysis for a tall building, which includes the effect of geometric stiffness. [1: Robertson, L.E, and See, S.T., The Shanghai World Financial Center, STRUCTURE Magazine, June 2007.]

(a) View of the building. (b) Important structural componentsCourtesy of Kohn Pedersen Fox.

(a) Pushover curve showing sequence of hinge formationFigure 8.2. Static nonlinear analysis of the Shanghai World Financial Center

8.2 Dynamic Nonlinear AnalysisThe 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.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.3 MATLAB ApplicationsFilippou and Constantinides (2004)[footnoteRef: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/. [2: Filip C. Filippou and Margarita Constantinides (2004), FEDEASLab Getting Started Guide andSimulation Examples, Technical Report NEESgrid-2004-22, University of California, Berkeley.]

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.

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 nodeXYZ(2,:) = [ 0 12]; % second node, etcXYZ(3,:) = [ 0 24]; % XYZ(4,:) = [25 0]; %XYZ(5,:) = [25 12]; %XYZ(6,:) = [25 24]; %XYZ(7,:) = [12.5 12]; %XYZ(8,:) = [12.5 24]; % % convert coordinates to inchesXYZ = XYZ.*12;%% Connectivity arrayCON {1} = [ 1 2]; % first story columnsCON {2} = [ 4 5];CON {3} = [ 2 3]; % second story columns CON {4} = [ 5 6];CON {5} = [ 2 7]; % first floor girdersCON {6} = [ 7 5];CON {7} = [ 3 8]; % second floor girdersCON {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 structureModel = Create_Model(XYZ,CON,BOUN,ElemName);%% Display model and show node/element numbering Create_Window (0.70,0.70); % open figure windowPlot_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):

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 propertiesfy = 50; % yield strengtheta = 1.e-5; % strain hardening modulus for multi-component models%% Columns of first story W14x193for 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 W14x145for i=3:4; ElemData{i}.E = 29000; ElemData{i}.A = 42.7; ElemData{i}.I = 1710; ElemData{i}.Mp = 260*fy; ElemData{i}.eta = eta;end%% Girders on first floor W27x94for 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 W24x68for 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 propertiesElemData = 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 ([email protected])% Department of Civil and Environmental Engineering, UC Berkeley%============================================================================%% Initialization: clear memory and define global variables% all units in kip and inchesCleanStart%% Create output fileIOW = 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 propertiesSimpleNLElemData% print element properties (optional)Structure ('data',Model,ElemData);%% 1. Loading (distributed loads and vertical forces on columns)% define loadingfor el=5:6 ElemData{el}.w = [0;-0.50]; endfor el=7:8 ElemData{el}.w = [0;-0.35]; endPe(2,2) = -200; Pe(3,2) = -400;Pe(5,2) = -200;Pe(6,2) = -400;GravLoading = Create_Loading (Model,Pe);%% Nonlinear geometry option for columnsfor el=1:4 ElemData{el}.Geom = 'PDelta'; end%% Incremental analysis for distributed element loading (single load step)% initialize stateState = Initialize_State(Model,ElemData);% initialize solution strategy parametersSolStrat = 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 StateState = Update_State(Model,ElemData,State);% determine resisting force vectorState = Structure ('forc',Model,ElemData,State);% set plot counter and store results for post-processingk = 1;Post(k) = Structure ('post',Model,ElemData,State);%% 2. Loading in sequence: horizontal forces% specify nodal forces% !!!! IMPORTANT!!!! CLEAR PREVIOUS PEclear 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 stepsnostep = 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);endtoc;%% Post-processing% extract displacements from Postnp = 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 windowfig = 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-overCreate_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 locationsCreate_Window(0.70,0.70);Plot_Model(Model);Structure('defo',Model,ElemData,State);

Plot_PlasticHingeswPost(Model,Post(end),State.U);% close output filefclose(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).

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

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).

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

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.

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

Figure 8.10 Base Acceleration time history

8-1