An N-body simulation of up to six of your devices, bores pointing inward at a shared center. Each magnet runs on the real driven equation of motion, and every magnet feels the actual magnetic field of all the others across the gaps.
Each magnet is pushed by its own coil's field wave through the 12-well landscape, integrated honestly — which is why a single tone never moves it and only certain two-tone beats do. The coupling between devices is genuine dipole–dipole force: each slug sits in the summed field of all the others and is pulled or pushed accordingly. Flip any magnet's polarity and its poles and orbit direction reverse.
EFH1's magnetization is modeled from first principles: it concentrates the field the magnet feels (Langevin saturation) and adds magnetoviscous drag that rises with field strength. This is why the running state is stable and volume sets speed. All fluid terms depend only on field magnitude or velocity, so they can never fake motion from a single tone — that law is preserved by construction.
The magnet is treated as a point-plus-extended dipole, and the coupling uses the dipole approximation — exact for magnets separated by more than their size, which holds here. The fluid is a mean-field model, not a full nonlinear ferrohydrodynamic solve (no browser does that). Use this to brute-force which tone families move the magnets and how the array couples, then verify the promising ones on the bench. The map is a guide, not gospel.
Set different tones per device, flip magnets, change spacing and count, and watch the speed readouts. Combinations that move magnets light up; most won't. That's the real, surprising behavior of a nonlinear driven array.