Field Notes // Architected Materials Primer

The geometry
is the material.

A working guide to how lattice parameters set mechanical properties — and the free tools to feel it for yourself.

01 The core idea

Structure, not composition, does the work

A block of titanium has one stiffness. Carve that same titanium into a lattice and you can dial its effective stiffness across two orders of magnitude — without changing the alloy at all.

That is the whole promise of architected (or "meta-") materials: the unit cell — the smallest repeating arrangement of struts, walls, or surfaces — becomes the design variable. Properties stop being a fixed lookup from a datasheet and become something you engineer geometrically. Change the shape, spacing, and thickness of the cell, and stiffness, strength, energy absorption, and permeability all move with it.

Biomimicry lens Nature got here first. Trabecular bone is a stochastic cellular solid whose local density is tuned to the loads it carries; wood, cork, and marine sponge all trade a little solid material for a lot of performance. Reading them as lattices — density, connectivity, orientation — is exactly how you translate a biological structure into a repeatable, printable CAD design.
02 The four families

A field guide to lattices

Almost everything you'll meet falls into four buckets. The bucket largely decides how the cell deforms — which is the single biggest clue to its mechanical behavior.

Strut / truss

BCC · FCC · Octet · Kelvin · Diamond

Networks of beams meeting at nodes. The node count per joint (connectivity) is what makes these either stiff or springy.

TPMS — sheet

Gyroid · Schwarz-P · Diamond · IWP

A single smooth surface, given thickness, that splits space into two channels. Curvature everywhere — no stress-raising corners.

TPMS — solid / skeletal

Gyroid · Schwarz-P (network)

The skeleton of the surface, thickened into a solid strut-like network. Smooth like a TPMS, but load paths behave more like a truss.

Stochastic

Voronoi foam · Spinodoid · GRF

Randomized cells with no single repeating unit. Great for grading and for mimicking bone; more variable, harder to predict cleanly.

03 The master variable

Everything hangs on relative density

If you learn one number, learn this one. Relative density is the fraction of the cell's volume that is actually solid:

ρ̄ = ρ*ρs  =  density of the latticedensity of the solid it's made from ρ̄ runs from ~0.05 (very porous) to ~0.6 (nearly solid). It is the porosity's complement.

Nearly every mechanical property is a power law in ρ̄. Double the solid you pack in and stiffness might quadruple — or merely double — depending entirely on how the cell carries load. That "how" is the next section, and it's the difference between a good design and a wasteful one.

04 The deciding mechanism

Bending vs. stretching

Picture the joints of a lattice replaced with frictionless pins. Push on it. One of two things happens — and it changes everything downstream.

Bending-dominated

low connectivity · Z < 12

Struts rotate at the joints and bow. Compliant, forgiving, big flat plateau — excellent for absorbing energy.

Stretching-dominated

high connectivity · Z ≥ 12

Bracing forces struts to carry axial load. Stiff and strong for its weight — the choice when you want structural efficiency.

The formal test is Maxwell's criterion: count struts b and joints j in the cell. If the frame has enough bracing to stay rigid as a pin-jointed truss, it stretches; if not, it bends.

M = b − 3j + 6   →   M ≥ 0 stretch-dominated  ·  M < 0 bend-dominated 3D form. A quicker proxy: average nodal connectivity Z. Octet (Z=12) stretches; a simple foam (Z≈4) bends.
The trade you're actually making. Stretch-dominated = stiff + strong but fails abruptly (struts buckle, load drops). Bend-dominated = softer but degrades gracefully with a long energy-absorbing plateau. There is no universally "best" cell — only the right one for the job. Sheet-TPMS sits in between and is why it's a workhorse for implants: smooth, fatigue-friendly, and reasonably stiff.
05 The math you'll actually use

Gibson–Ashby scaling laws

Gibson and Ashby distilled all of this into power laws. They are approximate, but they are the back-of-the-envelope tools that let you size a lattice in seconds. Two matter most — stiffness and strength:

E*Es = C1 · ρ̄n
|
σ*σys = C2 · ρ̄m
stiffness (left) and strength (right), each normalized by the solid material's value

The exponents are set by the deformation mode from Section 04 — this is where bending vs. stretching cashes out in numbers:

Bending   n ≈ 2  ·  m ≈ 1.5
vs
Stretching   n ≈ 1  ·  m ≈ 1
The constants C₁, C₂ are topology-specific (~0.3–1) and are pinned down by testing or by homogenization (Section 07).

A lower exponent is a steeper payoff: at low density, a stretch-dominated cell (n≈1) is far stiffer than a bend-dominated one (n≈2) at the same weight. Watch it happen:

◆ Live scaling explorer drag the density · switch the mechanism
Normalized stiffness E*/Es
0.050
Effective modulus E*
5.7 GPa
Worked example Ti-6Al-4V, ρ̄ = 0.15. Stretch-dominated octet (n≈1, C₁≈0.33): E* ≈ 0.33 × 0.15 × 114 GPa ≈ 5.7 GPa. The same density as a bending foam (n≈2, C₁≈1): E* ≈ 1 × 0.15² × 114 ≈ 2.6 GPa. Same weight, same alloy — 2.2× the stiffness from topology alone. And note: solid Ti is 114 GPa vs. bone's ~1–20 GPa, so latticing is also how you drop implant stiffness toward bone and avoid stress-shielding.
06 The whole control panel

Which knob moves which property

Relative density and topology are the big two, but a handful of other parameters give you finer control. Here's the cheat sheet — hover any cell for the mechanism behind it.

Parameter ↓   Property → Stiffness
E*
Strength
σ*
Energy
absorb.
Buckling
resist.
Fatigue
life
Perme-
ability
Strong influence Moderate Weak / indirect
07 Going deeper

How the constants are actually found: homogenization

The scaling laws give you ρ̄n, but the constants C1, C2 — and the full directional behavior — come from homogenization. The idea is simple even if the machinery isn't: replace the complicated porous cell with an equivalent solid block that behaves the same at a distance.

Formally, you relate the volume-averaged stress to the volume-averaged strain through an effective stiffness tensor:

σij⟩ = C*ijklεkl⟩ ,    ⟨·⟩ = 1VV · dV the effective medium: whatever C* makes the averages match

In practice — this is the "virtual testing" recipe you'll run in the tools below:

Build one representative unit cell (RUC)

The smallest tile that captures the cell's symmetry. Mesh it cleanly — and make the mesh periodic, so opposite faces match.

Apply six unit strains with periodic boundaries

Three normal, three shear. Periodic BCs make the single cell behave as if it's buried in an infinite array — no fake free-surface effects.

Average the resulting stress

For each load case, volume-average the stress field. That gives you one column of the stiffness matrix.

Assemble the 6×6 stiffness tensor

Six load cases fill the full C*. From it you read off E*, shear moduli, Poisson ratios, and — crucially — the anisotropy.

C₁₁C₁₂C₁₂000
C₁₂C₁₁C₁₂000
C₁₂C₁₂C₁₁000
000C₄₄00
0000C₄₄0
00000C₄₄
A cubic cell needs just three numbers. The Zener ratio A = 2C₄₄ ⁄ (C₁₁−C₁₂) tells you how directional it is: A = 1 is perfectly isotropic; octet is famously not.
The quick sanity bounds Before running anything, bracket the answer. Voigt (assume uniform strain) is the stiffest possible; Reuss (uniform stress) is the softest; the true value lives between. Hashin–Shtrikman tightens that window for isotropic mixtures. If a homogenization result falls outside these, your model is wrong — not your material.
08 The property that bites

Direction matters more than you'd think

A lattice measured stiff along Z can be a noodle at 45°. That directional stiffness surface — plot E as a function of loading direction and you get a lobed 3D shape, not a sphere — is often the difference between a part that works and one that surprises you in service. Octet trusses are strongly anisotropic; many sheet-TPMS (gyroid especially) are close to isotropic, which is a large part of why they're trusted in implants and pressure-loaded parts. When you orient a lattice, you're orienting its whole property surface with it — align the stiff axis with your primary load.

09 Advanced sidebar
◇ Open method · presented at CDFAM

PI-TPMS — phase-intersected minimal surfaces

Once the fundamentals click, here's a technique from our own bench that's fully public. Standard TPMS give you smoothness but pin you to bending-ish behavior at low density. Phase-intersected TPMS (PI-TPMS) takes two (or more) copies of a TPMS field, phase-shifts them, and keeps only where they intersect. The intersections lay down strut-like reinforcement along the surface seams — you get TPMS smoothness with more truss-like, stretch-efficient load paths.

Two details make it practical:

Predictable density.  Relative density scales with the square of the controlling radius parameter — ρ̄ ∝ r² — so density becomes a clean, monotonic knob instead of a fiddly threshold hunt.

Round struts, by construction.  A naïve iso-threshold leaves lens-shaped, oval strut cross-sections that concentrate stress and print poorly. Swapping the threshold for a true Euclidean distance-to-surface gives genuinely cylindrical struts — better fatigue, better printability. We call it the distance-formula cylindricality fix, and it's open for anyone to use.

The point for you as a learner: TPMS isn't a fixed catalog. Once you can read the implicit field, you can compose new cells with properties the catalog doesn't have.

10 Get your hands on it

The GUI-first toolchain

You do not need to write code to build real intuition. Start clicking. Generate a cell, sweep the density, look at what changes. These are the click-and-drag tools — all free unless noted — ordered roughly generate → explore → analyze.

Generate geometry no code needed

MSLattice

Free GUI

The friendliest starting point. A MATLAB app (runs standalone) for uniform and graded TPMS — set topology, relative density, cell size, grading, hybridization, sheet or solid, export STL. Best first hour you can spend.

Lattice_Karak

Open · GUI

Open-source GUI covering density grading, cell-size grading, hybridization, and hierarchical cells. Runs as a standalone app — no MATLAB license required.

LattGen

Open · GUI

Open-source with the raw code exposed, equation-driven grading, and a large library of minimal-surface functions if you want to reach past the usual gyroid/Schwarz set.

F13LD suite

Not a Robot · browser

Our own browser-native, single-file tools — nothing to install, WebGL/WebGPU rendering, Manifold export. TPMS, Grain, Foam, Noise, Mesh (3MF), plus write-ups in Field Notes. Built exactly for this kind of parameter play.

Explore properties data-first

LatticeRobot

Interactive index

An interactive environment that indexes the real, empirical properties of lattices, textures, and metamaterials — mix base materials and geometries and see data-driven, optimized implicit cells. The fastest way to build a felt sense for the parameter → property map without printing a thing.

F13LD · Lab / Synth

Not a Robot · browser

Lab runs in-browser homogenization on a cell you built; Synth flips the problem — name the properties you want and it suggests the geometry (inverse design). Both stay in the click-and-drag world.

Analyze & homogenize free

TPMS Designer

Open · GUI

Where generation meets analysis. Open-source MATLAB toolbox (standalone version too) that generates and characterizes TPMS — pulls out surface, morphology, and mechanical metrics you can feed into CAE.

Microgen

Python · when ready

The step past the GUIs. Open-source Python for RUC generation and periodic meshing (TPMS, octet, Voronoi), exporting solver-ready files for real FEA homogenization. Worth knowing exists for when you want the full 6×6.

11 A route through it

If I were starting today

01

Get the theory from the source

Work through the free MIT OpenCourseWare course on Cellular Solids (Lorna Gibson) — full video lectures and notes. This is Gibson–Ashby, taught by the person who wrote it, with a strong bone/biomimicry thread.

→ MIT OCW 3.054 · lecture videos on YouTube
02

Make a hundred cells

Open MSLattice or an F13LD tool and sweep. Change one parameter at a time — density, then topology, then grading — and build muscle memory for what each does to the shape.

→ MSLattice · F13LD suite
03

Connect geometry to numbers

Come back to the scaling explorer above with real intent, then browse LatticeRobot to see how measured data tracks (or defies) the tidy power laws. This is where intuition sets.

→ Scaling explorer · LatticeRobot
04

Analyze one cell properly

Take a single cell through TPMS Designer or F13LD.Lab. Read its stiffness and anisotropy. Now the 6×6 matrix means something because it's your cell.

→ TPMS Designer · F13LD.Lab
05

Print it and break it

Nothing calibrates like a real compression test. Print a few densities, crush them, plot force–displacement against the scaling laws. The gap between prediction and reality is the whole rest of the field.

→ any printer + a caliper + curiosity
12 Read further

Sources & open reading

  1. Gibson, L. J. & Ashby, M. F.Cellular Solids: Structure and Properties, 2nd ed. The canonical text. Its theory is taught free via MIT OCW 3.054 (video + notes).
  2. MIT OpenCourseWare 3.054Cellular Solids: Structure, Properties and Applications (Lorna Gibson). Full course, free. ocw.mit.edu ↗
  3. Architected cellular materials review — mechanical properties toward fatigue-tolerant design; strong on the bending/stretching classification. ScienceDirect ↗
  4. Effect of Lattice Topology on Mechanical Properties — open-access study, 55 printed lattices across topology and density (modulus, yield, plateau, energy). A clean worked parameter sweep. PMC open access ↗
  5. Mechanical Homogenisation of TPMS Architectures — FE vs. Mechanics-of-Structure-Genome, using the open-source Microgen tool. Good on the virtual-testing recipe. PMC open access ↗
  6. Al-Ketan, O. & Abu Al-Rub, R. K. — MSLattice: free software for uniform and graded TPMS lattices. Wiley ↗