Geometric Transformation

OpenSees offers three types of transformations between the basic system and global system for frame (beam-column) elements:

  • Linear – small displacement assumptions for compatibility and equilibrium
  • PDelta – small displacement assumption for compatibility with the P-\Delta term included in equilibrium
  • Corotational – large displacement assumption for compatibility and equilibrium

Use the geomTransf command to assign different transformations to different elements, e.g., Linear for beams and PDelta for columns. And be careful with the vector in the x-z plane for three-dimensional models.

This post will compare the three geometric transformations for “Benchmark problem Case 2” from Chapter C of the AISC Steel Manual Commentary. The column is a W14x48 bent about its strong axis (A=14.1 in2, I=484 in4). Note, this is the same column used in a previous post.

A single elastic beam-column element is used in the analysis along with displacement control to determine the lateral load-displacement relationship.

In the a-little-beyond-practical range of interest, e.g., lateral displacement up to 3 ft, or just over 10% of the column length, the load-displacement response is shown below.

PDelta and Corotational give essentially the same load-displacement response, with a lower stiffness than the Linear transformation. The reduction in stiffness is P/L.

Because the PDelta transformation uses linear compatibility, it ignores vertical displacement at the free end of the column. Corotational is able to account for the downward vertical displacement.

Of course, all of this is moot as the column would form a plastic hinge at its base at a lateral load of about 11 kip. But let’s keep going anyway.

For the ridiculous range of response, e.g., a lateral displacement of 15 ft, the load-displacement response is shown below.

Linear and PDelta keep going on their happy ways, but Corotational starts to gain strength as the column response becomes dominated by tension stiffness under large lateral displacement. Again, PDelta does not capture the vertical displacement at the column free end while Corotational is tracking the column down to the ground.

We can take the tension stiffening and tracking-to-the-ground even further with analysis out to a more absurd free end lateral displacement of 25 ft.

Basically, the column becomes a stiff rubber band. The lateral load is not a follower load.


For engineered structures with compression members undergoing drifts less than 10%, there’s essentially no difference between PDelta and Corotational. But, this was not an exhaustive analysis as I believe meshing the column would mitigate the tension stiffening–I’ll have to look into that another time. Not that it mattered for this column and its 11 kip lateral load plastic capacity.

However, Corotational can be useful for slender members undergoing large displacements or for using a corotational mesh to approximate elastic, as well as inelastic, buckling loads. In addition, PDelta can have issues near limit points.

As always, it depends on what you’re modeling.


Light speed is not fast enough, we need ludicrous speed.

Leave a Reply

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

WordPress.com Logo

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

Twitter picture

You are commenting using your Twitter 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.