![]() There is a quantum mechanical effect called the exchange interaction which is a consequence of the Pauli exclusion principle. For Iron, for example, the Curie temperature is 1043K and the magnetic interaction between atoms cannot account for this by some margin. However, the magnetic interaction between atoms is far too small to account for ferromagnetism. According to Hund’s rules, we would expect unpaired electrons in the and shells for example in the transition elements and rare earths and these would supply the magnetic moment. Magnetismįollowing Ziman (Ziman 1964) and Reif (Reif 2009), we assume that each atom in the ferromagnetic material behaves like a small magnet. Readers interested in the physics can start with the section on Magnetism.ĭefinitions, theorems etc. Readers interested in the Monte Carlo method can skip the physics and go to Monte Carlo Estimation. On the other hand, the physics and the Monte Carlo method used to simulate the model are of considerable interest in their own right. It is this lining up that gives rise to ferromagnetism. For certain parameters the cells remain in a random configuration, that is the net spin (taking up = 1 and down = -1) remains near zero for other parameters, the spins in the cells line up (not entirely as there is always some randomness). The Ising model then applies a parameterized set of rules by which the grid is updated. Each cell can either be in an (spin) up state or (spin) down state as indicated by the arrows and corresponding colours. The diagram below shows a 2 dimensional grid of cells. ![]() ![]() The reader only interested in this abstraction can go straight to the implementation (after finishing this introduction). Thus we cannot update all the cells in parallel as would happen if we used repa. The difference with the Game of Life is that the updates are not deterministic but are random with the randomness selecting which cell gets updated as well as whether it gets updated. The Ising model (at least in 2 dimensions) predicts this phase transition and can also be used to describe phase transitions in alloys.Ībstracting the Ising model from its physical origins, one can think of it rather like Conway’s Game of Life: there is a grid and each cell on the grid is updated depending on the state of its neighbours. This is an example of a phase transition (ice melting into water is a more familiar example). Ferromagnetic materials lose their magnetism at a critical temperature: the Curie temperature (named after Pierre not his more famous wife). It is also exhibited, for example, by rare earths such as gadolinium. The phenomenon ferromagnetism is so named because it was first observed in iron (Latin ferrum and chemical symbol Fe). ![]() The Ising model was (by Stigler’s law) proposed by Lenz in 1920 as a model for ferromagnetism, that is, the magnetism exhibited by bar magnets. In any event, it makes a good example for “embarassingly simple” parallelism in Haskell, the vector package and random number generation using the random-fu package. However, this does not really show off Haskell’s strengths in this area. We can get some parallelism at a gross level using the Haskell parallel package via a one line change to the sequential code. It may turn out that we can do better with Swendson-Yang or Wolff. In the end it turns out that they are not a good fit for repa, at least not using the original formulation. The discussion seems to have fizzled out but Ising models looked like a perfect fit for Haskell using repa. About a year ago there was a reddit post on the Ising Model in Haskell.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |