Sliding the partition through the lattice
A chain of pseudopotential cores, one valence electron each, and the domain walls placed by hand as planes between neighbouring cores. The walls are then shifted together by d and the energy recorded. E(d) is periodic with period a, and its amplitude is the Peierls–Nabarro pinning barrier.
Why this is well posed when the free-boundary runs were not. Nothing is searched for. The free boundary moves by local single-cell label flips, so it descends to whichever configuration no single flip improves — which depends on the seed, not on the physics. Measured spreads: 0.005 Ha between builds on the ring, 0.013 across seeds on the alkali chain, 0.031 on H− + H, and outright non-convergence on the kink chain, against barriers of order 0.001–0.02. Here the partition is specified and frozen, only the wavefunctions relax, and the same input gives the same output. It is the trick that made the H2 midplane work, applied to a coordinate instead of a symmetry.
What is being measured. At d=0 each wall sits midway between two cores and every domain is centred on its own core — the commensurate, lowest-energy registry. At d=a/2 the walls sit on the cores, the least favourable registry. The difference is the cost of sliding the whole electron pattern one half spacing through the lattice, which is exactly what ring_slide measured by rigid rotation and got 0.01186 Ha for six electrons — but that number moved to 0.022 on a recompile, because the partition there was found rather than given.
This is rigid sliding, the expensive path. Every electron moves at once and the cost grows with chain length, so it is an upper bound, not the activation energy. The cheap path is a kink, whose cost is length-independent — a non-uniform wall spacing, which the same machinery can specify once rigid sliding is checked.
URL: ?n=5 cores, &a=6.0 spacing, &rc=1.6 core radius, &d=0 wall shift in units of a (scan 0 → 0.5), &zeff=1.0, &h=0.30, &reset.