Skip to content

Beam With Hinges โ€‹

A beam with hinges is a frame element whose inelastic behaviour is confined to two hinge zones at the ends. The interior stays linear elastic, and HingeRadau integration puts the end integration points inside the hinge lengths.

Alpaca4d builds the hinge by taking the element's own section and scaling the stiffness of each released degree of freedom by 10โปโถ โ€” so a release is a very soft hinge section, not a true free end.

๐Ÿ”ง Grasshopper component โ€‹

ForceBeamColumnAlpaca4d โ–ธ 02_Element
WithHinges
Inputs
LineCurveCentreline of the element, in m.
SectionSectionInterior cross-section. Also the section the hinges are derived from.
GeomTransfGeometricTransformationGenericLinearGeometric transformation.
If left empty a Linear transformation is built from the line and ZAxis.
ZAxisVectorhorizontalLocal z axis of the element.
If left empty it is horizontal, so local y โ€” the depth of an I-section, the height of a rectangle โ€” points as near straight up as the beam allows, and gravity bends a floor beam about its strong axis (Vy, Mz). A vertical member gets local y along global X.
ReleaseIReleasefully fixedRelease condition at the I end, from Hinge Release.
LpINumber0.05Hinge length at the I end, as a fraction of the element length L.
ReleaseJReleasefully fixedRelease condition at the J end.
LpJNumber0.05Hinge length at the J end, as a fraction of L.
ColourColourAlpaca4d hinged-beam colourDisplay colour in the Rhino viewport.
ElementIdText(empty)Optional name for the element, used to pull its results out later.
Free text, and yours to repeat: one name over twenty curves labels all twenty, and asking for it returns all twenty. Give a list to name them apart.

Warning

LpI and LpJ are ratios, not lengths. 0.05 means 5 % of the chord length L, whatever units the model is drawn in. Empty or non-positive values fall back to 0.05; anything else is clamped to [0.02, 0.10].

The clamp is not cosmetic. HingeRadau gives the two interior points a weight of 0.5 - 2(lpI + lpJ)/L, so lpI + lpJ has to stay below L/4; capping each end at 0.10 keeps that weight at 0.30 or above. And below 0.02 the 10โปโถ softening no longer reads as a release, because the released flexibility scales with lp/L.

Outputs
ElementElementBeam element, to be connected to Assemble.

There is no separate component. Right-click the ForceBeamColumn component and set the Element Type menu to WithHinges.

๐Ÿ“ˆ When to use it โ€‹

Use it when

  • Inelastic deformation is expected at known locations โ€” the ends of beams and columns in a moment frame under seismic or pushover loading.
  • You need to release specific DOFs at a member end (a pinned connection, a moment release) while keeping the rest of the member elastic.
  • You want something lighter than a fibre model along the whole member.

Do not use it when

  • Yielding may develop anywhere along the span โ†’ use a plain ForceBeamColumn.
  • You need moment or curvature resolved inside the elastic interior.
  • The plastic hinge length is uncertain โ€” results are sensitive to it.

๐Ÿ”— Relation to OpenSees

A forceBeamColumn with an inline HingeRadau specification:

tcl
element forceBeamColumn $eleTag $iNode $jNode $transfTag \
        HingeRadau $secTagI $lpI $secTagJ $lpJ $secTagC -mass $massDens
  • $secTagI / $secTagJ โ€” auto-generated elastic sections for the hinge zones. Released DOFs have their stiffness scaled by 10โปโถ.
  • $lpI / $lpJ โ€” the absolute hinge lengths, computed as ratio ร— L from the LpI/LpJ inputs.
  • $secTagC โ€” the interior elastic section, i.e. the Section input.
  • $massDens โ€” mass per unit length, from the section area times the material density.

The mapping from the release booleans to the softened section property is:

Release inputSection property scaled
TxArea
TyAlphaY
TzAlphaZ
RxJ
RyIyy
RzIzz