OpenSees Cloud

OpenSees AMI

Making a Point Load

Original Post - 27 Nov 2023 - Michael H. Scott

Visit Structural Analysis Is Simple on Substack.


The midterm exam in my graduate course on matrix methods of structural analysis was based on a linear-elastic, geometrically linear model of what is essentially Lee’s frame.

Lee's frame

I asked the students to analyze the model using two elements and treat the point load as a member load instead of defining an additional node and applying the point load as a nodal load.

To make things interesting, especially when using the cantilever basic system, I also asked the students what would change if the assignment of nodes I and J was swapped for the beam element.

I and J nodes swapped for beam element

Because I didn’t want to work out the answers by hand, I used OpenSees to form the matrices and vectors required for the displacement method. Making a few mistakes in doing so, I was reminded that member loads are defined with respect to the local axes of an element.

For the original assignment of I and J nodes in the beam, the point load is at x=0.2L (24 inch along 120 inch length) from end I.

Point load with original I, J

The definition of the point load with the eleLoad command uses -1.5 kip because the load is applied in the opposite direction of the element local y-axis.

ops.element('elasticBeamColumn',2, 2,3, A,E,I,1)

ops.timeSeries('Constant',1)
ops.pattern('Plain',1,1)
ops.eleLoad('-ele',2,'-type','beamPoint',-1.5,0.2)

When the I and J nodes are swapped in the beam, the point load is now x=0.8L (96 inch along 120 inch length) from end I.

Point load with I, J swapped

In this case, the point load acts in the same direction as the local y-axis of the element, thus the input value is +1.5 kip. Recall that the x-axis points from I to J, the z-axis is pointing at you, and the y-axis is z cross x.

ops.element('elasticBeamColumn',2, 3,2, A,E,I,1) # I,J swapped

ops.timeSeries('Constant',1)
ops.pattern('Plain',1,1)
ops.eleLoad('-ele',2,'-type','beamPoint',1.5,0.8)

Try the analysis out for yourself in OpenSees. The horizontal reactions are +/-0.10789 kip and the vertical reactions are 1.3079 kip and 0.19211 kip.