Research / Metamaterials

Auxetic spring networks

After Doron Grossman, Arezki Boudaoud, “Predicting the mechanical properties of spring networks”, Physical Review Research (2026), doi:10.1103/17sg-gzhl.

Against the author’s code
None is public: the authors’ code is “available at request”
Against the paper’s figures
7 of 7 checks pass· see the checks

Research, not a design tool. Nothing here is an engineering result.

Pull a strip of Hookean springs and read how much it narrows. Shake the nodes of the triangular lattice and it starts to widen instead: it becomes auxetic. The network on the right is solved in your browser as a truss on Stabileo’s engine, and the same strip opens in the real Stabileo editor. No reference code is public (“available at request”), so we compare with the paper’s published numbers, closed forms and figures, and with exact results.

What the paper shows

Many materials, from metamaterial lattices to cell membranes, are modelled as networks of Hookean springs. Grossman and Boudaoud derive the elastic continuum that such a network behaves like, using only its geometry and topology, and they compute the nonaffine displacements: the local deviations from a uniform stretch that make disordered networks softer than the uniform-strain estimate. They check the theory against simulations of a stretched strip for three families: ordered triangular lattices, a honeycomb that turns re-entrant, and a “foam” made by randomly displacing the nodes of a triangular lattice, which becomes auxetic (negative Poisson’s ratio: it widens when pulled) as the disorder grows.

Try it: · ·

The model we solve

Springs e join nodes; each has stiffness ke, rest length ℓ̄e and current length ℓe, and the energy is E = ½ Σe ke (ℓe − ℓ̄e)² (the paper’s Eq. 3). A spring network is a pin-jointed truss, so the right pane shows it in the Stabileo viewer: each bar coloured by its axial force, on the deformed shape. We compute two things.

  • The paper’s strip test. A 13 × 52 strip (about 800 nodes), its top and bottom rows held, the top moved up by the imposed strain; the Poisson’s ratio is read from the width change between the two edge nodes nearest mid-height, as in the paper’s Sec. V A. Solved as a linear truss on the Stabileo engine’s sparse Cholesky factorisation; the same model solved by the production engine’s 2D truss analysis agrees to 10⁻¹⁴.
  • Exact effective moduli. A periodic cell under an imposed macroscopic strain, with every node free to relax: the stiffness that remains is the network’s elastic tensor C, including the nonaffine softening, with no boundary effects. The uniform-strain (affine) tensor is the same sum without relaxation.
  • Prestress (an addition, not in the paper’s computations): rest lengths shortened by a fraction, the network relaxed to equilibrium by Newton’s method, and the linear response taken about that state, tension stiffening included.

Comparison with the paper

Foam: the auxetic transition

The paper reports ν falling with the disorder η, crossing zero at η ≃ 0.46 and reaching −0.1 as η → 0.5. Our exact periodic moduli (10 samples of 26 × 26 cells for each η) cross zero at η = 0.446 and give ν = −0.148 at η = 0.5. This is a cross-protocol comparison: our periodic-cell mean falls inside every error bar of the paper’s 13 × 52 clamped-strip simulations in Fig. 5 for η ≤ 0.45; it does not validate our strip protocol. The paper’s marker at η = 0.49 is an arrow below its plot (about −0.14); ours there is −0.117.

Poisson’s ratio ν−0.200.20.400.10.20.30.40.5disorder η
  • Ours, periodic (exact moduli), mean of 10
  • Ours, the paper’s 13 × 52 strip protocol
  • Paper, Fig. 5 simulations (digitised, with error bars)
  • Paper, text: ν = 0 at η ≃ 0.46, −0.1 as η → 0.5
  • This network (periodic)

Our implementation of the strip protocol (dashed) reads 0.371 for the perfect lattice, where the exact value is 1/3 and the paper’s Fig. 5 shows 0.331. The excess is a free-edge effect of order 1/width: strips of 26 and 52 widths read 0.354 and 0.345, extrapolating to 0.336. The paper’s strip does not show it, and its text does not say enough about the measurement for us to find out why.

Honeycomb: Eq. (23)

A honeycomb of unit edges whose opposing corners are 2ℓ apart is regular at ℓ = 1 and re-entrant below ℓ = ½. The paper triangulates each hexagon with a centre node and springs 10⁻³ as stiff as the edges, and compares with the closed form ν(ℓ) = −(2 − 4ℓ)(ℓ + ½)/(3 + 4ℓ − 4ℓ²). Our periodic network agrees to 3.4 × 10⁻³ with those springs and to 3.4 × 10⁻⁶ with springs 10⁻⁶ as stiff: the difference is the soft springs’ own stiffness. ·

Poisson’s ratio ν−0.50−0.2500.250.500.751.0000.20.40.60.81.0ℓ
  • Paper, Eq. (23)
  • Ours, periodic network, k_radial = 10⁻³

Ordered lattices: an observation about spring constants

For ordered triangular lattices the paper gives a closed form, Supplemental Eq. (9), for ν as a function of the cell shape (φ, ψ) and orientation θ, plotted in its Fig. 4. A Bravais lattice has no nonaffine displacements, so the exact answer is the uniform-strain one, which we compute independently. Supplemental Eq. (9) and the calculation line of Fig. 7 (Young’s modulus of the (3, 2) lattice, read from the PDF’s vector data, times the area of one triangle) coincide with that affine result for spring constants ke ∝ 1/ℓ̄e², to 10⁻¹⁴ and 6 × 10⁻⁴. With equal spring constants we obtain ν = 1/6 at (φ, ψ, θ) = (1, 0.5, 0), where Eq. (9) gives 8/27. This may reflect a convention we have not identified; it is on our list of questions for the authors. ·

Select an ordered lattice (without dilution or prestress) to plot Eq. (9) against both spring laws.

We could not reproduce the simulation dots of Fig. 7: the paper does not say how its strip simulation measures Young’s modulus, and our reading (vertical force through mid-height over width and strain) does not reproduce those dots.

Rigidity and connectivity (an independent check)

Not in the paper: removing bonds at random from the triangular lattice lowers the mean coordination z from 6. Maxwell’s count (2 degrees of freedom per node against z/2 bonds per node) says a generic network cannot be rigid below z = 4. Our moduli vanish to rounding at z = 3 and stay finite above about z = 3.9, the rigidity percolation threshold (e.g. Jacobs and Thorpe, PRL 75, 4051, 1995). ·

modulus / k00.20.40.60.81.03456z = 4mean coordination z
  • Bulk modulus B / k
  • Shear modulus G / k

All checks

7 comparisons with published paper values run in CI, each with its tolerance
CheckObservedToleranceResult
Supplemental Eq. (9) = periodic network with equal-weight springs (7 lattices x 37 angles)
max |nu difference|
7.1e-151.0e-9✓ pass
Fig. 7 calculation line (741 points) = equal-weight Young's modulus x triangle area
max |Y difference|
6.0e-40.0100✓ pass
Eq. (23) honeycomb, k_radial = 1e-3 (l = 0.05 ... 0.95)
max |nu difference|
3.4e-35.0e-3✓ pass
Eq. (23) honeycomb, k_radial = 1e-6 (l = 0.05 ... 0.95)
max |nu difference|
3.4e-61.0e-5✓ pass
Fig. 9 at eta = 0: B = sqrt(3)/2, G = sqrt(3)/4
max absolute difference
2.7e-35.0e-3✓ pass
foam: cross-protocol comparison, periodic nu vs Fig. 5 clamped-strip error bars (eta 0 ... 0.45, 10 markers); not strip validation
markers outside
00✓ pass
foam: periodic zero crossing vs strip text eta = 0.46 (cross-protocol)
|eta_0 - 0.46|
0.01360.0200✓ pass
22 independent checks run in CI, each with its tolerance
CheckObservedToleranceResult
triangular lattice: bulk modulus = sqrt(3)/2 k
relative difference
1.3e-161.0e-10✓ pass
triangular lattice: shear modulus = sqrt(3)/4 k
relative difference
01.0e-10✓ pass
triangular lattice: Poisson's ratio = 1/3
absolute difference
5.6e-171.0e-10✓ pass
triangular lattice: isotropic
max |C - C_iso| / (B + G)
1.7e-161.0e-10✓ pass
triangular lattice: no nonaffine displacement
nonaffinity
4.1e-321.0e-18✓ pass
Bravais triangular lattices (7 shapes, 2 spring laws): periodic stiffness = Cauchy-Born
max relative difference
1.5e-151.0e-9✓ pass
Bravais triangular lattices: Cauchy relation C12 = C66
max relative difference
5.9e-171.0e-9✓ pass
square lattice: zero shear modulus (floppy)
|C33|
01.0e-8✓ pass
square lattice: C11 = C22 = k, C12 = 0
max difference
01.0e-9✓ pass
square lattice under tension t: C33 = 2 t (stress stiffening)
relative difference
1.1e-151.0e-9✓ pass
foam eta = 0.3: e^T C e A equals the second difference of the relaxed nonlinear energy
max relative difference
5.5e-81.0e-5✓ pass
foam eta = 0.3 in tension: e^T C e A equals the second difference of the relaxed nonlinear energy
max relative difference
2.2e-81.0e-5✓ pass
frame invariance: C of the rotated foam is C rotated
max relative difference
4.9e-161.0e-9✓ pass
dilution z = 3 (5 samples, 20 x 20): shear modulus vanishes
max G / k
1.1e-161.0e-6✓ pass
dilution z = 5.4 (5 samples, 20 x 20): every shear modulus at least 0.1 k
max(0, 0.1 - min G / k)
00✓ pass
foam strip (eta 0.3): displacements equal the production engine's solve_2d
max |du| / max |u|
3.0e-141.0e-8✓ pass
foam strip (eta 0.3): bond forces equal the engine's axial forces
max |dN| / max |N|
7.8e-141.0e-8✓ pass
equilateral strip 13 x 52 (paper's protocol): finite-size bias of nu
nu - 1/3
0.03790.0500✓ pass
equilateral strips 26 x 104 and 52 x 208: Richardson extrapolation of nu = 1/3
absolute difference
2.7e-35.0e-3✓ pass
lattice (1, 0.5), theta = 0, equal Hookean springs: exact nu = 1/6
absolute difference
1.1e-161.0e-12✓ pass
lattice (1, 0.5), theta = 0: Supplemental Eq. (9) evaluates to 8/27
absolute difference
01.0e-12✓ pass
foam: periodic ensemble regression at eta = 0.5 (10 seeds, recorded mean -0.147608233, sd 0.017861567)
|mean nu - recorded mean|
3.3e-160.0170✓ pass

Limitations

  • No reference code is public. Comparisons rest on the paper’s text, its closed forms, the vector data of Figs. 7–9 and a digitisation of the raster Fig. 5 (±0.002).
  • We have not implemented the paper’s own semi-analytical method (the nonaffine tensors W of its Eq. 20 in the mean-field approximation); we compare with its results.
  • Linear response only (small strain). The paper minimised the nonlinear energy at 1% strain; at that strain the difference is of order 1%.
  • Live solves and the automatic sweep currently run synchronously on the main thread. Large or prestressed networks can block navigation and Pause until a solve returns. Terminable workers and precomputed replay are pending.
  • The strip’s free edges bias the measured ν by O(1/width); the periodic moduli have no such bias.
  • Our ensemble (10 samples per η) estimates the mean to about ±0.005 at η ≤ 0.3 and ±0.01 near 0.5.
  • Agreement with a paper is not validation against experiments, and nothing here is an engineering design result.

Code and references

Cite this

Stabileo Research, “Auxetic spring networks”, reproduction of Doron Grossman, Arezki Boudaoud (2026), doi:10.1103/17sg-gzhl. Implementation: research/metamaterials/grossman-2026 at commit 41d1ab4f8a8a. Engine: the Stabileo engine at the same commit. Permanent links to this exact build are planned.