Skip to content

๐Ÿ“ Axes and signs โ€‹

Alpaca4d uses two kinds of axes. The global axes are Rhino's world X, Y and Z, with Z up: loads, nodal displacements and gravity are in them. Each element also has local axes of its own, and beam and shell forces are reported in those, so the sign of a result depends on which way the element's axes run.

What is in which axes โ€‹

QuantityAxes
Point, beam and shell loadsGlobal. A beam load is resolved onto the beam's local axes before it is written.
GravityGlobal โˆ’Z
Nodal DisplacementsGlobal
Beam Forces, Beam StressesThe beam's local x, y, z
Shell ForcesThe shell's local axes 1, 2, 3
Brick StressesGlobal, or each element's own axes from its node order
Reaction ForcesThe support's own plane

Local Axes in Model View draws every element's local axes as red, green and blue arrows: x, y, z on beams, 1, 2, 3 on shells and solids. When a result looks as if it is about the wrong axis, turn it on first.

Local axes of a beam โ€‹

Local x runs along the beam from its I end, the start of the line, to its J end. The ZAxis input sets local z, and y completes the frame.

Left empty, ZAxis is horizontal, so local y points as near straight up as the beam allows. A section's depth (the height of a rectangle, an I or a hollow section) is laid along local y, so Izz is the strong axis, the section stands the right way up, and gravity on a floor beam shows up as Vy and Mz. A vertical member, which has no "up" across it, gets local y along global X.

The section itself has no orientation: turning a beam is always done with ZAxis. On a Truss, ZAxis only turns the section, for drawing and for the steel check, since a bar carries axial force alone.

Beam force signs โ€‹

The forces are signed as OpenSees reports them, in the beam's local axes:

ForcePositive when
Nthe member is in tension
Mzthe +y side is in compression: sagging, on a beam with y up
Mythe +z side is in tension
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. OpenSees defines each shear as the slope of the moment it goes with, and Mz and My take opposite signs for the same curvature. The stresses follow from the same signs:

ฯƒ=NAโˆ’MzyIz+MyzIy

Beam Stresses and Utilisation use these signs as they are. The fibre sections of Moment Curvature are signed the same way: positive My stretches the +z side, positive Mz the โˆ’y side. Their fibres are drawn in the world XY plane, world X being local y and world Y local z.

Local axes of a shell โ€‹

A shell face's local z (axis 3) is its normal, and which side it points to follows the order of the mesh's vertices, not the world. A mesh whose faces point down has its +z side underneath.

Local x (axis 1) is set by the Local X Axis input of ASD Shell. It is flattened onto each face, so it only has to point roughly the right way. Left empty, each face orients itself independently, and two neighbouring faces of one slab can report mxx about different directions: the numbers can no longer be compared or contoured. So set it on any model whose shell results you will read. It cannot stand square to the shell: within 1ยฐ of the normal of any face is an error, so a horizontal slab takes a horizontal vector, not Z.

Shell force signs โ€‹

All shell forces are per unit width. Positive membrane force (pxx, pyy) is tension. mxx is the moment whose stresses run along local x, bending the shell about local y; myy the one whose stresses run along y. A positive mxx or myy puts the face on the +z side, the side the blue arrow points to, in tension. On a cantilever slab whose mesh faces up, mxx is positive over the support.

Support planes โ€‹

A Support acts along the axes of a plane. Given a Point, the plane is world-aligned, and Tx to Rz are the global directions. Given a Plane, they are that plane's own axes: that is how an inclined roller or a bearing on a sloping face is made. Elastic springs act along and about the same axes. A Compression Only support holds along the plane's Z only while the node moves against Z, which is down for a Point; turning the plane over makes it hold in tension instead.

Reaction Forces reports each reaction in its support's plane, as the force the support applies to the structure, signed along the plane's axes. A released direction of a skewed support then reads as the zero it is, rather than being spread over the three global components.

A Spring Link counts its directions in a plane too: left empty, x runs along the link and y and z across it.

See also โ€‹