The Basic Natural Kernel in a Corotating Frame of Reference

Frame elements in OpenSees are formulated in a basic, or natural, system that removes rigid body displacement modes from the element displacement field, leaving only the deformational modes. The basic forces that correspond to the deformational modes depend on the element force-deformation relationship while the remaining local forces are found from rigid body equilibrium.

The use of a basic system may seem unnecessary if your matrix methods course went no further than direct assembly of global element end forces. There’s nothing wrong with what you learned in that course–in the end, you get the same answer for linear-elastic frame models. But the basic system is essential for many nonlinear frame element formulations, so it is good to learn the basic system early, in preparation for nonlinear analysis.

The use of a basic system allows us to treat the sources of material and geometric nonlinearity separately for a frame element.

Material nonlinearity resides inside the basic system, along with geometric nonlinearity due to large deformations, i.e., P-“little delta”. The formulation within the basic system is sometimes referred to as the “kernel”. Many kernels are available in OpenSees: elasticBeamColumn, dispBeamColumn, and forceBeamColumn are the most widely used element formulations for small deformation material nonlinearity. The forceBeamColumnCBDI element formulation combines material and geometric nonlinearity inside the basic system.

Geometric nonlinearity due to large displacements, i.e., P-“Big Delta”, resides outside the basic system. The geomTransf objects in OpenSees (Linear, PDelta, and Corotational) handle the transformation of displacements and forces between the basic and global coordinate systems. Because the basic-to-global transformations happen outside the basic system, you often hear that a frame element deforms within a corotating frame of reference.

The geomTransf implementations in OpenSees assume a simply-supported basic system where the degrees of freedom in the basic system correspond to the forces and deformations of a simply-supported beam.

The local x axis points from element end I to end J while the local y and z axes are established by defining a vector in the local xz plane.

The complete set of local forces is found by “reactions” of the basic forces (and member loads) on the “supports” of the basic system. But these supports are mnemonic devices that have nothing to do with the actual boundary conditions of the model.

The other common choice is the cantilever basic system where the DOFs correspond to–you guessed it–the forces and deformations of a cantilever. Beyond the simply-supported and cantilever basic systems, we could get sporty and define a basic system with DOFs that correspond to internal forces somewhere along a fixed-fixed beam. But we don’t need to go there.

This video explains how the global, local, and basic systems for frame elements fit within the hierarchy of nonlinear structural analysis.

6 thoughts on “The Basic Natural Kernel in a Corotating Frame of Reference

  1. Dear Prof. Scott,
    I have some questions
    (1) Do Frame elements refer to beam-column elements?
    (2) Is the basic system the same as the natural system?
    (3) Is there a basic system only for beam-column elements?
    Thank you very much!


  2. Dear Prof. Scott,

    I hope you are well.

    I know well the simple support beam basic reference system, but what do you mean when you mentioned that there is another basic reference system using a cantilever beam?



      1. Dear Prof. Scott,

        I hope you are well.

        I was trying to get the expressions with this reference system. I got these, are they correct?

        kbsc = [[A*E/L, 0 , 0 ],
        [0 , 12*E*I/(L**3), -6*E*I/(L**2)],
        [0 , -6*E*I/(L**2), 4*E*I/(L) ]]
        ubsc = [[Uloc4 – Uloc1],
        [Uloc6 – Uloc3]]

        IncEquilibriumMatrix =EM= ([[-1 , 0 , 0 ],
        [ 0 , -1 , 0 ],
        [ 0 , -L , -1],
        [ 1 , 0 , 0 ],
        [0 , 1 , 0 ],
        [ 0 , 0 , 1 ]])

        ComEquilibriumMatrix =CM= [[-1, 0, 0, 1, 0, 0],
        [0, -1, -L, 0, 1, 0]
        [0, 0, -1, 0, 0, 1]]

        when I calculate EM * kbsc * CM I got the stiffness matrix at the local level

        Kind regards


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.