2D Corotational Truss

  • Upload
    ritolab

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

  • 8/9/2019 2D Corotational Truss

    1/15

    1

    2D Co-rotational Truss Formulationby Louie L. Yaw

    Walla Walla UniversityApril 23, 2009

    key words: geometrically nonlinear analysis, 2d co-rotational truss, corotational truss, vari-ationally consistent, load control, displacement control, generalized displacement control,examples, algorithms, Newton-Raphson, iterations

    Introduction

    This article presents information necessary for a simple two-dimensional co-rotationaltruss formulation. The truss structure is allowed to have arbitrarily large displacements androtations at the global level (so long as local truss element strains are small the results arevalid). All truss elements are assumed to remain linear elastic. As with any co-rotationalformulation three ingredients are required. They are (i) the relations between global andlocal variables, (ii) the angle of rotation of a co-rotating frame, (iii) and a variationally con-sistent tangent stiffness matrix. Each of theses ingredients are presented below, however,rst some preliminary information is developed.

    Co-rotational Concept

    Let us consider the co-rotational concept in terms of truss elements. As a truss structureis loaded the entire truss deforms from its original conguration. During this process anindividual element potentially does three things; it rotates, translates and deforms. Theglobal displacements of the end nodes of the truss element include information about howthe truss element has rotated, translated and deformed. The rotation and translation arerigid body motions, which may be removed from the motion of the truss. If this is done, allthat remains are the strain causing deformations of the truss element. The strain causinglocal deformations are related to the force induced in the truss element. A co-rotationalformulation seeks to separate rigid body motions from strain producing deformations at thelocal element level. This is accomplished by attaching a local element reference frame (orcoordinate system), which rotates and translates with the truss element. For 2D trusses thisamounts to attaching a co-rotating frame with origin at node one of the truss such that thex-axis is always directed along the truss element. The y-axis is perpendicular to the x-axisso 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 onlylocal strain producing deformations along the x-axis remain.

    Preliminary Information

    Consider a typical truss member in its initial and current congurations as shown inFigure 1. For the truss member in its initial conguration the global nodal coordinates aredened as (X 1, Y 1) for node 1 and (X 2, Y 2) for node 2. The original length of the trussmember is

    Lo =

    (X 2 X 1)

    2 + ( Y 2 Y 1)2. (1)

  • 8/9/2019 2D Corotational Truss

    2/15

  • 8/9/2019 2D Corotational Truss

    3/15

    3

    Angle of rotation of the co-rotating frame

    The global coordinates remain xed throughout the co-rotational formulation. However,a local co-rotating coordinate frame is attached to each truss member as shown in Figure1. This co-rotating coordinate frame rotates with the truss member as the truss structuredeforms. The current angle of the co-rotating frame with respect to the global coordinatesystem is denoted as . In a two-dimensional truss formulation it is helpful to calculatethe current sine and cosine values of this angle. This is accomplished with the followingexpressions which use global variables.

    cos = (X 2 + vX 2) (X 1 + vX 1)

    L , sin =

    (Y 2 + vY 2) (Y 1 + vY 1)L

    (4)

    Variationally consistent tangent stiffness matrix

    To nd the variationally consistent tangent stiffness matrix recall that the potentialenergy, U, of a spring is written as follows:

    U (d) = 12

    kd2 (5)

    In this case d is the axial displacement of the spring (or truss bar) and k is the spring (ortruss bar) stiffness. For the case of a truss bar the stiffness is AE/L o , where A is the cross-sectional area of the truss bar and E is the modulus of elasticity of the bar material. Next,dene a vector of global nodal displacements for a typical truss member as

    v =

    vX 1

    vY 1vX 2vY 2

    . (6)

    The internal force vector f g at the global level is found by taking the derivative of thepotential energy with respect to the vector of global nodal displacements. That is

    f g = U v

    = kd

    dv X 1

    dv Y 1

    dv X 2

    dv Y 2

    . (7)

    Now dene the axial force in the truss member as

    N = kd = AE

    Lod. (8)

    To nd the partial derivatives in (7) observe that for example

    dvX 1

    = (L Lo)

    vX 1=

    LvX 1

    . (9)

  • 8/9/2019 2D Corotational Truss

    4/15

    4

    Then by using (2) it can be shown that

    LvX 1

    = cos , L

    vY 1= sin (10)

    LvX 2 = cos ,

    LvY 2 = sin . (11)

    Hence, using these last expressions in (7) gives

    f g = N cos sin cos sin

    . (12)

    This last relation expresses the global force components for a single truss member as a func-tion of the local internal axial force, N . This is an important relationship for constructing theinternal force vector in global coordinates. In traditional truss formulations the relationshipbetween global and local forces is sometimes written as

    f g = T T f =

    c s 0 0

    s c 0 00 0 c s0 0 s c

    T

    N 0N 0

    , (13)

    where the result is identical to (12) and T is the traditional transformation matrix.The variationally consistent tangent stiffness is found by taking the second derivative of

    the potential energy with respect to the global nodal displacement vector as follows: 2U v 2

    = f v

    = v

    (kdd v

    ) = kdv

    dv

    T

    + kd 2dv 2

    = K M + K G . (14)

    The tangent stiffness matrix is composed of two terms, the material stiffness, K M , and thegeometric stiffness, K G . Substituting into the expression for the material stiffness gives

    K M = AE

    Lo

    cscs

    [c s c s] (15)

    where the column vector and row vector are multiplied together as a tensor product whichresults in the following standard expression for the global stiffness of a typical truss member.

    K M = AE

    Lo

    c2 sc c2

    scsc s2 sc s2

    c2

    sc c2 sc

    sc s2 sc s2

    = T T kT (16)

  • 8/9/2019 2D Corotational Truss

    5/15

    5

    where T is the standard transformation matrix given previously and k is the local trussstiffness matrix given as

    k = AE

    Lo

    1 0 1 00 0 0 0

    1 0 1 0

    0 0 0 0

    . (17)

    To nd the geometric stiffness matrix the second derivatives of d with respect to v mustbe determined. Noting that

    2d v 2

    = 2L v 2

    (18)

    it then can be shown that 2Lv2X 1

    = s2

    L,

    2Lv2Y 1

    = c2

    L,

    2LvX 1vY 1

    = csL

    , etc. (19)

    so that

    K G = N L

    s2

    cs s2

    cscs c2 cs c

    2

    s2 cs s2 cscs c

    2cs c

    2

    . (20)

    The last expression for K G is equivalent to

    K G = T T N L

    0 0 0 00 1 0 10 0 0 00 1 0 1

    T . (21)

    The matrix expression in parenthesis comes about by considering geometric effects in a smallstrain setting (see Cook and Malkus...). By considering geometric effects in a large strainsetting the traditional geometric stiffness is obtained as

    K G = T T N L

    1 0 1 00 1 0 11 0 1 00 1 0 1

    T = N L

    1 0 1 00 1 0 11 0 1 00 1 0 1

    (22)

    where the nal expression comes about due to the fact that the geometric stiffness is invariantwith respect to rotations (ie, K G = T T K G T ) and is therefore identical in the local and globalcoordinate system.

    For an alternative derivation the reader is directed to the work by Criseld.

    Load Control Algorithm for Co-rotational Truss Analysis

    The following is a load control algorithm for performing a co-rotational truss analysis.This is an implicit formulation which uses Newton-Raphson iterations at the global levelto achieve equilibrium during each incremental load step. Material nonlinearities are notpresently included in the algorithm. A program implementing this algorithm has been writ-ten in MATLAB and some representative results are provided. The algorithm proceeds asfollows:

  • 8/9/2019 2D Corotational Truss

    6/15

    6

    1. Dene/initialize variables

    F = the total vector of externally applied global nodal forces F

    n +1 = the current externally applied global nodal force vector

    N = the vector of truss axial forces, axial force in truss element i is N i u = the vector of global nodal displacements, initially u = 0 x = the vector of nodal x coordinates in the undeformed conguration y = the vector of nodal y coordinates in the undeformed conguration L = the vector of truss element lengths based on current u using equation (2), Lfor truss 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 truss element angle based onthe current u using equations (4).

    K = KM

    + KG

    , the assembled global tangent stiffness matrix K s = the modied global tangent stiffness matrix to account for supports. Rowsand columns associated with zero displacement dofs are set to zero and the diag-

    onal position is set to 1.

    2. Start Loop over 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 and N .

    (c) Modify K to account for supports and get K s .

    (d) Solve for the incremental global nodal displacements du = K 1s dF(e) Update global nodal displacements, u n +1 = u n + du

    (f) Update the global nodal forces, F n +1 = F n + dF

    (g) Update L,c and s

    (h) Calculate the vector of new internal truss element axial forces N n +1 . For trusselement i the axial force is N n +1i = ( Ai E/L oi ) [Li Loi ].

    (i) Construct the vector of internal global forces F n +1int based on N n +1 .(j) Calculate the residual R = F n +1int

    F n +1 and modify the residual to account for

    the required supports.(k) Calculate the norm of the residual R = R R(l) Iterate for equilibrium if necessary. Set up iteration variables.

    Iteration variable = k = 0 tolerance = 10

    6

    maxiter = 100 u = 0 N temp = N

    n +1

  • 8/9/2019 2D Corotational Truss

    7/15

    7

    (m) Start Iterations while R > tolerance and k < maxiteri. N temp = N n +1

    ii. Calculate the new global stiffness Kiii. Modify the global stiffness to account for supports which gives K s

    iv. Calculate the correction to u n +1 , which is u k+1 = u k K 1s R , but notethat u n +1 is not updated until all iterations are completedv. Update L,c and s based on current u n +1 + u k+1

    vi. Calculate the vector of new internal truss element axial forces N k+1temp . Fortruss element i the axial force is (N k+1temp ) i = ( Ai E/L oi ) [Li Loi ].

    vii. Construct the vector of internal global forces F n +1int based on Nk+1temp .

    viii. Calculate the residual R = F n +1int Fn +1 and modify the residual to account

    for the required supports.ix. R = R Rx. Update iterations counter k = k + 1

    (n) End of while loop iterations

    3. Update variables to their nal value for the current increment

    Nn +1 = N temp

    un +1final = u

    n +1(0) + u (k )

    4. End Loop over load increments

    Load Control Example Results

    A cantilever truss is loaded by a point load at its free end. The initial and nal cong-uration of the truss is shown in Figure 2a. The load displacement results are shown in theplot of Figure 2b. The load displacement is linear for small loads, but as the load increasesthe curve is clearly nonlinear. As the load increases further the structure becomes stiffer,which is caused by tension stiffening of the truss in its deformed conguration. The anal-ysis is completed in 50 equal load increments. For this example, all truss members have across-sectional area, A = 0.1 in2, and modulus of elasticity, E = 29000 ksi. The truss is 10inches long with 0.5 inch long vertical members and 0 .5 inch long horizontal members. As aresult of the above dimensions there are 42 nodes and 81 members. The tolerance used for

    equilibrium iterations is 10

    6.

    Co-rotational algorithm Displacement control

    The following implicit algorithm uses Newton-Raphson iterations within each specieddisplacement increment to enforce global equilibrium for the truss structure (see Clarkeand Hancock for displacement control details). The specied displacement increments areprescribed at a structure dof chosen by the user. Typically this is the structure dof of maximum displacement in the dof direction. Here equal size displacement increments areused. The algorithm proceeds as follows:

  • 8/9/2019 2D Corotational Truss

    8/15

    8

    0 1 2 3 4 5 6 7 8 9 10

    8

    7

    6

    5

    4

    3

    2

    1

    0

    1

    xcoordinates

    y c o o r d

    i n a

    t e s

    Undeflected(solid) and Deflected(dashed) Truss

    Blue(C), Black(T)

    (a)

    0 1 2 3 4 5 6 7 80

    2

    4

    6

    8

    10

    12

    14

    16

    18

    20Load vs Displacement

    (in)

    P (

    k i p s

    )

    (b)

    Figure 2: Cantilever Truss Analyzed By Load Control: (a) Truss deected shape, (b) Loadversus displacement plot.

  • 8/9/2019 2D Corotational Truss

    9/15

    9

    1. Dene/initialize variables

    Dmax = the user specied maximum displacement at dof q ninc = the user specied number of displacement increments to reach Dmax

    uq = Dmax /ninc = the specied incremental displacement at dof q F = the total vector of externally applied global nodal forces F

    n +1 = the current externally applied global nodal force vector

    n +1 = the current load ratio, that is n +1 F = F n + dF = F n + dn +1 F = F n +1 ,

    the load ratio starts out equal to zero

    N = the vector of truss axial forces, axial force in truss element i is N i u = the vector of global nodal displacements, initially u = 0 x = the vector of nodal x coordinates in the undeformed conguration

    y = the vector of nodal y coordinates in the undeformed conguration L = the vector of truss element lengths based on current u using equation (2), Lfor truss i is Li , save the initial lengths in a vector Lo using equation (1) c and s = the vectors of cosines and sines for each truss element angle based onthe current u using equations (4). K = K M + K G , the assembled global tangent stiffness matrix K s = the modied global tangent stiffness matrix to account for supports. Rowsand columns associated with zero displacement dofs are set to zero and the diag-

    onal position is set to 1.

    2. Start Loop over load increments (for n = 0 to ninc 1).(a) Calculate global stiffness matrix K based on current values of c, s , L and N .(b) Modify K to account for supports and get K s .(c) Calculate the incremental load ratio dn +1 . The incremental load ratio is calcu-

    lated as follows. Calculate a displacement vector based on the current stiffness,that is u = K 1s F . Take from u the displacement in the direction of dof q , thatis uq . Then dn +1 = uq/ uq . Update load ratio n +1 = n + dn +1 .

    (d) Calculate the incremental force vector dF = dn +1 F .

    (e) Solve for the incremental global nodal displacements du = K 1s dF(f) Update global nodal displacements, u n +1 = u n + du

    (g) Update L,c and s

    (h) Calculate the vector of new internal truss element axial forces N n +1 . For trusselement i the axial force is N n +1i = ( Ai E/L oi ) [Li Loi ].

    (i) Construct the vector of internal global forces F n +1int based on N n +1 .(j) Calculate the residual R = n +1 F F

    n +1int and modify the residual to account for

    the required supports.

  • 8/9/2019 2D Corotational Truss

    10/15

    10

    (k) Calculate the norm of the residual R = R R(l) Iterate for equilibrium if necessary. Set up iteration variables.

    Iteration variable = k = 0

    tolerance = 10 6

    maxiter = 100 u = 0 = 0 N temp = N

    n +1

    (m) Start Iterations while R > tolerance and k < maxiter

    i. N temp = N n +1

    ii. Calculate the new global stiffness Kiii. Modify the global stiffness to account for supports which gives K s

    iv. Calculate the load ratio correction k+1 . The load ratio correction is calcu-lated as follows. Calculate u = K 1s R and u = K 1s F . From u and u extract

    the component of displacement in the direction of dof q , that is uq and uq .Then k+1 = k uq/ uq .

    v. Calculate the correction to u n +1 , which is u k+1 = u k + K 1s [R (uq/ uq)F ],but note that u n +1 is not updated until all iterations are completedvi. Update L,c and s based on current u n +1 + u k+1

    vii. Calculate the vector of new internal truss element axial forces N k+1temp . Fortruss element i the axial force is (N k+1temp ) i = ( Ai E/L oi ) [Li Loi ].

    viii. Construct the vector of internal global forces F n +1int based on Nk+1temp .

    ix. Calculate the residual R = ( n +1 + k+1 )F Fn +1int and modify the residual

    to account for the required supports.x. R = R R

    xi. Update iterations counter k = k + 1

    (n) End of while loop iterations

    3. Update variables to their nal value for the current increment

    n +1final =

    n +1(0) + k

    Nn +1

    = N temp

    un +1final = u

    n +1(0) + u (k )

    4. End Loop over load increments

    Displacement Control Example Results

    A parabolic arch truss is loaded by a point load at midspan. The initial and nal con-guration of the truss is shown in Figure 3a. The load displacement results are shown inthe plot of Figure 3b. The phenomenon of snap through buckling is illustrated in the load

  • 8/9/2019 2D Corotational Truss

    11/15

  • 8/9/2019 2D Corotational Truss

    12/15

    12

    0 2 4 6 8 10

    4

    3

    2

    1

    0

    1

    2

    3

    4

    xcoordinates

    y c o o r d

    i n a

    t e s

    Undeflected(solid) and Deflected(dashed) Truss

    Blue(C), Black(T)

    (a)

    0 0.5 1 1.5 2 2.510

    0

    10

    20

    30

    40

    50

    60

    70Load vs Displacement

    (in)

    P (

    k i p s

    )

    (b)

    Figure 3: Parabolic Arch Truss With Midspan Point Load Analyzed By Displacement Con-

    trol: (a) Truss deected shape, (b) Load versus displacement plot.

  • 8/9/2019 2D Corotational Truss

    13/15

    13

    3 2 1 0 1 2 33

    2

    1

    0

    1

    2

    xcoordinates

    y c o o r d

    i n a

    t e s

    Undeflected(solid) and Deflected(dashed) Truss

    Blue(C), Black(T)

    12 3

    4 56 7

    8 910

    1112

    1314

    1516

    1718

    1920

    2122

    2324

    2526

    2728

    2930

    3132

    3334

    3536

    3738

    3940

    4142

    P

    (a)

    0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.680

    60

    40

    20

    0

    20

    40

    60

    80

    100

    120Load vs Displacement

    (in)

    P ( k i p s

    )

    (b)

    Figure 4: Circular Arch Truss Analyzed By Generalized Displacement Control With OffsetPoint Load At Node 20: (a) Truss deected shape, (b) Load versus displacement plot.

  • 8/9/2019 2D Corotational Truss

    14/15

    14

    + P

    +

    Lz

    node 1

    node 2

    (a)

    0 2 4 6 8 10 120

    2

    4

    6

    8

    10

    | | (mm)

    | P | ( N )

    ExactCorotational w/ NR iterationsCorotational w/o NR iterations

    (b)

    Figure 5: Single bar with one degree of freedom: (a) single bar truss structure in unde-formed conguration; (b) results for downward applied load P as a nonlinear function of displacement (absolute values of load and displacement are plotted).

    If a total load of 9.5 N (downwards) is applied to node 2 using load control in threeequal load increments the graph of Figure 5b is obtained, where the absolute values of loadand displacement are plotted. Results are shown for three cases, (i) the exact solution, (ii)a co-rotational truss solution with Newton-Raphson iterations and (iii) a co-rotational trusssolution without Newton-Raphson iterations. The numerical results, for the three cases, aregiven in Table 1.

    For the solution using Newton-Raphson iterations the tolerance required for equilibriumwas set at 10 6, and the number of iterations required for equilibrium were 3, 3 and 11for load steps 1, 2 and 3 respectively. It is evident from Figure 5b that the solution driftsfrom the exact solution when no Newton-Raphson iterations are used to achieve equilibrium.However, by including Newton-Raphson iterations the numerical results closely match theexact solution.

    The exact solution for P as a function of is given by Criseld and is expressed as follows.

    P ( ) = EA

    L3 (z 2 +

    32

    z 2 + 12

    3). (25)

    The equation for P ( ) is used to plot the exact solution in Figure 5b.It is worth noting that if the solution is plotted for higher displacement values the phe-

    nomenon of snap through (like Figure 3b) is observed. Hence, the exact solution givenabove is helpful for verifying results for a co-rotational truss formulation using displacementcontrol, arc length control or generalized displacement control.

    Load P (N) exact (mm) NR (mm) noNR (mm)-3.1667 -1.7660 -1.76605 -1.58333-6.3333 -4.1367 -4.1367 -3.52362-9.5000 -9.2539 -9.25387 -6.13211

    Table 1: Load and displacement at node 2.

  • 8/9/2019 2D Corotational Truss

    15/15

    15

    Conclusion

    A derivation and explanation of the ingredients of a 2D co-rotational truss formulation, ina small strain setting, is provided. An algorithm for load control is provided with an examplegure. An algorithm for displacement control is also provided with an example gure. Arclength and generalized displacement control are also identied as possible control schemes.Last, an example is provided with numerical results for comparison.

    References

    Robert D. Cook, David S. Malkus, and Michael E. Plesha, Concepts and Applications of Finite Element Analysis , 3rd Edition, Wiley.

    Felippa, C. A. (1998). The co-rotational description: 2D bar example, Chapter 13, pp.131 to 138. University of Colorado Boulder: Online Lecture Notes Department of AerospaceEngineering Sciences and Center for Aerospace Structures.

    Criseld, M. A. (1991). Non-linear Finite Element Analysis of Solids and Structures Vol 1. Chichester, England: John Wiley & Sons Ltd.

    M. J. Clarke and G. J. Hancock. A study of incremental-iterative strategies for non-linearanalyses. International Journal for Numerical Methods in Engineering , 29 :1365-1391, 1990.

    Y. B. Yang, L. J. Leu, and Judy P. Yang, Key Considerations in Tracing the PostbucklingResponse of Structures with Multi Winding Loops, Mechanics of Advanced Materials and Structures , 14:175-189, 2007.

    McGuire, W., Gallagher, R. H., and Ziemian, R. D., Matrix structural analysis , 2nd Ed.,Wiley, New York, 2000.