Skip to main content

Element Types

Armatura currently supports two element types. Both are derived from the Euler–Bernoulli beam formulation described in the FEM Formulation page.

3D beam element

The primary element type. Each beam element connects two nodes and carries 6 DOFs per node:

DOF indexDOFDescription
0UxTranslation along local x (axial)
1UyTranslation along local y
2UzTranslation along local z
3RxRotation about local x (torsion)
4RyRotation about local y (bending in x-z plane)
5RzRotation about local z (bending in x-y plane)

The 12×12 local stiffness matrix is block-structured from four decoupled behaviours:

  • Axial (DOFs 0, 6) — governed by EA/L
  • Torsion (DOFs 3, 9) — governed by GJ/L
  • Bending in x-y plane (DOFs 1, 5, 7, 11) — governed by EIz
  • Bending in x-z plane (DOFs 2, 4, 8, 10) — governed by EIy

The stiffness coefficients follow [MAS] §8.3, Eq. 8.39. The bending terms use cubic Hermite interpolation.

Required section properties

The beam element requires:

PropertySymbolUnitDescription
Cross-sectional areaAAxial and shear
Moment of inertia (strong)Ixxm⁴Bending about section x-axis → element Iy
Moment of inertia (weak)Iyym⁴Bending about section y-axis → element Iz
Torsion constantJm⁴St. Venant torsion
Young's modulusEPaFrom material
Shear modulusGPaFrom material, G = E / 2(1+ν)

For design checks, additional properties may be needed: warping constant Iw, shear area Av, and section classification data. These are described on the Design Checks page.

Member end releases

By default, all DOFs at both ends of a beam element are rigidly connected to the node. End releases allow specific DOFs to be freed, changing the element's behaviour:

  • Pinned end — releases all three rotational DOFs (Rx, Ry, Rz) at one end, creating a pin connection
  • Custom release — any individual DOF can be released independently

Releases are specified in member-local coordinates. The implementation uses static condensation to modify the element stiffness matrix before assembly. This is described in [MAS] Chapter 4.

Truss element

A specialisation of the beam element where only axial stiffness is retained. Equivalent to a beam element with all rotational DOFs released at both ends.

The truss element has 3 DOFs per node (translations only), producing a 6×6 element stiffness matrix with only axial terms. It cannot carry bending moments, shear forces, or torsion.

Use MemberType.Truss when adding a member to create truss elements. This is appropriate for bracing members, tension rods, and other axially-loaded members where bending is not expected or desired.

Element creation

Users work with members (defined by two nodes, a material, a section, and a type). The solver automatically creates the appropriate element type from each member. A single member may produce multiple elements if intermediate nodes are present.

The element creation, stiffness matrix computation, and assembly are internal to the solver — users interact only with the member-level API.

Planned element types

The following are on the roadmap but not yet implemented:

  • Geometric stiffness element — adds the stress stiffness matrix Kg for linear eigenvalue buckling analysis and second-order effects. The formulation is in [MAS] Chapter 10 and [CALFEM] beam2ge.
  • Consistent mass element — the 12×12 consistent mass matrix for modal analysis (natural frequencies and mode shapes). Same shape functions as the stiffness matrix, different coefficients. See [MAS] §8.3 and [CALFEM] beam3e.

References

  • Kassimali (2015), §8.3 (pp. 462–469): 3D beam element stiffness matrix, DOF numbering
  • CALFEM Manual §5.6: beam3e element formulation and parameters
  • Kassimali (2015), Chapter 4: member end releases and static condensation
  • Kassimali (2015), Chapter 10: geometric stiffness for buckling analysis