Can ferromagnetism be described by classical physics? It may sound as a trivial question, but I am very confused about the origin of ferromagnetism. According to Bohr–van Leeuwen theorem, ferromagnetism cannot be predicted by classical physics. Therefore quantum physics is required. Actually, people say that the quantum mechanical phenomenon known as exchange interaction is responsible for ferromagnetism (note that, according to Wikipedia, exchange interaction has no classical analogue).
However, as far as I understand, the Ising model of ferromagnetism is usually solved in the classical limit, and Onsager's solution to the 2D case predicts the formation of ferromagnetism through a phase transition. Therefore it seems that a classical model can predict spontaneous magnetization, which contradicts the  Bohr–van Leeuwen theorem.
Interestingly, according to this post, there shouldn't be any difference between the classical and quantum Onsager solution (since Onsager considered the case $h = 0$, i.e a model without external magnetic field).
Could you explain how all these results can be reconciled? Can ferromagnetism occur in classical-physics models?
 A: It depends on what you mean by "a classical model predicting ferromagnetism".
You can't have a fundamental classical model of ferromagnetism for the very simple reason that ferromagnetism describes the large-scale alignment of the electron's spin magnetic dipole moments, and classical point particles can't have magnetic dipole moments. (Recall that an electron's spin is given by $\vec{S} = \frac{1}{2} \hbar \vec{\sigma}$ where $\vec{\sigma}$ is the vector of Pauli matricies, so in the classical limit $\hbar \to 0$, $\vec{S} \to \vec{0}$.) So there are simply no spins to describe. This is the type of "classical model" forbidden by the Bohr-van Leeuwen theorem.
But you could instead take a semiclassical model where the spins are quantized to take on values $\pm \frac{1}{2} \hbar$ along some particular axis, as in quantum mechanics, but we simply forbid quantum superpositions. That is, every spin is either up or down. This gives the "classical Ising model," which treats the spins' requirement to be either up or down (as well as the nature of their interactions) as fundamental, unexplained primitives. The model itself is therefore completely classical because it doesn't mention quantum mechanics, even though quantum mechanics is the underlying real-world reason that the actual physical spins being modeled take on only two values. The exact same mathematical model could be applied to systems other than electron spins, which really are fully classical.
Another model you could use to describe the spins is to take the actual real-world value of the spin magnetic moment $\vec{m} = \gamma \vec{S}$ (where $\gamma$ as the gyromagnetic ratio) and simply declare the spins to be classical $O(3)$ vectors whose length is fixed to be $\vec{m}$, ignoring all quantization effects entirely. (This is equivalent to taking $\gamma \to 0$ while taking the spin $S \to \infty$ in such a way that their product $m$ remains constant.) This isotropic model - the classical Heisenberg model - is actually more accurate for most real spin systems, because there is often no favored "$z$-axis" along which the spins are always measured. Within the framework of this model, classical statistical mechanics is certainly capable of explaining ferromagnetism (at least in three and higher dimensions), but the model itself does not explain why the electrons have spins in the first place, or why neighboring spins interact.
A: I have found the following interesting answer to the question, from "Introduction to the Theory of Ferromagnetism, Amikam Aharoni".

