Spin ice - 2D square-ice vertex model

Monte Carlo on a square-ice lattice: ice rules, monopole defects, Dirac strings, residual entropy.

Switch to 3D

Presets

Playback

Parameters

Click an arrow to flip it by hand: two monopoles appear at its ends.

Model checks

The science

Ice rules and frustration

In spin ice every vertex (a tetrahedron in the 3D pyrochlore lattice, a four-way crossing here) wants two arrows pointing in and two out. The vertex charge is q = nin - nout and the energy is E = Δ q2/4, so ice vertices cost 0, three-in-one-out costs Δ and four-in costs 4Δ. Ground states are hugely degenerate: the system is frustrated and cannot pick one.

Residual entropy

Counting the 2-in-2-out states gives a zero-temperature entropy per vertex S/kB = ln W. Pauling's estimate is (1/2) ln(3/2) per spin, i.e. ln(3/2) = 0.4055 per vertex for two spins per vertex; Lieb's exact six-vertex result is (3/2) ln(4/3) = 0.4315. The sim enumerates all 218 states of a 3 x 3 torus to count the ice states exactly.

Monopoles and Dirac strings

Flipping one arrow turns two neighbouring ice vertices into opposite charges q = +2 and q = -2: an emergent monopole pair. Flipping a chain of arrows moves one monopole away, leaving a string of reversed arrows (a Dirac string). Total charge is always zero because each arrow contributes +1 to one vertex and -1 to the other.

Metropolis dynamics and field

One arrow flip is accepted with probability min(1, e-ΔE/T) in units where kB = Δ = 1. A field B along the (1,1) diagonal adds -B s per arrow; the fully polarized state is itself an ice state, so a field selects one ground state and monopole-free order appears.

Honest simplifications: this is the nearest-neighbour two-dimensional square-ice (six-vertex) model, not the 3D pyrochlore dipolar spin ice. Real spin ice (Dy2Ti2O7, Ho2Ti2O7) has long-range dipolar interactions and monopoles that interact with a Coulomb law; here the monopole interaction is only the on-site charge cost. Single-flip dynamics freezes at low T, as real spin ice does.

What to try
  • Quench from random at T = 0.2 and watch the ice fraction rise, then freeze with a few defects left.
  • Turn on the anneal toggle for a much cleaner ground state.
  • Raise the field B to polarize all arrows.
Ice-rule vertices and monopole density vs time
Energy per vertex vs temperature
Polarization m (field axis)