CH NEO-ZÜRICH EDITION
WEATHER · FOG / SMOG 12°C
BLEND OF THE DAY · 07/ROGUE
EST. 2027
THE AEC CYBER MORNING NEWS

PAZ Kaffi

DESIGN · DEMOLITION · CAFFEINE · DISPATCH
EDITION 1004 · 4 October 2026
BROADCAST 04:42 CET
2,400 BROADSHEETS PRINTED
READ TIME · 47 MIN
Dynamic Relaxation: How a 1965 Algorithm Lets Kangaroo Find the Shape Where Motion Stops
SYSTEMS
FRAME · 06:55
04-10-2026

Dynamic Relaxation: How a 1965 Algorithm Lets Kangaroo Find the Shape Where Motion Stops

How A. S. Day's 1965 dynamic relaxation method finds equilibrium shapes, from Barnes' kinetic damping and Downland gridshell to Kangaroo in Grasshopper.

The Weald and Downland gridshell in Sussex, completed in 2002 by Buro Happold with Edward Cullinan Architects, is 50 m long, 12 m wide and 10 m high. It is made of green oak laths that started out as a flat grid and were bent into a double-curved roof. On its project page, Buro Happold says that “customised software was required based on the ‘dynamic relaxation’ technique” to map the structure. Today the same idea runs inside Kangaroo, Daniel Piker’s physics solver, every time someone in a Grasshopper class watches a mesh sag into a membrane. The whole idea fits in one sentence: equilibrium is what is left when the motion has died.

Most Grasshopper users have run dynamic relaxation without knowing its name. This piece gives you the name, the four steps behind it and the people who built it, so the next time a Kangaroo definition shakes and won’t settle, you know why.

What it is

What it is: Dynamic relaxation is a numerical method for finding the shape in which a structure is in static balance. It turns that static problem into a dynamic one. Every node in a cable net, membrane or lath grid gets a made-up mass. The out-of-balance forces are allowed to push those masses around. Energy is removed bit by bit, and the method waits. The place where the nodes come to rest is the answer.

Picture a ball released on the rim of a bowl. It rolls, overshoots, rolls back and loses a little energy on every pass. In the end it sits at the lowest point. Nobody worked out where the bottom was. The ball’s motion found it. Dynamic relaxation does the same thing with thousands of balls at once, connected by springs, cables and bending elements.

Why it works

Why it works: A structure is in equilibrium when the forces at every node add up to zero. In a cable net or a bent timber grid, the forces depend on the geometry and the geometry depends on the forces. You can’t solve that in one step. Dynamic relaxation goes around the problem in four steps:

  • Residual force. At each node, add up every force acting on it: cable tension, spring pull, self-weight, applied load. Whatever doesn’t cancel out is the residual, R.
  • Fictitious mass. Apply Newton’s second law: R = M·A. Update the velocity, V(t+Δt/2) = V(t−Δt/2) + (Δt/M)·R(t), then the position, X(t+Δt) = X(t) + Δt·V(t+Δt/2). Repeat.
  • Damping. With no friction the net would swing forever, like a ball in a frictionless bowl, so energy has to be removed. Viscous damping adds a drag proportional to speed. Kinetic damping watches the total kinetic energy, and when it peaks, it steps the geometry back to that peak position and sets every velocity to zero.
  • Stop. When the motion dies out, the residuals are close to zero. That resting shape is the equilibrium.

This is the part people usually miss: the masses and the time step are invented. Only the final state is physical. Choosing them changes how fast the solver converges and whether it stays stable. It does not change the answer. It also helps to see what dynamic relaxation is not. The force density method of Klaus Linkwitz and Hans-Jörg Schek, from the early 1970s, makes cable-net form finding linear by fixing the ratio of tension to length. Dynamic relaxation works its way to the answer step by step through time instead. That is how it handles materials and elements that a linear method can’t easily take on.

The result is a digital hanging model. Frei Otto hung real chains and nets. Dynamic relaxation lets the computer hang them, and if you invert a tension form you get a compression shell. PAZ has already covered both of those ideas in its catenary and reciprocal-diagram pieces, and this essay builds on them.

Origins

Origins: A. S. Day introduced the method in 1965 in a paper called “An introduction to dynamic relaxation” in The Engineer (vol. 219, pp. 218–221). Michael Barnes then turned it into a form-finding tool for lightweight structures. A doctoral thesis on dynamic relaxation for tension structures is listed under his name at City University London in 1977. In his 1999 paper in the International Journal of Space Structures he describes “numerical procedures, based on the method of dynamic relaxation with kinetic damping, for the form finding, analysis and fabrication patterning of wide-span cable nets and grid shells.” Kinetic damping is one of Barnes’ signature contributions.

A University of Bath impact case study explains how the method moved into building. Barnes led Bath’s Digital Architectonics group from 1995 to 2008, and in the late 1990s he extended dynamic relaxation “to include compression and bending elements.” Chris Williams, at Bath since 1976, worked with Shepherd on extending it to gridshells made of long, continuous members. Earlier, at Arup, Williams had worked on Frei Otto’s Mannheim Multihalle, and he later did the geometric form finding for the glass roof over the British Museum’s Great Court (2000).

Mannheim is where the gridshell story begins, though not where the algorithm does. The Multihalle was built in 1975 for the Federal Garden Exhibition by Carlfried Mutschler and Joachim Langner with Frei Otto, with Ted Happold and Ian Liddell as engineers. It spans over 60 m and covers 7,400 m². Its form came from a hanging-chain model. A few years earlier, the 74,800 m² cable-net roof in Munich (1972) had been worked out from physical models that matched the real structure exactly in geometry and elasticity, together with computer programs by Klaus Linkwitz and J. H. Argyris. Bath’s own case study calls Weald and Downland “the first permanent timber gridshell to be built since Mannheim.” That is where you can see the gap between them close: what Otto’s team solved with chains, Buro Happold’s team solved with a relaxation solver.

←TODAY: A 1965 algorithm runs inside a free Grasshopper add-on on a laptop in a Zürich studio. →3012: Shapes are defended by the energy they minimise, not by the file that produced them. Fulcrum: The method lasted because its answer depends only on physics; the fictitious masses were always disposable.

Then came the canvas. David Rutten’s Grasshopper, first released in 2007, gave architects a visual language where you learn the method while you build the project. Daniel Piker’s Kangaroo put dynamic relaxation into that language. Piker’s own explanation on the McNeel forum is clear: “Kangaroo works by minimising total energy.” Each goal defines an energy that is zero under certain geometric conditions. In his words: “This happens in a dynamic fashion, using momentum, so the movement will oscillate about the equilibrium, and damping is used to remove energy and ensure convergence.” Kangaroo 1 used classical dynamic relaxation and added up accelerations. Kangaroo 2 changed that. As Piker writes: “Since version 2, Kangaroo doesn’t actually use the classical form of DR, but a new form where instead of summing accelerations, it combines projections onto the zero energy state of each goal.” He credits conversations with the LGG group at EPFL about Projective Dynamics, while noting that Kangaroo’s method differs from it, and compares the approach to ADMM. Making that change, documenting it and shipping it free to every designer is engineering work in its own right. One person took a research method used by specialist engineering groups and put it on everyone’s canvas.

In practice

In practice: In a Swiss office, the people who use this are the Holzbau engineer testing a lath grid before anyone orders oak, the facade consultant form-finding a membrane canopy, and the twelve-person studio that wants a competition roof to look as if it carries load honestly. In Grasshopper, the setup is the same each time. A mesh plane, an Edge Lengths goal for springiness, an Anchor goal for the supports, and a solver (the Columbia GSAPP tensile-membrane tutorial uses exactly this chain). In PAZ’s Building System Specialist programme, Kangaroo sits alongside Rhino, Grasshopper and Archicad for the same reason.

Knowing the algorithm changes how you debug. If a definition shakes, explodes or never settles, the model is usually fine. The problem is damping, step size, or goals that contradict each other, such as an anchor that sits where an edge-length goal can’t reach. Change one goal strength at a time and watch the residual instead of the animation. The Monday move: add a panel to every Kangaroo definition your office ships that lists, in plain words, each goal, its strength, and what equilibrium the solver is looking for.

Here is the trade-off, stated plainly. Dynamic relaxation finds a shape where the forces balance. It says nothing about whether a lath will buckle, whether a clamp will hold, or whether green oak will crack on the bend. Those are separate checks with separate tools, and an engineer has to sign them off.

Hack

Hack: Hang a chain of eleven nodes between two supports and let viscous damping drain its energy until it rests in its sagging equilibrium. This is a physics lesson. The mass is 1, c is the damping, and the loop applies residual → velocity → position exactly as Day wrote it. The final print shows the sag and the largest leftover residual.

import numpy as np; n,k,g,dt,c=11,50.0,-1.0,0.05,0.9; X=np.c_[np.linspace(0,10,n),np.zeros(n)]; V=np.zeros_like(X)
for it in range(4000):
    d=np.diff(X,axis=0); L=np.linalg.norm(d,axis=1,keepdims=True); T=k*(L-0.9)*d/L; R=np.zeros_like(X)
    R[:-1]+=T; R[1:]-=T; R[:,1]+=g; R[[0,-1]]=0; V=c*(V+dt*R); X+=dt*V
print(np.round(X[:,1],2), np.abs(R).max())

Set c=1.0 to remove damping and the chain never settles. Change dt and it settles faster or slower, but into the same shape. That is the fictitious mass and time step showing that they don’t affect the answer.

The site line

From the vantage of the late 2070s, the parametric work worth keeping turned out to be the work whose logic someone could rebuild. Kangaroo’s habit of naming the energy it minimises is a good habit to copy. Write the objective down, because the file format won’t outlast you.

On site, none of this looks like code. At Weald and Downland, according to the building press, the flat oak lattice was lowered at its edges a few centimetres each day into its final shape. The design office never sees the time step. It sees a mesh that finds its shape. The site sees a crew lowering a grid, slowly enough for the timber to cooperate. Open your last Kangaroo definition, write down which energy it minimises, and hand the buckling and the connections to the engineer.

Sources & Further Reading

FILED FROM
CO-SIGNERS
PAZ Academy
CONFIDENCE
HIGH
REPRINTS
© PAZ - PARAMETRIC ACADEMY ZURICH · ALL RIGHTS RESERVED

PAZ Kaffi · multidisciplinary editorial, led by PAZ Academy

⚑ REPORT AN ERROR · SUBMIT A CORRECTION
◂ BACK TO FRONT PAGE · PAZ KAFFI

© 2026 PAZ Academy.