Beam With Hinges Element

From OpenSeesWiki
Jump to navigation Jump to search




This command is used to construct a forceBeamColumn element object, which is based on the non-iterative (or iterative) flexibility formulation. The locations and weights of the element integration points are based on so-called plastic hinge integration, which allows the user to specify plastic hinge lenghts at the element ends. Two-point Gauss integration is used on the element interior while two-point Gauss-Radau integration is applied over lengths of 4LpI and 4LpJ at the element ends, viz. "modified Gauss-Radau plastic hinge integration". A total of six integration points are used in the element state determination (two for each hinge and two for the interior).

Users may be familiar with the beamWithHinges command format (see below); however, the format shown here allows for the simple but important case of using a material nonlinear section model on the element interior. The previous beamWithHinges command constrained the user to an elastic interior, which often led to unconservative estimates of the element resisting force when plasticity spread beyond the plastic hinge regions in to the element interior.

The advantages of this new format over the previous beamWithHinges command are

  • Plasticity can spread beyond the plastic hinge regions
  • Hinges can form on the element interior, e.g., due to distributed member loads


element forceBeamColumn $eleTag $iNode $jNode $transfTag "HingeRadau $secTagI $LpI $secTagJ $LpJ $secTagInterior" <-mass $massDens> <-iter $maxIters $tol>


$eleTag unique element object tag
$iNode $jNode nodes at element ends I and J, respectively
$secTagI identifier for previously-defined section object at end I
$LpI plastic hinge length at end I
$secTagJ identifier for previously-defined section object at end J
$LpJ plastic hinge length at end J
$secTagInterior identifier for previously-defined section object on the element interior (DOES NOT HAVE TO BE ELASTIC, but can be any type of section, including fiber)
$transfTag identifier for previously-defined coordinate-transformation
$maxIters maximum number of iterations to undertake to satisfy element compatibility (optional, default=1)
$tol tolerance for satisfaction of element compatibility (optional, default=10-16)


NOTE: The keyword HingeRadau can be changed to one of the following in order to use a different hinge integration approach:

  • HingeRadau -- two-point Gauss-Radau applied to the hinge regions over 4LpI and 4LpJ (six element integration points)
  • HingeRadauTwo -- two-point Gauss-Radau in the hinge regions applied over LpI and LpJ (six element integration points)
  • HingeMidpoint -- midpoint integration over the hinge regions (four element integration points)
  • HingeEndpoint -- endpoint integration over the hinge regions (four element integration points)


For more information on the behavior, advantages, and disadvantages of these approaches to plastic hinge integration, see

Scott, M.H. and G.L. Fenves. "Plastic Hinge Integration Methods for Force-Based Beam-Column Elements", Journal of Structural Engineering, 132(2):244-252, February 2006.

Scott, M.H. and K.L. Ryan. "Moment-Rotation Behavior of Force-Based Plastic Hinge Elements", Earthquake Spectra, 29(2):597-607, May 2013.


The primary advantages of HingeRadau are

  • The user can specify a physically meaningful plastic hinge length
  • The largest bending moment is captured at the element ends
  • The exact numerical solution is recovered for a linear-elastic prismatic beam
  • The characteristic length is equal to the user-specified plastic hinge length when deformations localize at the element ends

while the primary disadvantages are

  • The element post-yield response is too flexible for strain-hardening section response (consider using HingeRadauTwo)
  • The user needs to know the plastic hinge length a priori (empirical equations are available)


NOTE: See the forceBeamColumn page for valid recorder queries.




Original command (maintained for backward compatibility)

NOTE: this form of the command forces the element interior to be linear-elastic, which is not always the best approach.

For 2D:

element beamWithHinges $eleTag $iNode $jNode $secTagI $Lpi $secTagJ $Lpj $E $A $Iz $transfTag <-mass $massDens> <-iter $maxIters $tol>

For 3D:

element beamWithHinges $eleTag $iNode $jNode $secTagI $Lpi $secTagJ $Lpj $E $A $Iz $Iy $G $J $transfTag <-mass $massDens> <-iter $maxIters $tol>


All inputs are the same as above, with the following additional inputs, which are used solely to create a "dummy" elastic section at the two Gauss integration points of the element interior

$E Youngs modulus elastic portion
$A Area for elastic portion
$Iz second moment of area for elastic portion about local z
$Iy second moment of area for elastic portion about local y
$G torsional moment of inertia of cross section for elastic portion
$J Shear Modulus of elastic portion.





Code maintained by: Michael H. Scott, Oregon State University