OpenSees Cloud

OpenSees AMI

Analyze This

Original Post - 05 Oct 2025 - Michael H. Scott

Show your support at Buy Me a Coffee.


I have posted modeling challenges where I describe a model and loading then ask for a specific response quantity. Usually, the model is linear-elastic, e.g., strongback frame, Ziemian frame, and soil-bridge SSI, so the challenge is building the model and the ensuing analysis is straightforward.

But what if I gave you an already built model, described the loading, then asked you to analyze the model and report a few response quantities? In other words, the challenge is to determine and use valid analysis options.

The frame shown below has two column members and a beam member. The beam to column connections are simple pins (moment releases). The columns (A=2 in2, I=10 in4) and beam (A=4 in2, I=20 in4) are linear-elastic. In addition, two tension-only cables (A=0.1 in2) provide lateral load resistance. All members have elastic modulus E=29e6 psi.

Gravity loads are given and \(P\)-\(\Delta\) effects are included in the columns. A small lateral load (1% of the total gravity load) is applied to the frame as well.

An OpenSees script for the model is shown below.

import openseespy.opensees as ops

# Units = lb, inch

ops.wipe()
ops.model('basic','-ndm',2,'-ndf',3)
               
ops.node(1,0,0); ops.fix(1,1,1,0)
ops.node(2,0,48)
ops.node(3,0,58)
ops.node(4,48,0); ops.fix(4,1,1,0)
ops.node(5,48,48)
ops.node(6,48,58)

# Columns
ops.section('Elastic',1,29e6,2,10)
ops.geomTransf('PDelta',1)
ops.element('elasticBeamColumn',1,1,2,1,1)
ops.element('elasticBeamColumn',2,2,3,1,1)
ops.element('elasticBeamColumn',3,4,5,1,1)
ops.element('elasticBeamColumn',4,5,6,1,1)

# Beam
ops.section('Elastic',2,29e6,4,20)
ops.geomTransf('Linear',2)
ops.element('elasticBeamColumn',5,2,5,2,2,'-release',3)

# Cables
ops.uniaxialMaterial('Elastic',1,29e6,0,0) # Tension only
ops.element('truss',6,1,5,0.1,1)
ops.element('truss',7,2,4,0.1,1)

Perform a static analysis for the loads shown in the figure and report the horizontal displacement at the point where the lateral load is applied. Also report the horizontal and vertical reactions at the base of the frame. In addition, give a brief description of how you used OpenSees to analyze the model.

Report the following information:

You may find the analysis tricky, or perhaps exceedingly easy.

E-mail me your response by October 31. I will share anonymized results in another post.

Comments are disabled so no one gives away their successful analysis recipe and ruins the fun for others.