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 areaAm²Axial 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