OpenSees Cloud

OpenSees AMI

You Never Forget

Original Post - 02 Nov 2023 - Michael H. Scott

Visit Structural Analysis Is Simple on Substack.


My first journal article was not without some minor drama. Another group of researchers was also in pursuit of the direct differentiation method (DDM) formulation for force-based frame elements. Mutually aware of the parallel efforts, one of those researchers went so far as to call me on a public landline in Davis Hall with a few questions.

Attempted scoop aside, we published a superior DDM formulation for force-based frame elements–and that formulation is still available in OpenSees.



With the examples from so many journal articles executed in either bespoke, one-off software or with input files that are abandoned right after the DOI is issued, recreating published results is difficult–even for the original authors.

So, for this post I challenged myself to reproduce the DDM examples from my first journal article. Originally developed in OpenSees Tcl, the examples should work in the current version of OpenSeesPy and would generally benefit from the upgrade to Python.

To keep this post relatively brief, I will only show the force-based DDM results and forego both the accompanying finite difference verifications and the comparisons with meshes of displacement-based elements. It ain’t 2004 anymore, i.e., we don’t need yet another comparison of displacement-based and force-based element formulations. And we don’t need to compare the response sensitivities generated by the two formulations–that comparison was never all that insightful.

The force-based elements in the following examples use five point Gauss-Lobatto integration.

Example 1

The first example is a steel cantilever subjected to cyclic transverse loading. The section is W21x50, discretized into fibers (20 in the web, 2 in each flange) with E=200 GPa, Fy=250 MPa, and 2% kinematic strain-hardening.

Steel cantilever

The cantilever response due to a single load cycle of peak magnitude 134 kN is shown below.

Steel cantilever response

The sensitivity of the free end transverse displacement history is computed with respect to the steel yield strength.

Steel cantilever sensitivity

As expected, the sensitivity of the displacement response with respect to the steel yield strength is zero prior to first material yield.

Looks good to me. One down, two to go.

Example 2

The second example is a steel moment frame with all column and girder members also W21x50. Yes, we kinda lacked diversity in these examples, but to a certain extent, a number is a number when verifying numerical formulations.

Instead of fiber sections, the frame members use a section aggregator with linear-elastic axial and bilinear moment-curvature response. The section response is based on EA and EI for a W21x50 steel section, along with yield moment, My=FyS computed for Fy=250 MPa and 2% kinematic strain-hardening in the moment-curvature relationship.

Moment frame model

The lateral load pattern is triangular and the base shear-roof displacement response is shown below for one load cycle of peak roof load of 150 kN.

Moment frame response

The sensitivity of the roof displacement to the section yield moment (treated as a single parameter that mapped to all members), is shown below.

Moment frame sensitivity

This example looks good to me too.

Example 3

Similar to the first example, the third example is a cantilever subjected to cyclic transverse loading, except here the material is reinforced concrete. The section is discretized into 20 layers of concrete with strength f’c=28 MPa and steel bars with strength fy=420 MPa. A constant axial load equal to 10% of the section gross capacity is applied.

RC cantilever

The load-displacement response is shown below for a cyclic load of peak magnitude 260 kN.

RC cantilever response

The sensitivity of the free end transverse displacement with respect to steel strength and concrete strength is shown below.

RC cantilever sensitivity

As expected, after the beam yields, the displacement response is more sensitive to changes in the steel yield strength than to changes in the concrete compressive strength.

Three for three on recreating the examples!



How about you, readers out there? Can you still run the examples from your first journal article?