# The Linear Algorithm Strikes Again

This post on the OpenSees message board reminded of another reason not to ever use the Linear algorithm, even when you have a linear model. Some elements need that second iteration in order to record all of their response.

Not only shellMITC4 mentioned on the message board, but also the beloved forceBeamColumn. If you define member loads on a forceBeamColumn element and use the Linear algorithm, the member loads are not applied correctly. I’m not exactly sure why.

Consider a simply-supported beam with a uniform distributed load. The midspan moment is $wL^2/8$, the support reactions are $wL/2$, and the support rotations are $wL^3/(24EI)$.

import openseespy.opensees as ops

L = 240.0
E = 29000.0
A = 20.0
I = 1400.0
w = 1.5

ops.wipe()
ops.model('basic','-ndm',2,'-ndf',3)

ops.node(1,0,0); ops.fix(1,1,1,0)
ops.node(2,L,0); ops.fix(2,1,1,0)

ops.geomTransf('Linear',12)

ops.section('Elastic',1,E,A,I)
ops.beamIntegration('Lobatto',1,1,5)

ops.element('forceBeamColumn',1,1,2,12,1)

ops.timeSeries('Linear',23)
ops.pattern('Plain',1,23)

Nsteps = 2