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.

← All posts