← Simulating on a Lattice

Lattices and Wallpaper Groups

Part 1 of 6. Five kinds of lattice, seventeen kinds of periodic pattern, and the few rotations and reflections a simulation on a grid gets to keep.

A cellular automaton puts a cell on every point of ℤ²; a lattice gauge theory puts link variables on the edges of ℤ⁴. Both replace the continuum by a lattice, the integer combinations of a basis:

The continuum looks the same after any rotation. A lattice looks the same after only a few, and a simulation on it inherits those few.

Which rotations can a lattice have?

In the lattice basis a symmetry has an integer matrix, so an integer trace. A rotation by θ has trace 2 cos θ in any basis, which leaves five orders:

Figure 1 checks this by search: for each order n, which lattice comes closest to mapping onto itself under a turn by 360°/n?

Figure 1. Left: the smallest miss over all lattice shapes, in units of the shortest lattice vector. Right: the best lattice for the selected n (click a bar, or use the arrow keys); rings are its sites turned by 360°/n. Away from 1, 2, 3, 4 and 6 the rings drift further off the dots with distance.

Five Bravais lattices

Every lattice has the half turn x ↦ −x, one mirror brings a perpendicular one, and a four- or six-fold lattice is square or hexagonal, both of which have mirrors. So the full point group of a lattice is C2, D2, D4 or D6. D2 fits two ways: the shortest vectors along its mirrors generate the lattice (rectangular) or only half of it (centred rectangular, with a rhombic cell). That makes five types.

Figure 2 finds the type from the lattice, not the sliders: it reduces the basis to the shortest, most orthogonal pair and counts the orthogonal maps that send it to lattice vectors. Try |a1| = 50, |a2| = 100, γ = 60°, a basis that looks oblique.

|a1|
70
|a2|
70
γ
90°

Figure 2. Dashed: the cell of your basis (a1, a2). Solid purple: the reduced cell. Mirror lines come from the search, which allows about 1% in length and 1° in angle so integer sliders can hit the symmetric cases.

Decorating the lattice

A motif at every site can add symmetries the bare lattice lacks: rotation centres between sites, mirrors, and glide reflections, a reflection followed by a half-period slide along the line.

The symmetry group G of a periodic pattern is a wallpaper group. Dividing out its translations T leaves a finite point group P of linear parts, in which a glide counts as a plain reflection:

P maps T to itself, so the restriction applies again and P is one of ten groups:

Where do seventeen groups come from?

Pairing each point group with each way it can sit on a lattice gives thirteen symmorphic groups, each with a point fixed by a copy of the whole point group. Carrying reflections out as glides adds pg, pmg, pgg and p4g; on centred lattices it adds nothing, since cm and cmm already have glides. Fedorov listed the seventeen in 1891.

Figure 3 sorts the groups by what the page computes from their stored generators, written in lattice coordinates after the International Tables. The coordinates matter: the integer matrix that turns the hexagonal basis by 120° is a shear if read as Cartesian, which draws several groups wrong.

Figure 3. Each chip is one group, under its lattice and the point group computed from its generators. Solid chips are symmorphic (the page searches the cell for a point every coset fixes); dashed chips have none. Select a chip to draw it in Figure 4.

Reading the seventeen patterns

The names are Hermann–Mauguin symbols: p or c for the cell, the highest rotation order, then m, g or 1 for what lies along and across the main directions. The easy pair to swap is p3m1 and p31m. In p3m1 the mirrors are perpendicular to the shortest lattice vectors and pass through every three-fold centre; in p31m they are parallel, and some centres sit between mirrors.

Figure 4. The orbit of one F; mirrored copies are lighter. Solid blue: mirrors. Dashed orange: glides that are not mirrors. Lens, triangle, square, hexagon: 2-, 3-, 4-, 6-fold centres. pm and pg, pmm and pgg, p4m and p4g share a point group; only mirrors become glides.

Can you name a group?

Look for the highest rotation, then mirrors, then glides, which are the hard part: a row matches the reflected next row only after a half-step slide.

Figure 5. Drawn by the Figure 4 code with overlays hidden. A wrong guess reveals the answer.

What does a simulation inherit?

A rule that treats every neighbour alike commutes with its lattice’s point group, so a symmetric start stays symmetric (Part 3 watches this in Life). A stencil or velocity set reaches the continuum through its moments, and the rank-k moment is isotropic when its directional form is the same at every angle:

Mk has angular harmonics up to k, and a turn by 360°/n kills every harmonic that is not a multiple of n. So a square set is isotropic at rank 2 but not rank 4, and a hexagonal set passes rank 4 and fails at rank 6. Rank 4 is the one a fluid’s viscosity needs (Part 4). A square set can fix it with a diagonal shell weighted to meet

which gives wd = wa/4 for diagonal and axis weights: the 1/36 and 1/9 of D2Q9 (Part 5).

wd/wa
0.25

Figure 6. Mk(θ) over its mean, for the four-neighbour square set, the square set plus diagonals weighted by the slider, and the six-neighbour hexagonal set. Dashed circle: isotropy. Numbers: measured peak-to-peak variation.

How does a wave feel the grid?

The same moments set the error of a discrete Laplacian with spacing h:

The square’s error term has the angular shape of the rank-4 moment in Figure 6’s first row; the hexagon’s is isotropic at this order, and its anisotropy starts at h4 with the rank-6 moment. Figure 7 drives a wave on each grid and fits its wavelength along two directions the lattice does not relate.

Square, 5-point
Hexagonal, 7-point

Figure 7. One quadrant around a source at the lower-left corner; beyond it an outer ring absorbs. The source frequency gives the chosen cells per wavelength in the continuum. Grey bands are crests, and the coloured arcs are circles through the crests along 0°: on the square grid the crests pull away from them toward 45°. Wedges mark where the wavelength is fitted. Below: the fitted difference between the two directions (dots) and the prediction from each stencil’s dispersion relation (lines).

The fitted slopes in the readout sit somewhat above 2 and 4, the powers of h in each stencil’s leading anisotropic error (the next order still counts at a few cells per wavelength), so refining the grid helps the hexagon much faster. Square grids stay common because they are easy to index and extend to three dimensions, where the same count gives 14 Bravais lattices, 32 point groups and 230 space groups.

Part 2 turns to time, where what an integrator should keep is area in phase space.