Bellaard

Hopfion

By: Gijs Bellaard

This is a numerical simulation of classical field theory in 3+1 dimensions that supports stable Hopfions. The field \(n : \mathbb{R}^3 \times \mathbb{R} \to S^2 \subseteq \mathbb{R}^3\) consists of unit vectors. The Hamiltonian density is given by \[ \mathcal{H} = \frac{1}{2} \| \dot{n} \|^2 + \frac{1}{2} \sum_i \|\partial_i n\|^2 + \sum_{i j} \|\partial_i n \times \partial_j n\|^2 \] where \(\dot{n}\) is the time derivative of the field and \(\partial_i n\) are the spatial derivatives. The first term is the kinetic energy, the second term is the Dirichlet energy, and the last term is the called the Skyrme term. The Skyrme term is crucial for the stability of the Hopfions. Derrick's theorem shows that if we were to remove the Skyrme term, the Hopfions would shrink/grow indefinitely, and thus not be stable.

This model was suggested by Faddeev in 1979 in a preprint called "Quantization of Solitons". Numerical evidence of stable Hopfions was given by Faddeev and Niemi in October 1996 in this ArXiv preprint. A fun, slightly paraphrased, quote from this paper: "on a \(21^3\) lattice each time iteration now takes about 20 minutes of CPU time". Here the simulation is on a \(48^3\) lattice and each iteration (on my computer) takes less than 0.1 milliseconds. Another quote: "A \(21^3\) lattice is obviously too rough to describe our trefoil solution adequately, but unfortunately we do not have access to a computer that would allow us to use an essentially larger lattice." As demonstrated here, they only needed to scale the lattice up by a factor of 2 to get a sufficient discretization. So close.

We initialize the field with a Hopfion with Hopf charge of 1. More precisely: \[ n|_{t=0} = H \circ P^{-1} \] where the Hopf map \(H : S^3 \to S^2\) is given by \[ H(x,y,z,w) = \begin{bmatrix} 2(x z + y w) \\ 2(y z - x w) \\ x^2 + y^2 - z^2 - w^2 \end{bmatrix} \] and the inverse stereographic projection \(P^{-1} : \mathbb{R}^3 \to S^3\) is given by \[ P^{-1}(x,y,z) = \frac{1}{1 + r^2} \begin{bmatrix} 2x \\ 2y \\ 2z \\ r^2 - 1 \end{bmatrix} \quad \text{where } r^2 = x^2 + y^2 + z^2 \]

We could visualize the whole vector field \(n\) at each point in space, but that would be a bit overwhelming. Instead, we visualize where the vector field takes on specific unit vectors. Namely, we visualize \((\pm 1, 0, 0)\), \((0, \pm 1, 0)\), and \((0, 0, \pm 1)\). We see that the preimages of these vectors are closed loops in space, and the linking number of these loops corresponds to the Hopf charge. Indeed, the preimages of, for example \((0, 0, 1)\) and \((0, 0, -1)\), are linked once, which is consistent with the Hopf charge of 1.

The relative strength of the the Dirichlet term (the second term in the Hamiltonian) and the Skyrme term (the third term in the Hamiltonian) is important for the stability of the simulation and the Hopfions. Intuitively, the Dirichlet term tries to shrink the Hopfions, while the Skyrme term tries to expand them. You can adjust the strength of these terms in the settings below. Furthermore, I've added some friction to the simulation, which helps with the stability of the simulation and allows it to settle into a stationary configuration.

(You might have to reset the simulation, it is rather finicky).