Bending a cantilever into a full circle with a large-rotation lattice
A straight rod, clamped at one end, is turned at the other end through a full 2 pi. The exact answer is a perfect circle, and the moment grows linearly with the rotation. It is a clean test for a large-rotation beam formulation. Here it is for OOFEM's large-rotation lattice element.
Most of the lattice examples on this site are about fracture, cracks finding their way through a heterogeneous material. This one is about something different: the geometry. When a lattice structure displaces a lot, does it still carry the right forces?
The best approch to answer this question is a problem with a known exact solution. Clamp a straight elastic rod at one end and apply a pure moment at the other. The exact position of the element nodes is a circular arc whose radius is set by the moment,
R = EI / M , theta = L / R = M L / EI .
The moment rotation relatioship is a straight line,
M = (EI / L) theta .
A formulation that only linearises the rotations will get the small-rotation start right and then
drift. The circle will not close.
So this is a strict test and it is one of the classical large-rotation
benchmarks used to verify the rigid-body-spring frame element behind OOFEM’s
lattice3dnl in Abdelrhim and Grassl (2026).
The curling rod
The model is deliberately small: a slender steel rod, L = 9.42 m, split
into 8 large-rotation lattice elements (lattice3dnl), clamped at node 1,
with the rotation of the free end prescribed from 0 to 2 pi over 100 steps.
The animation below is the deformed lattice rendered straight from the VTU output. Each element is made of two rigid bodies with a constitutive point between these bodies. The straight segments in the animation are formed by two rigid bodies of two elements meeting at a node. The camera is fixed, so you are watching the rigid-body motion itself, not a re-centred close-up.
The moment stays on the line
The reaction moment due to the applied rotation produces the
lattice result. In the plot below the continuous line is
the analytical solution M = (EI/L) theta; the markers are the discrete lattice
results.
Reproduce
git clone https://github.com/githubgrasp/oofem-examples.git
cd oofem-examples/lattice-large-rotation/8El
docker run --rm -v "$PWD":/work ghcr.io/githubgrasp/oofem-public:lattice-large-rotation bash run.sh
The analysis runs in a second — the whole model consists of nine nodes. run.sh
post-processes it into the moment–rotation history (ld.dat) and one
deformed-shape file per step, which is what the animations above are built
from.
The example folder is at github.com/githubgrasp/oofem-examples/lattice-large-rotation; issues and questions go on the issue tracker.
Further reading
The large-rotation lattice element used here, a rigid-body–spring frame element extended to arbitrarily large rotations, with this cantilever among the benchmarks it is verified against, is developed in:
G. Abdelrhim and P. Grassl. A 3D frame element for large rotations based on the rigid-body–spring concept for analysing the failure of structures. International Journal of Solids and Structures, vol. 327, 113812, 2026. Abdelrhim and Grassl (2026)
Built with OOFEM.