Professional Documents
Culture Documents
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 ro-
tations 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 Xℓ
Lo
Yℓ 2
βo Initial
1 Xℓ 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)
5 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
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ℓ Current
θ2ℓ
α θ1 β
Yℓ 2
βo Initial
1 Xℓ X
Figure 2: Initial and current configuration, due to flexural deformations, for a typical beam
element.
Y, w
Configuration at small
movement from current
δd21
small movement
from current
configuration
e2
e1 2
δα
β
1 δuℓ
L
Current configuration straight
line drawn from 1 to 2 X, u
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:
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
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).
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
δqℓi = δ M̄1 = 0 4r2 2r2 δpℓ = Cℓ δpℓ , (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
Therefore,
kt1 = BT Cℓ B, (32)
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
T T
δB1 = δr = δ −c −s 0 c s 0 = s −c 0 −s c 0 δβ = zδβ. (33)
where zzT is a tensor product sometimes written as z ⊗ z. Taking the variation of the second
column of BT yields
1 1 1
δB2 = δ − z = δ − z+ − δz. (35)
L L L
1 δuℓ 1
δ − = (−1)δ(L−1 ) = (−1)(−L−2 )δuℓ = 2 = 2 rT δp. (37)
L L L
N T M̄1 + M̄2 T
ktσ = zz + 2
(rz + zrT ) (39)
L L
Finally, as shown in (29), combining (32) and (39) gives the variationally consistent tangent
stiffness matrix as
N T M̄1 + M̄2 T
kt = BT Cℓ B + zz + 2
(rz + zrT ). (40)
L L
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 ana-
lyzed, 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 diag-
onal position is set to 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
• qn+1
ℓ = qkℓtemp
• un+1 n+1
f inal = u(0) + δu(k)
1. Calculate the X and Y distances between node 1 and node 2 (using the element
displacements stored in uc )
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
where A is the assembly operator (see Hughes [6]) and nm is the number of beam elements
in the structure.
10 Example Results
10.1 Cantilever Beam With Tip Load - Load Control
A cantilever beam is loaded by a point load at its free end. The initial and final configu-
ration 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 equilib-
rium iterations is 10−3 .
12
0 1 2 3 4 5 6 7 8 9 10
9
−1 8
−2 7
6
−3
P (kips)
5
−4
4
−5
3
−6 P
2
−7 1 Analytical
Corotational
−8 0
0 1 2 3 4 5 6 7 8
0 2 4 6 8 10 δ (in)
(a) (b)
Figure 4: Cantilever Beam Analyzed By Load Control: (a) Beam deflected shape, (b) Load
versus displacement plot.
1 80
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
70
−1 M =2 π (EI/L)
c
60
−2
M (kip−in)
50
M
c
−3
40
−4
0.8Mc 30
−5
20
0.2Mc
−6
0.5Mc
10
−7
0
0 1 2 3 4 5 6 7 8
−8
δy (in)
−2 0 2 4 6 8 10
(a) (b)
300
1 200
M (kip−in)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
3Mc 150
−1 Mc=2 π (EI/L)
2M
−2 c
100
−3 Mc
50
−4
−5
0
0 1 2 3 4 5 6 7 8
δ (in)
−2 0 2 4 6 8 10 y
(c) (d)
Figure 5: Cantilever Beam Loaded With End Moment: (a) Beam deflected shape, (b) Mo-
ment 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
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.
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
80 10
6
P
P (kN)
60 5
5
4
P
40
3 0
20
2
−5
0 1
−20 −10
0 20 40 60 80 100
−40 −20 0 20 40 60 80 100 120 140 δ (cm)
(a) (b)
Figure 7: Lee’s Frame: (a) Deflected shapes, (b) Load versus vertical displacement plot
compared to results by de Souza [4].
0.98 cm
65.715 cm
300
2 P
250
1 8
7 9
6 10
5 11 200
4 12
P (N)
3 13
2 14
0 1 15
150
−1 100
50
−2
Analytical
Co−rotational
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
−3 δ (cm)
0 10 20 30 40 50 60 y
(a) (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.
[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.
[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.
[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 Anal-
ysis Of Two-Dimensional Structural Systems. PhD thesis, Dept. of Civil and Environ-
mental Engineering, UC Davis, 2008.