Very few mainstream finite element analysis programs offer elements that directly interpolate a finite rotation field. This is because finite rotations violate a foundational requirement of the finite element method: they do not form a vector space. Rotation composition is noncommutative, so interpolation techniques that assume linear superposition fail. As a result, most beam and shell elements are formulated in terms of linearized (infinitesimal) rotations, and large rotation behavior is recovered, approximately, through co-rotational formulations or nonlinear updates of small increments.
The Node
class has been extended to store and update finite rotations in a way that is both consistent and efficient. A new nodeRotation
command is available in both Tcl and Python (via the xara
frontend), allowing users to query the finite rotation at each node. This enables more accurate post-processing and visualization of large deformation behavior.
Support for rendering extruded frame deformations using these finite rotations is also available through the veux
rendering system. The current implementation uses the “None” parameterization proposed by Perez and Filippou (2024), which avoids reliance on local rotation vectors or Euler angles and instead tracks the rotation field directly in the global frame. This approach eliminates ambiguities introduced by coordinate system updates and provides a clean foundation for further extension.