Percolation on the square lattice

Fill each site of an L × L grid independently with probability p. Around pc ≈ 0.5927 a single cluster first stretches from the top edge to the bottom, and every quantity you can measure turns into a power law with universal exponents. Drag p to watch the transition, then let the simulation measure the exponents and test the relations between them.

Based on lecture notes by Sang Hoon Lee, following K. Christensen and N. R. Moloney, Complexity and Criticality (2005). References

Every site keeps the same random number, so raising p only ever adds sites and you see clusters merge.

p = 0.5927
pc
Coloring
Filled sites
–
Clusters per site
–
Spans top to bottom
–
P, share of sites in the largest cluster
–
χ, mean size of the other clusters
–
ξ, correlation length (sites)
–
(p − pc) / pc
–

Order parameters across p

A second simulation adds sites one at a time in random order (the Newman–Ziff method), so a single run gives every p at once. It repeats this for four lattice sizes and averages; add L = 256 for sharper exponents if your device can handle it. The spanning probability R and the largest-cluster share P play the role of order parameters; χ and ξ are the “susceptibility” and correlation length, and both peak at the threshold. Click any chart to move p.

Spanning probability RL(p)Chance that a cluster connects top and bottom. The step sharpens as L grows.
Largest-cluster share PL(p)Tends to zero below pc and to P∞(p) above it.
Mean cluster size χL(p)Sum of s² over all clusters except the largest, per site. Diverges at pc as L → ∞.
Correlation length ξL(p)Size-weighted radius of gyration of the finite clusters. Capped by the lattice size.
P ∝ (p − pc)β above the thresholdLog–log. The dashed line has the exact slope β = 5/36; finite lattices flatten out close to pc.
χ ∝ (pc − p)−γ below the thresholdLog–log. The dashed line has slope −γ = −43/18; each size bends over once ξ reaches L.

Measuring the exponents

Right at the threshold nothing sets a length scale except the lattice itself, so every quantity scales as a power of L. Slopes on these log–log plots give the exponent ratios directly. The cluster-size distribution ns comes from separate periodic 256 × 256 lattices filled at pc.

Evaluate the quantities at
Steepest slope of R: max dR/dp ∝ L1/νThe transition window shrinks like L−1/ν.

Order parameter at pc: P ∝ L−β/νThe spanning cluster occupies a vanishing share of sites.

Peak susceptibility: χmax ∝ Lγ/ν

Largest cluster mass at pc: M ∝ LDThe incipient spanning cluster is a fractal.

Correlation length at pc: ξ ∝ LFinite-size scaling predicts slope 1.

Cluster numbers at pc: ns ∝ s−τClusters of size s per site, log-binned, on periodic 256 × 256 lattices so edges do not cut clusters. Fit over 20 ≤ s ≤ 3000.

Scaling relations

The exponents are not independent. Hyperscaling ties them to the dimension d = 2, and the cluster-number exponent τ links to the fractal dimension. Here each relation is checked with numbers measured independently above; small mismatches come from finite sizes and sampling noise, and they shrink as you add samples.

Data collapse

If finite-size scaling holds, QL(p) = L−a f((p − pc) L1/ν) for one function f. Rescale the axes and the curves should fall onto a single line only when pc, 1/ν and a are right. Try moving the sliders away from the correct values to see how sensitive it is.

Collapsed curves

The vertical axis plots La·Q, so for P the exponent a is β/ν and for χ it is −γ/ν.

Fractal geometry of clusters

The cluster numbers ns and the order parameter P∞ only count how big clusters are; they say nothing about shape. To see the geometry, mark out square windows of side ℓ around sites of the percolating cluster and count how many of its sites fall inside, M(p;ℓ). At pc this mass grows as ℓD with the fractal dimension D = 91/48 ≈ 1.90, smaller than d = 2. The density P(p;ℓ) = M/ℓd ∝ ℓD−d therefore keeps falling as the window grows, which is how P∞(pc) = 0 even though a spanning cluster exists. These panels use their own 512 × 512 lattice and follow the p slider at the top of the page.

Preparing the 512 × 512 lattice…

(a) The largest clusterOnly sites of the largest cluster are drawn. The outlined corner is enlarged in (b).
(b) Its upper-right corner, enlargedAt pc the enlargement looks statistically like the whole: self-similarity. Well above pc the whole looks uniform while the close-up still has holes.
Mass in a window: M(p;ℓ) ∝ ℓDAveraged over 300 windows centered on sites of the largest cluster. Dashed: slope D = 91/48. Dotted: slope d = 2. The red line marks ξ at the current p.

Density against window size: P(p;ℓ) = M/ℓ2At pc it falls as ℓD−d forever. Above pc it falls only until ℓ ≈ ξ, then levels off at P∞(p): the shorter length scale wins.

Size against radius of gyration: s ∝ RsDGray: individual finite clusters at the current p. Blue: Rs = √⟨R²(s)⟩ averaged over clusters of similar size.

Crossover for single clusters: M(s;ℓ)/ℓD = m(ℓ/Rs)Windows centered on the center of mass of the largest finite clusters away from the edges. Flat for ℓ ≪ Rs, slope −D (dashed) once the whole cluster fits inside.

Scaling function above pc: M∞(ξ;ℓ)/ℓD = m∞(ℓ/ξ)The curves for several p above pc share one shape once ℓ is measured in units of ξ: constant for ℓ ≪ ξ, slope d − D (dashed) for ℓ ≫ ξ.

The same two relations, D = 1/(σν) from sξ ∝ ξD and the hyperscaling relation D − d = −β/ν from the mass of the percolating cluster, can be checked in other geometries. On the Bethe lattice the number of sites within distance ℓ grows exponentially rather than as ℓd, so it behaves like infinite dimension, and hyperscaling then points to d = 6, the upper critical dimension. In one dimension P∞ jumps from 0 to 1 at pc = 1, so the transition is not critical in the strict sense, but the relations still hold with β = 0.

Real-space renormalization

A classic way to solve a problem is to find its characteristic scale and break it into smaller, uncorrelated pieces. Away from pc that scale is ξ. At pc there is none, since ξ → ∞, but the system is self-similar, and the renormalization group (Kenneth Wilson, Nobel Prize 1982) turns that into a method. Rescaling every length by b > 1 sends ξ ↦ ξ/b. The only states left unchanged are ξ = 0, the empty and full lattices at p = 0 and 1, and ξ = ∞ at pc. These are the fixed points of the rescaling: 0 and 1 attract, while pc repels.

The exact rescaling Tb(p) would give ν = log b / log Tb′(pc), but Tb is unknown. Since ν is set by large-scale behavior, fluctuations smaller than b can be smeared out. The real-space RG transformation Rb does this in three steps: (a) divide the lattice into blocks of side b, (b) replace each block by one site occupied with probability Rb(p) according to a rule, and (c) shrink all lengths by b. Its fixed point Rb(p*) = p* approximates pc, and ν ≈ log b / log Rb′(p*).

Repeated coarse-grainingEach panel applies the block rule to the one before and is redrawn at the same size, which is the rescaling step. Below p* the picture drains toward the empty lattice, above it fills toward the full one, and at p* it keeps looking alike.

The RG map Rb(p) and its iterationSolid: Rb(p). Dashed: the diagonal, whose crossings are fixed points. The red staircase follows p ↦ Rb(p) ↦ Rb(Rb(p)) ↦ … from the starting p.
Flow in parameter spaceArrows show where one RG step moves p. Stars are fixed points; the open one repels.
Whole lattices as RG blocksThe spanning probability RL(p) from the size sweep is the vertical spanning rule with b = L, computed exactly inside each block. Dots mark its fixed points p*L, which close in on pc as L grows.

Coarse-graining throws information away. A 3 × 3 block has 29 = 512 configurations but becomes one site with 2, and in general N sites become N/bd, so the step cannot be undone. Strictly the transformations form a semigroup, not a group. The approximation also truncates parameter space. Two blocks can be linked in the original lattice yet end up only diagonally adjacent after coarse-graining. Keeping every connection would need next-nearest-neighbor bonds, then ever longer ones, an infinite set of parameters {p}, and the rules above keep only p. That is why p* ≠ pc and ν is only approximate on the square lattice. The chain needs no truncation and is exact, the triangular rule happens to hit pc = 1/2 exactly, and larger blocks (the last table) close the gap.

References

The fractal-geometry and renormalization sections follow lecture notes by Sang Hoon Lee, which are based on the key reference below.

Key reference. K. Christensen and N. R. Moloney, Complexity and Criticality, Imperial College Press, London (2005). Chapter 1 covers percolation, including cluster numbers, the order parameter, fractal geometry, finite-size scaling and real-space renormalization; Appendices C and D cover homogeneous functions and fractals.

  1. M. E. J. Newman and R. M. Ziff, “Efficient Monte Carlo algorithm and high-precision results for percolation,” Phys. Rev. Lett. 85, 4104 (2000). The site-by-site sweep and the binomial convolution used for every curve over p.
  2. M. E. J. Newman and R. M. Ziff, “Fast Monte Carlo algorithm for site or bond percolation,” Phys. Rev. E 64, 016706 (2001). Details of the algorithm and the value pc = 0.59274621.
  3. R. E. Tarjan, “Efficiency of a good but not linear set union algorithm,” J. ACM 22, 215 (1975). Union–find, used for all cluster labeling.
  4. M. E. Fisher and M. N. Barber, “Scaling theory for finite-size effects in the critical region,” Phys. Rev. Lett. 28, 1516 (1972). Finite-size scaling and data collapse.
  5. M. P. M. den Nijs, “A relation between the temperature exponents of the eight-vertex and q-state Potts model,” J. Phys. A 12, 1857 (1979). Exact ν = 4/3 in two dimensions.
  6. B. Nienhuis, “Critical behavior of two-dimensional spin models and charge asymmetry in the Coulomb gas representation,” J. Stat. Phys. 34, 731 (1984). Coulomb-gas derivation of the exact 2D exponents.
  7. K. G. Wilson, “Renormalization group and critical phenomena. I,” Phys. Rev. B 4, 3174 (1971). The renormalization group.
  8. P. J. Reynolds, H. E. Stanley and W. Klein, “Large-cell Monte Carlo renormalization group for percolation,” Phys. Rev. B 21, 1223 (1980). Using whole lattices as RG blocks, as in the last renormalization table.
  9. D. Stauffer and A. Aharony, Introduction to Percolation Theory, 2nd ed., Taylor & Francis, London (1994). General background on percolation.