Example posted by: Laura Eads, Stanford University
This example demonstrates how to perform a pushover (nonlinear static) analysis in OpenSees using a 2-story, 1-bay steel moment resisting frame. The nonlinear behavior is represented using the concentrated plasticity concept with rotational springs. These rotational springs follow a bilinear hysteretic response based on the Modified Ibarra Krawinkler Deterioration Model (Ibarra et al. 2005, Lignos and Krawinkler 2009, 2010). For this example, all modes of cyclic deterioration are neglected. A leaning column carrying gravity loads is linked to the frame to simulate P-Delta effects.
The files needed to analyze this structure in OpenSees are included here:
The main file: 2Story-SAPwN.tcl [rename this file before posting]
Supporting procedure files
DisplayModel2D.tcl – displays a 2D perspective of the model
rotSpring2DModIKModel.tcl – creates a nonlinear rotational spring that follows the Modified Ibarra Krawinkler Deterioration Model
rotLeaningCol.tcl – creates a low-stiffness rotational spring used in a leaning column
All files are available in a compressed format here: 2Story-SAPwN.zip [rename this file before posting]
The rest of this example describes the model and compares the analysis results from OpenSees to the results from SAP2000 (http://csiberkeley.com/products_SAP.html).
The 2-story, 1-bay steel moment resisting frame is modeled with elastic Beam-Column Elements connected by zeroLength Elements which serve as rotational springs to represent the structure’s nonlinear behavior. The springs follow a bilinear hysteretic response based on the Modified Ibarra Krawinkler Deterioration Model which will be described in more detail later. A leaning column with gravity loads is linked to the frame by Truss Elements to simulate P-Delta effects. An idealized schematic of the model is presented in Figure 1.
To simplify this model, panel zone contributions are neglected and plastic hinges form at the beam-column joints, i.e., centerline dimensions are used. Subsequent examples will explicitly model the panel zone shear distortions and include reduced beam sections (RBS).
The units of the model are kips, inches, and seconds.
The basic geometry of the frame is defined by input variables for the bay width, height of the first story, and height of a typical (i.e. not the first) story. These values are set as WBay = 360”, HStory1 = 180”, and HStoryTyp = 144”. The leaning column line is located one bay width away from the frame. In addition to the nine beam-column joint nodes, there is one additional node for each spring, which connects the spring to the elastic element. This makes a total of 24 nodes in the structure.
Leaning Columns and Frame Links
The leaning columns are modeled as Elastic Beam-Column Elements. These columns have moments of inertia and areas about two orders of magnitude larger than the frame columns in order to represent aggregate effect of all the gravity columns (Aleaning column = 1,000.0 in2 and Ileaning column = 100,000.0 in4. The columns are connected to the beam-column joint by zeroLength rotational spring elements with very small stiffness values so that the columns do not attract significant moments. These springs are created using rotLeaningCol.tcl.
Truss Elements are used to link the frame and leaning columns and transfer the P-Delta effect. The trusses have areas about two orders of magnitude larger than the frame beams in order to represent aggregate effect of all the gravity beams (Atruss = 1,000.0 in2) and can be assumed to be axially rigid.
Rotational Springs and the Modified Ibarra Krawinkler Deterioration Model
The rotational springs capture the nonlinear behavior of the frame. As previously mentioned, the springs in the example employ a bilinear hysteretic response based on the Modified Ibarra Krawinkler Deterioration Model. Detailed information about this model and the modes of deterioration it simulates can be found in Ibarra et al. (2005) and Lignos and Krawinkler (2009, 2010).
In this example, the zeroLength spring elements connect the elastic frame elements to the beam-column joint nodes. The springs are created using rotSpring2DModIKModel.tcl. The input parameters for the springs’ behavior are determined using empirical relationships developed by Lignos and Krawinkler (2010) which are derived from an extensive database of steel component tests. Alternatively, these input parameters can be determined using approaches similar to those described in FEMA 356 (http://www.fema.gov/library/viewRecord.do?id=1427), ATC-72 and ATC-76 (http://www.atcouncil.org/index.php?option=com_content&view=article&id=45&Itemid=54). In order to simplify the model and compare with SAP2000, cyclic deterioration was ignored. This was accomplished by setting all of the “L” deterioration parameter variables to 1000.0, all of the “c” exponent variables to 1.0, and both “D” rate of cyclic deterioration variables to 1.0.
Stiffness Modifications to Elastic Frame Elements and Rotational Springs
Since a frame member is modeled as an elastic element connected in series with rotational springs at either end, the stiffness of these components must be modified so that the equivalent stiffness of this assembly is equivalent to the stiffness of the actual frame member. Using the approach described in Appendix B of Ibarra and Krawinkler (2005), the rotational springs are made “n” times stiffer than the rotational stiffness of the elastic element in order to avoid numerical problems and allow all damping to be assigned to the elastic element. To ensure the equivalent stiffness of the assembly is equal to the stiffness of the actual frame member, the stiffness of the elastic element must be “(n+1)/n” times greater than the stiffness of the actual frame member. In this example, this is accomplished by making the elastic element’s moment of inertia “(n+1)/n” times greater than the actual frame member’s moment of inertia.
In order to make the nonlinear behavior of the assembly match that of the actual frame member, the strain hardening coefficient (the ratio of post-yield stiffness to elastic stiffness) of the spring must be modified. If the strain hardening coefficient of the actual frame member is denoted αs,mem and the strain hardening coefficient of the spring is denoted αs,spring then
Note that this is a corrected version of Equation B.5 from Ibarra and Krawinkler (2005).
The frame columns are fixed at the base, and the leaning column is pinned at the base. To simulate a rigid diaphragm, the horizontal displacements of all nodes in a given floor are constrained to the leftmost beam-column joint node using the equalDOF command.
The mass is concentrated at the beam-column joints of the frame, and each floor mass is distributed equally among the frame nodes. The mass is assigned using the node command, but could also be assigned with the mass command.
Gravity loads are assigned to the beam-column joint nodes. Gravity loads tributary to the frame members are assigned to the frame nodes while the remaining gravity loads are applied to the leaning columns. The gravity loads are applied as a Constant Time Series load pattern since the gravity loads always act on the structure.
In this example, lateral loads are distributed in proportion each floor’s weight and elevation. Lateral loads are applied to all the frame nodes in a given floor. A Linear Time Series pattern is used for lateral load application so that loads increase with time.
The recorders used in this example include:
The drift recorder to track the story and roof drift histories
The node recorder to track the shear force reaction histories at the supports
The element recorder is used to track the moment and rotation histories of the springs
For the element recorder, the region command was used to assign all column springs to one group and all beam springs to a separate group.
It is important to note that the recorder commands only record information for analyze commands that are called after the recorder commands are called. In this example, the recorders are placed after the gravity analysis so that the steps of the gravity analysis do not appear in the output files.
The structure is first analyzed under gravity loads before the pushover analysis is conducted. The gravity loads are applied using a Load-Controlled static analysis with 10 steps. After this analysis is completed, the time is reset to zero so that the pushover starts from time zero. This is accomplished with the loadConst command.
The pushover analysis is performed using a Displacement-Controlled static analysis. In this example, the structure was pushed to 10% roof drift, or 32.4”. The roof node at Pier 1, node 13 in Figure 1, was chosen as the control node where the displacement was monitored. Incremental displacement steps of 0.01” were used. This step size was used because it is small enough to capture the progression of hinge formation and generate a smooth backbone curve, but not too small that it makes the analysis time unreasonable.
The results of the pushover analysis are shown in Figure 2, along with results from a model built and analyzed in SAP2000. This figure shows the normalized base shear (weight of the structure divided by the base shear) versus the roof drift (roof displacement divided by the roof elevation).
Ibarra, L. F., Medina, R. A., and Krawinkler, H. (2005). “Hysteretic models that incorporate strength and stiffness deterioration,” Earthquake Engineering and Structural Dynamics, Vol. 34, 12, pp. 1489-1511.
Lignos, D. G., and Krawinkler, H. (2009). “Sidesway Collapse of Deteriorating Structural Systems under Seismic Excitations,” Technical Report 172, The John A. Blume Earthquake Engineering Research Center, Department of Civil Engineering, Stanford University, Stanford, CA.
Lignos, D. G., and Krawinkler, H. (2010). “Deterioration Modeling of Steel Beams and Columns in Support to Collapse Prediction of Steel Moment Frames,” ASCE, Journal of Structural Engineering (under review).
Zareian, F., and Medina, R. A. (2010). "A practical method for proper modeling of structural damping in inelastic plane structural systems," Computers & Structures, Vol. 88, 1-2, pp. 45-53.
Figure 1: Schematic representation of OpenSees model with element number labels and [node number] labels. Note: The springs are zeroLength elements, but their sizes are greatly exaggerated in this figure for clarity.