Skip to content

Beam Forces ​

Internal forces along every beam element β€” the axial force, two shears, torsion and two bending moments.

πŸ”§ Grasshopper component ​

Beam ForcesAlpaca4d β–Έ 08_NumericalOutput
Beam Forces component
Inputs
AlpacaModelModelThe analysed model.
HistoryBooleanfalseRead every recorded step instead of one.
The outputs become trees {step; element}. Step is ignored.
StepInteger0Analysis step.
ElementIdTextlist(empty)Read only some of the beams: an ElementId, a wildcard over them, a tag, or a regular expression.
Empty reads them all.
Outputs

The six forces are data trees, one branch per beam element, keyed by its tag. Within a branch, the values are at the element's integration points, ordered from the I end to the J end.

NNumbertreeAxial force, in kN. Positive is tension.
VyNumbertreeShear along the local y axis, in kN.
Vy = dMz/dx.
VzNumbertreeShear along the local z axis, in kN.
Vz = dMy/dx.
MxNumbertreeTorsion about the local x axis, in kNΒ·m.
Right-hand rule about x.
MyNumbertreeBending about the local y axis, in kNΒ·m.
Positive puts the +z side in tension.
MzNumbertreeBending about the local z axis, in kNΒ·m.
Positive puts the +y side in compression.
ElementElementlistThe beams read, in the order of the branches.
Deconstruct them for the tag and the geometry.

πŸ“ˆ When to use it ​

Use it when

  • You need design forces β€” the numbers that go into a code check.
  • You want the maximum moment in a member: take the branch and find its extreme.
  • You are exporting to a spreadsheet or a downstream design tool.

Do not use it when

  • You want to see the diagram β†’ Model View, with Beam forces ticked, draws any of the six in the viewport, as many at once as are ticked in its row.

Warning

The resolution is the element discretisation. Forces are sampled at the integration points of each element β€” five per element, Newton–Cotes. A single element spanning a whole beam gives you five points, and the peak moment will be missed unless it happens to fall on one of them.

This is the same reason Gravity Load asks you to split beams. Five or more elements per span is a reasonable default.

πŸ’‘ Local axes ​

My and Mz are about the element's local axes, set by the ZAxis input of the ForceBeamColumn component. Turn on Local Axes in Model View if you are unsure which way round they are on a given member β€” it is the most common source of a moment that looks like it is about the wrong axis.

βž• Signs ​

The forces are signed as OpenSees reports them, in the element's local axes: x runs from the I end (the start of the line) to the J end, and y and z are the ones Local Axes draws in Model View. Left without a ZAxis, a beam has y pointing up and z horizontal.

ForcePositive whenStress it causes
Nthe member is in tensionσ = N / A
Mzthe +y side is in compression β€” sagging, on a beam with y upΟƒ = βˆ’Mz Β· y / Iz
Mythe +z side is in tensionσ = +My · z / Iy
VyVy = dMz/dx: a cantilever fixed at I and loaded at J towards βˆ’y
VzVz = dMy/dx: a cantilever fixed at I and loaded at J towards +z
Mxa torque about +x is applied at the J end (right-hand rule)

The two shears do not follow the same rule. That is OpenSees's convention, not a slip: it defines each shear as the slope of the moment it goes with, and Mz and My take opposite signs for the same curvature. Beam Stresses and Utilisation use these signs as they are.

πŸ’‘ Sections without shear ​

A Generic Section with AlphaY or AlphaZ of 0 is rigid in shear, and OpenSees records only N, Mz, My and Mx along a beam made of it. Vy and Vz are then worked out as the slopes of Mz and My along the beam. That is exact for the loads Alpaca4d puts on beams: under a uniform load the moments are quadratic along the beam.