1 2D Corotational Beam Formulation by Louie L. Yaw Walla Walla University November 30, 2009 key words: geometrically nonlinear analysis, 2d corotational beam, variationally consistent, load control, displacement control, generalized displacement control, examples, algorithms, Newton-Raphson, iterations 1 Introduction This article presents information necessary for a simple two-dimensional corotational beam formulation. The derivation closely follows the presentation given by Crisfield [3]. Using this approach a frame structure is allowed to have arbitrarily large displacements and rotations at the global level (so long as local beam element strains are small the results are valid). All beam elements are assumed to remain linear elastic. As with any corotational formulation three ingredients are required. They are (i) the angle of rotation of a co-rotating frame, (ii) the relations between global and local variables and (iii) a variationally consistent tangent stiffness matrix. Each of these ingredients are presented below, however, first some preliminary information is developed. 2 Corotational Concept Consider the corotational concept in terms of beam elements. As a frame structure is loaded the entire frame deforms from its original configuration. During this process an individual beam element potentially does three things; it rotates, translates and deforms. The global displacements of the end nodes of the beam element include information about how the beam element has rotated, translated and deformed. The rotation and translation are rigid body motions, which may be removed from the motion of the beam. If this is done, all that remains are the strain causing deformations of the beam element. The strain causing local deformations are related to the forces induced in the beam element. A corotational formulation seeks to separate rigid body motions from strain producing deformations at the local element level. This is accomplished by attaching a local element reference frame (or coordinate system), which rotates and translates with the beam element. For 2D frames this amounts to attaching a co-rotating frame with origin at node one of the beam such that the Xℓ -axis is always directed along the beam element. The Yℓ -axis is perpendicular to the Xℓ -axis so that the result is a right handed orthogonal coordinate system. With respect to this local co-rotating coordinate frame the rigid body rotations and translations are zero and only local strain producing deformations remain. 3 Axial Strain Consider a typical beam element in its initial and current configurations as shown in Figure 1. For the beam in its initial configuration the global nodal coordinates are defined as (X1 , Y1 ) 2 Y, w 2 L Current β Yℓ 1 Yℓ Xℓ Lo βo 1 Xℓ 2 Initial X, u Figure 1: Initial and current configuration for typical beam element (in this figure ignoring flexural deformations). for node 1 and (X2 , Y2 ) for node 2. The original length of the beam is p Lo = (X2 − X1 )2 + (Y2 − Y1 )2 . (1) For the beam element in its current configuration the global nodal coordinates are (X1 + u1 , Y1 + w1 ) for node 1 and (X2 + u2 , Y2 + w2 ) for node 2, where for example, u1 is the global nodal displacement of node 1 in the X direction and w1 is the global nodal displacement of node 1 in the Y direction. The current length of the beam element is p L = ((X2 + u2 ) − (X1 + u1 ))2 + ((Y2 + w2 ) − (Y1 + w1 ))2 . (2) The local axial displacement of the beam element is calculated as uℓ = L − L o . (3) However, if the difference between L and Lo is small, then (3) is badly conditioned for use in a numerical setting. Therefore, Crisfield [3] advocates multiplying uℓ by (L + Lo )/(L + Lo ) which gives the better conditioned formula uℓ = L2 − L2o . L + Lo (4) The preceding equation essentially provides the relationship between global displacements and the local axial deformation (relation between global and local variables). The axial strain is assumed constant and is calculated as εxℓ = uℓ /Lo . The axial force in the beam is then EAuℓ N= (5) Lo 3 4 Angle of rotation of the co-rotating frame The global coordinates remain fixed throughout the corotational formulation. However, a local co-rotating coordinate frame is attached to each beam element as shown in Figure 1. This co-rotating coordinate frame rotates with the beam element as the beam structure deforms. The current angle of the co-rotating frame with respect to the global coordinate system is denoted as β. In a two-dimensional beam formulation it is helpful to calculate the current sine and cosine values of this angle. This is accomplished with the following expressions which use global variables. cos β = 5 (X2 + u2 ) − (X1 + u1 ) , L sin β = (Y2 + w2 ) − (Y1 + w1 ) L (6) Flexural Deformations Consider next the beam element in its initial and current configurations as shown in Figure 2. Note that the beam has translated, rotated and has local flexural deformations. In the initial and current configurations a line is drawn from node 1 to node 2 which is used as a reference line. In fact, this reference line is the local x-axis. Note that the angles α, θ1 and θ2 are measured from lines parallel to the initial configuration of the beam element. At any point in the nonlinear analysis the initial configuration and the current configuration (ie, current nodal coordinates) are known. From that information, all of the angles shown in Figure 2 are deteremined. The angles θ1 and θ2 are the global nodal rotations calculated from the global matrix equations. If the initial and final angles of the bar, βo and β, are known, then the local nodal rotations are θ1ℓ = θ1 + βo − β, θ2ℓ = θ2 + βo − β. The initial angle of the bar is computed and stored as Y2 − Y1 βo = arctan . X2 − X1 Similarly, the current angle of the bar is computed as Y2 + w2 − (Y1 + w1 ) . β = arctan X2 + u2 − (X1 + u1 ) (7) (8) (9) Equations (7), (8) and (9) are only valid for |β| < π/2 according to de Souza [4], due to use of the arctan function. Extending this to |β| < π requires use of the now common progamming function atan2(dy,dx). However, it is preferrable to avoid any limitation on the range of rotation of the element. Hence, the approach of de Souza [4] is used as follows. Assuming that the local rotations are moderate the first equation of (7) is modified to sin θ1ℓ = sin (θ1 + βo − β) = sin (β1 − β) = cos β sin β1 − sin β cos β1 , (10) where β1 = θ1 + βo . Also, cos θ1ℓ = cos (θ1 + βo − β) = cos (β1 − β) = cos β cos β1 + sin β sin β1 . (11) 4 Y θ2 θ1ℓ θ2ℓ Current α θ1 β Yℓ βo 1 Xℓ 2 Initial X Figure 2: Initial and current configuration, due to flexural deformations, for a typical beam element. Finally, using (10) and (11) cos β sin β1 − sin β cos β1 θ1ℓ = arctan cos β cos β1 + sin β sin β1 . (12) A similar derivation gives the expression for θ2ℓ as cos β sin β2 − sin β cos β2 , θ2ℓ = arctan cos β cos β2 + sin β sin β2 (13) where β2 = θ2 + βo . In the MATLAB implementation the arctan2 function commonly available in modern computer languages was employed. Specifically, the arctan2 function was used in equations (8) and (9). It could also be used in equations (12) and (13), however, this is not necessary. The above method of calculating the local nodal rotations is the key to allowing the rotations of the 2D corotational beam element to be arbitrarily large. Using standard structural analysis results it is possible to show that the local end moments of the beam are related to the arbitrary local nodal rotations as follows: 2EI 2 1 M̄1 θ1ℓ = , (14) M̄2 θ2ℓ 1 2 Lo As additional information, since the local transverse displacements are zero, the local transverse shear forces are calculated based on simple statics once the end moments are known in the local system. Assuming no forces are applied between the nodes of a beam element, and summing moments around node 2, the shear force at node 1 is M̄1 + M̄2 . (15) L Summing forces vertically in the local system gives V2 = −V1 . A similar procedure is used if transverse forces are applied between the nodes. V1 = 5 Y, w δd21 Configuration at small movement from current δα 1 e1 e2 2 β small movement from current configuration δuℓ L Current configuration straight line drawn from 1 to 2 X, u Figure 3: A small movement from the current configuration. 6 Relation between global and local variables Using Figure 3 and geometric arguments a relationship is found between local and global nodal displacements. The arguments proceed as follows. Consider a small movement (variation) δd21 from the current configuration shown in Figure 3 (see (16) for the definition of δd21 ). Using the dot product gives the component of δd21 projected along e1 . That is, the small movement in the axial direction in local coordinates is T T δu2 − δu1 cos β cos β T (16) δd21 = δuℓ = e1 δd21 = δw2 − δw1 sin β sin β where, e1 is the unit vector lying along the line drawn between the beam nodes in the current configuration. In subsequent writing c = cos β and s = sin β is used. Equation (16) is reexpressed as follows: δuℓ = cδu2 − cδu1 + sδw2 − sδw1 = −cδu1 − sδw1 + 0δθ1 + cδu2 + sδw2 + 0δθ2 (17) T = −c −s 0 c s 0 δp = r δp, where δp is the variation of the global displacement vector pT = u1 w1 θ1 u2 w2 θ2 . Equation (17) gives the relationship between the infinitesimal local axial deformation and the infinitesimal global nodal displacements. To find the relationship between local infinitesimal nodal rotations and the global nodal T displacements, first the unit vector e2 is found as e2 = −s c . Next, a small rigid rotation from the current configuration, as shown in Figure 3, gives, for an infinitesimal angle change, an arc length change of Lδα = eT2 δd21 , so that δα = 1 T e δd21 . L 2 (18) 6 In terms of the nodal displacments, p, the equation (18) may be rewritten as T 1 1 δu2 − δu1 −s = (sδu1 − sδu2 − cδw1 + δw2 ) δα = δw2 − δw1 c L L 1 s −c 0 −s c 0 δp. = L (19) Using the last part of (19) to define z, the variation of α is δα = 1 T z δp. L (20) To find δθ ℓ , the variation of equations (7) gives δθ1 − δα δθ1 + δβo − δβ θ1 + βo − β , = = δθ ℓ = δ δθ2 − δα δθ2 + δβo − δβ θ2 + βo − β (21) where in the last step it is recognized that δβo = 0 and δβ = δα. Now expand (21) and substitute (20) for δα, so that in terms of δp ) ( 0 0 1 0 0 0 δp − (1/L)zT δp . (22) δθ ℓ = 0 0 0 0 0 1 δp − (1/L)zT δp Observing that δp is a common factor yields 0 0 1 0 0 0 − δθ ℓ = 0 0 0 0 0 1 1 L zT zT δp = AT δp. (23) Finally, using the result of (17) and (23) the complete vector of infinitesimal local strain producing deformations is δuℓ T r δθ1ℓ δpℓ = δp = Bδp, (24) = AT δθ2ℓ and the final matrix form for B is −c −s 0 c s 0 B = −s/L c/L 1 s/L −c/L 0 . −s/L c/L 0 s/L −c/L 1 (25) Equation (24) is the desired result which provides a relationship between local variables and global variables. 7 The equivalence of virtual work in the local and global systems Virtual work is equivalent in the local and global systems. Hence, δpTv qi = N δuℓv + M̄1 δθ1ℓv + M̄2 δθ2ℓv = δpTℓv qℓi , (26) 7 where qi is the vector of global internal forces for element i, qTℓi = N M̄1 M̄2 and a subscript v implies a virtual quantity. Then, using (24) in (26) gives δpTv qi = (Bδpv )T qℓi = δpTv BT qℓi . (27) Realizing that the δpv are arbitrary virtual displacements, from (27) it follows that qi = BT qℓi , (28) which is straightforward to calculate once the local internal forces,qℓi , are known. For element i the qℓi is found from (5) and (14). 8 Variationally consistent tangent stiffness matrix Taking the variation of (28) leads to the variationally consistent tangent stiffness matrix, that is δqi = BT δqℓi + δBT qℓi = BT δqℓi + N δB1 + M̄1 δB2 + M̄2 δB3 = kt1 δp + ktσ δp, (29) where B2 , for example, is the second column in the matrix BT , kt1 is the transformed material stiffness at the global level and ktσ is the geometric stiffness. The variationally consistent tangent stiffness matrix is kt1 + ktσ . These terms are found next. Taking the variation of (5) and (14) and organizing the result in matrix form leads to δN 1 0 0 EA 0 4r2 2r2 δpℓ = Cℓ δpℓ , δqℓi = δ M̄1 = (30) Lo 2 2 δ M̄2 0 2r 4r p where r = I/A =the radius of gyration. Then, using (30) in the first part of (29) and also using the result of (24) yields BT δqℓi = BT Cℓ δpℓ = BT Cℓ Bδp = kt1 δp. (31) kt1 = BT Cℓ B, (32) Therefore, which is the standard transformed global tangent stiffness (material stiffness) matrix for a 2D beam element. To find the geometric stiffness, use is made of the last three terms in the first line of (29). Taking the variation of the first column of BT yields δB1 = δr = δ −c −s 0 c s 0 T = s −c 0 −s c 0 Recalling from Figure 3 that δβ = δα and using (20) in (33) gives δB1 = 1 T zz δp, L T δβ = zδβ. (33) (34) 8 where zzT is a tensor product sometimes written as z ⊗ z. Taking the variation of the second column of BT yields 1 1 1 z+ − δz. (35) δB2 = δ − z = δ − L L L To find δz see (17), (19) and δz = δ (20) to obtain c s −c s 0 0 = −c −s c −s 0 0 δα = −rδα = −1 T rz δp L To find δ − L1 , using (17) and L = Lo + uℓ , 1 δuℓ 1 = (−1)δ(L−1 ) = (−1)(−L−2 )δuℓ = 2 = 2 rT δp. δ − L L L (36) (37) Now substitute (36) and (37) into (35) to get δB2 = 1 T 1 1 zr δp + 2 rzT δp = 2 (rzT + zrT )δp. 2 L L L (38) Note that rzT and zrT are tensor products. By inspection of BT it is evident that δB3 = δB2 . Therefore, using (34) and (38) in (29) yields ktσ = N T M̄1 + M̄2 T zz + (rz + zrT ) 2 L L (39) Finally, as shown in (29), combining (32) and (39) gives the variationally consistent tangent stiffness matrix as kt = BT Cℓ B + 9 N T M̄1 + M̄2 T zz + (rz + zrT ). 2 L L (40) Load Control Algorithm for Corotational Beam Analysis The following is a load control algorithm for performing a corotational beam analysis. This is an implicit formulation which uses Newton-Raphson iterations at the global level to achieve equilibrium during each incremental load step. Material nonlinearities are not presently included in the algorithm. A program implementing this algorithm has been written in MATLAB and some representative results are provided. The algorithm proceeds as follows: 1. Define/initialize variables 9 • β o =the vector of initial angles of beam members, measured with respect to the global X axis, per equation (8) • A = the vector of member cross-sectional areas, area for member i is Ai • E = the vector of member moduli of elasticity, modulus for member i is Ei • I = the vector of member 2nd area moments of inertia, moment of inertia for member i is Ii • F = the total vector of externally applied global nodal forces • Fn+1 = the current externally applied global nodal force vector • qℓ = the storage vector of local forces, in sequence this column vector contains the N , M̄1 , and M̄2 for member 1, then member 2, and so on up through member nm . • u = the vector of global nodal displacements for the whole structure being analyzed, initially u = 0 • x = the vector of nodal x coordinates in the undeformed configuration • y = the vector of nodal y coordinates in the undeformed configuration • L = the vector of beam element lengths based on current u using equation (2), L for beam i is Li , save the initial lengths in a vector Lo by using equation (1). • c and s = the vectors of cosines and sines for each beam element angle, β, based on the current u using equations (6). • K = Kt1 + Ktσ , the assembled global tangent stiffness matrix, this matrix is assembled from the individual element matrices kt1 + ktσ • Ks = the modified global tangent stiffness matrix to account for supports. Rows and columns associated with zero displacement dofs are set to zero and the diagonal position is set to 1. 2. Start Loop over equal load increments (for n = 0 to ninc − 1). (a) Calculate load factor λ = 1/ninc and incremental force vector dF = λF. (b) Calculate global stiffness matrix K based on current values of c, s, L, Lo , A, E, I and qℓ . (c) Modify K to account for supports and get Ks . (d) Solve for the incremental global nodal displacements du = K−1 s dF (e) Update global nodal displacements, un+1 = un + du (f) Update the global nodal forces, Fn+1 = Fn + dF (g) Routine to update member data using ucurrent = un+1 (see Section 9.1) n+1 (see Section 9.2). (h) Construct the vector of internal global forces Fn+1 int based on qℓ n+1 (i) Calculate the residual R = Fn+1 and modify the residual to account for int − F the required supports. √ (j) Calculate the norm of the residual R = R • R 10 (k) Iterate for equilibrium if necessary. Set up iteration variables. • • • • • Iteration variable = k = 0 tolerance = 10−3 maxiter = 100 δu = 0 qkℓtemp = qn+1 ℓ (l) Start Iterations while R > tolerance and k < maxiter i. Calculate the new global stiffness K based on current values of c, s, L, Lo , A, E, I and qkℓtemp . ii. Modify the global stiffness to account for supports which gives Ks iii. Calculate the correction to un+1 , which is δuk+1 = δuk − K−1 s R, but note that un+1 is not updated until all iterations are completed iv. Routine to update member data using ucurrent = un+1 +δuk+1 (see Section 9.1) k+1 v. Construct the vector of internal global forces Fn+1 int based on qℓtemp (see Section 9.2). n+1 vi. Calculate the residual R = Fn+1 and modify the residual to account int − F for the required supports. √ vii. R = R • R viii. Update iterations counter k = k + 1 (m) End of while loop iterations 3. Update variables to their final value for the current increment • qn+1 = qkℓtemp ℓ n+1 • un+1 f inal = u(0) + δu(k) 4. End Loop over load increments 9.1 Outline of routine to update member data As the structure and beam elements deform it is necessary to update member data. The member updating is based on the current vector of global displacements herein referred to as ucurrent = uc . In the load control scheme outlined above uc is the current value of un+1 or within iterations it is the current value of un+1 + δuk+1 . The member data is updated as follows: • Loop over each element i (for i = 1 to nm ) 1. Calculate the X and Y distances between node 1 and node 2 (using the element displacements stored in uc ) dXi = X2 + u2 − (X1 + u1 ) and dYi = Y2 + w2 − (Y1 + w1 ). p 2. Update the current length of member i, Li = dXi2 + dYi2 , using (2). (41) 11 3. Update the cosine and sine of the current angle β for member i that is cos β = dXi /Li and sin β = dYi /Li , using (6). 4. Calculate the axial displacment of member i using (4) 5. Calculate the axial force, Ni , per (5) 6. Calculate β for member i as atan2(dYi , dXi ) per (9) 7. Calculate β1 and β2 for member i 8. Calculate θ1ℓ and θ2ℓ per (12) and (13) 9. Calculate M̄1 and M̄2 for member i using (14) 10. Update the column vector of local forces qℓi with the new values of N , M̄1 and M̄2 for member i and insert into the storage vector qℓ • End loop over elements 9.2 Calculating internal force vector In the algorithms above the vector qℓ is just a temporary vector to store the current local forces for each beam element i in the given structure. Hence, for a frame structure with nm members the vector qℓ is 3nm by 1 in size. Extracting the 3 term vector qℓi from qℓ the internal force vector, qi , in global coordinates for beam element i is (using equation (28)) qi = BT qℓi . (42) Then by an appropriate assembly procedure, based on beam element degrees of freedom, the global internal force vector, Fint (size 3nnodes × 1) is constructed. That is nm Fint = A qi , i=1 (43) where A is the assembly operator (see Hughes [6]) and nm is the number of beam elements in the structure. 10 10.1 Example Results Cantilever Beam With Tip Load - Load Control A cantilever beam is loaded by a point load at its free end. The initial and final configuration of the beam is shown in Figure 4a. The load displacement results are compared to the analytical solution (see [7] and [12]) in Figure 4b. The load displacement is linear for small loads, but as the load increases the curve is clearly nonlinear. As the load increases further the structure becomes stiffer, which is caused by tension stiffening of the beam in its deformed configuration. The analysis is completed in 20 load increments. For this example, all beam members have a cross-sectional area, A = 4.0 in2 , second area moment of inertia, I = 1.3333 in4 and modulus of elasticity, E = 100 ksi. The beam is 10 inches long and is discretized with 7 equal length beam elements and 8 nodes. The tolerance used for equilibrium iterations is 10−3 . 12 Undeflected(solid) and Deflected(dashed) 2D Beam Structure 10 0 1 2 3 4 5 6 7 8 9 10 9 −1 8 −2 7 6 P (kips) −3 −4 5 4 −5 3 −6 P 2 −7 1 −8 0 0 0 2 4 6 (a) 8 10 Analytical Corotational 1 2 3 4 5 6 7 8 δ (in) (b) Figure 4: Cantilever Beam Analyzed By Load Control: (a) Beam deflected shape, (b) Load versus displacement plot. 10.2 Cantilever Beam Loaded By End Moment - Load Control A cantilever beam is loaded by a moment at its free end. Initial and intermediate configurations of the beam are shown in Figure 5a and when the moment reaches a value of Mc = 2π(EI/L) the cantilever is rolled up into a circle. The load versus vertical tip displacement results are shown in Figure 5b. The load displacement is linear for small loads, but as the load increases the curve is clearly nonlinear. The analysis is completed in 100 load increments. For this example, all beam members have a cross-sectional area, A = 4.0 in2 , second area moment of inertia, I = 1.3333 in4 and modulus of elasticity, E = 100 ksi. The beam is 10 inches long and is discretized with 17 equal length beam elements and 18 nodes. The tolerance used for equilibrium iterations is 10−3 . To illustrate the robustness of the corotational analysis and its ability to handle arbitrarily large rotations Figure 5c illustrates the cantilever beam rolled up upon itself 1, 2 and 3 times. The corresponding load versus vertical tip displacement results are shown in Figure 5d for the case of the beam rolled up 3 times. 10.3 Lee’s Frame - Generalized Displacement Control The load control algorithm previously given is satisfactory for many problems. However, when problems of snap through, snap back, or equilibrium path tracing are encountered load control will not succeed. Control schemes like arc length control [3] or generalized displacement control [11] are necessary to solve such problems. The reader is directed to McGuire et al [9] and Clarke and Hancock [2] for overviews of a variety of control schemes. In the following example generalized displacement control is employed. This method of control is necessary since the equilibrium path includes both snap through and snap back. Lee’s frame [8] is loaded by a point load at the location shown in Figure 6. The beam and column have cross-sectional area of 6 cm2 , moment of inertia of 2 cm4 and linear elastic modulus equal to 7060.8 kN/cm2 . In Figure 7a the initial frame configuration and various 13 Undeflected(solid) and Deflected(dashed) 2D Beam Structure 90 1 0 80 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 c 60 M (kip−in) −2 M c −3 −4 70 M =2 π (EI/L) −1 0.8Mc 50 40 30 −5 10 0.5Mc −7 −8 −2 20 0.2Mc −6 0 0 0 2 4 6 8 1 2 3 10 (a) 4 δy (in) 5 6 7 8 5 6 7 8 (b) 300 Undeflected(solid) and Deflected(dashed) 2D Beam Structure 250 2 1 −1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3Mc Mc=2 π (EI/L) −2 2M −3 Mc c 150 100 50 −4 −5 −2 M (kip−in) 0 200 0 0 0 2 4 (c) 6 8 10 1 2 3 4 δ (in) y (d) Figure 5: Cantilever Beam Loaded With End Moment: (a) Beam deflected shape, (b) Moment versus vertical displacement plot, (c) Roll-up 1,2, and 3 times, (d) Moment versus vertical displacement plot for cantilever rolled up 3 times. 14 P 24 cm 96 cm 120 cm Figure 6: Lee’s Frame Geometry and Loading. deformed configurations are shown. The column is discretized with 8 equal length beam elements, while the beam is discretized with 2 equal length beam elements to the left of the point load and 6 equal length beam elements to the right of the point load. This discretization is sufficiently fine so that the load displacement results of Figure 7b converge and match the results obtained by de Souza [4]. The displacement plotted against load is the vertical displacement of the node under the point load. 10.4 Toggle Frame - Generalized Displacement Control In this example generalized displacement control is employed. This method of control is necessary since the equilibrium path includes snap through. Alternatively, displacement control is sufficient for this problem of snap through only. The toggle frame is loaded by a point load at the location shown in Figure 8. The beams have cross-sectional area of 0.408282 cm2 , moment of inertia of 0.0132651 cm4 and linear elastic modulus equal to 19971.4 kN/cm2 . In Figure 9a the initial frame configuration and deformed configuration is shown. The two beams are discretized with 7 equal length beam elements. This discretization is sufficiently fine so that the load displacement results of Figure 9b converge and match the analytical solution obtained by Williams [10]. The displacement plotted against load is the vertical displacement of the node under the point load. 11 Conclusion A derivation and explanation of the ingredients of a 2D corotational beam formulation, in a small strain setting, is presented. An algorithm for load control is given. A MATLAB 15 Undeflected(solid) and Deflected(dashed) 2D Beam Structure 20 120 9 10 11 12 13 14 15 16 Corotational de Souza 17 P 8 15 100 7 10 6 60 P P (kN) 80 5 P 4 5 40 0 3 20 2 −5 0 1 −10 0 −20 −40 −20 0 20 40 60 80 100 120 140 (a) 20 40 δ (cm) 60 80 100 (b) Figure 7: Lee’s Frame: (a) Deflected shapes, (b) Load versus vertical displacement plot compared to results by de Souza [4]. P 0.98 cm 65.715 cm Figure 8: Toggle Frame Geometry and Loading. 16 Undeflected(solid) and Deflected(dashed) 2D Beam Structure 3 350 2 300 P 250 0 1 2 3 4 5 6 7 8 9 10 11 12 200 13 14 15 P (N) 1 150 −1 100 50 −2 Analytical Co−rotational 0 0 −3 0 10 20 30 40 50 (a) 60 0.2 0.4 0.6 0.8 1 δ (cm) 1.2 1.4 1.6 1.8 y (b) Figure 9: Toggle Frame: (a) Deflected shape, (b) Load versus vertical displacement plot compared to analytical solution by Williams [10] . program was implemented to verify the formulation. Numerical results are provided for a variety of benchmark problems. The corotational method is an effective scheme for including large displacements and large rotations in a common 2D frame analysis program. 12 Acknowledgements Thanks to Leonardo Machado for help finding a programming error in the MATLAB routines. References [1] Jean Marc Battini. Co-rotational beam elements in instability problems. PhD thesis, Royal Institute of Technology, Department of Mechanics, SE-100 44 Stockholm, Sweden, 2002. [2] M. J. Clarke and G. J. Hancock. A study of incremental-iterative strategies for non-linear analyses. International Journal for Numerical Methods in Engineering, 29:1365–1391, 1990. [3] M. A. Crisfield. Non-linear Finite Element Analysis of Solids and Structures – Vol 1. John Wiley & Sons Ltd., Chichester, England, 1991. [4] Remo Magalhães de Souza. Force-based Finite Element for Large Displacement Inelastic Analysis of Frames. PhD thesis, Dept. of Civil and Environmental Engineering, UC Berkeley, 2000. [5] Filip C. Fillipou. Lecture notes - CE221 - nonlinear structural analysis. UC Berkeley, 2007. 17 [6] T. J. R. Hughes. The Finite Element Method - Linear Static and Dynamic Finite Element Analysis. Dover, Mineola, NY, 1st edition, 2000. [7] P. Khosravi, R. Ganesan, and R. Sedaghati. Corotational non-linear analysis of thin plates and shells using a new shell element. International Journal for Numerical Methods in Engineering, 69:859–885, 2007. [8] S. Lee, F.S. Manuel, and E. C. Rossow. Large deflections and stability of elastic frames. J. Engrg. Mech. Div., ASCE, 94(EM2):521–547, 1968. [9] W. McGuire, R. H. Gallagher, and R. D. Ziemian. Matrix structural analysis. Wiley, New York, 2nd edition, 2000. [10] F. W. Williams. An approach to the non-linear behaviour of the members of a rigid jointed plane framework with finite deflections. Quart. Journ. Mech. and Applied Math, 17(Pt.4):451–469, 1964. [11] Y. B. Yang, L. J. Leu, and Judy P. Yang. Key considerations in tracing the postbuckling response of structures with multi winding loops. Mechanics of Advanced Materials and Structures, 14(3):175–189, March 2007. [12] L. L. Yaw. Co-rotational Meshfree Formulation For Large Deformation Inelastic Analysis Of Two-Dimensional Structural Systems. PhD thesis, Dept. of Civil and Environmental Engineering, UC Davis, 2008.