Beam With Hinges Interior Redux

When it was but a wee blog, I wrote a post expressing second thoughts on how I presented the elastic interior of the beamWithHinges element in Scott and Fenves (2006). The post had a lot of words, but no figures or examples. So, let’s try again.

Consider a simple span comprised of one beamWithHinges element, i.e., a forceBeamColumn element with HingeRadau integration. The beam has plastic hinges and a bilinear moment-curvature relationship assigned to all sections. Point loads of equal magnitude are applied just inside the plastic hinge regions, giving constant moment over the beam interior–basically the opposite of what the beamWithHinges element is supposed to be good at.

For this simple model, pick your favorite E, A, I, and My for the section, and use an lp that is about 10% of the span length.

If you increase the magnitude of the point loads until the bending moment on the beam interior exceeds the section yield moment, you will get different results with “the-interior-is-elastic” from Scott and Fenves (2006) versus what’s actually implemented in OpenSees.

ops.geomTransf('Linear',18)

ops.uniaxialMaterial('Elastic',1,E*A)
ops.uniaxialMaterial('Hardening',2,E*I,My,0,0.05*E*I)
ops.section('Aggregator',5,1,'P',2,'Mz')

# As described in JSE (2006)
ops.element('beamWithHinges',1,1,2,5,lp,5,lp,E,A,I,18)

# As implemented in OpenSees
ops.beamIntegration('HingeRadau',17,5,lp,5,lp,5)
ops.element('forceBeamColumn',1,1,2,18,17)

ops.timeSeries('Linear',1)
ops.pattern('Plain',1,1)
ops.eleLoad('-ele',1,'-type','beamPoint',-1.0,lp/L)
ops.eleLoad('-ele',1,'-type','beamPoint',-1.0,1-lp/L)

The relationship between applied load and rotation at the supports is shown below, where yielding initiates when the moment on the beam interior exceeds the yield moment.

This example should make it clear that the interior of a “beam with hinges” element does not have to be elastic!

3 thoughts on “Beam With Hinges Interior Redux

  1. Whenever I see the beamWithHinges (or equivalent) element formulations used, the section aggregator command is given the axial and flexural behavior parameters. At this point I have two questions: (1) Why don’t we assign the shear behaviour parameters even if it is assumed linear?, (2) What happens if we don’t assign the axial behavior parameters?

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.