Ir a versión en español
Heisenberg ferromagnetic spins simulation with three.js (WebGL)
Author: Jose Manuel Sanz. (june 2014) Source code under Licencia H
Chrome, Firefox or Explorer 11 browser required. Doesn't work on systems without WebGL support (IOS, for example).
Keyboard commands:
- Forward: W, up cursor or left mouse button
- Backward: S, down cursor or right mouse button
- Left: A or left cursor
- Right: D or right cursor
- Q: camera point of view follows mouse movements (press Q again to deactivate)
- Note: actions associated to mouse movements and clicks are not active on the upper part of the window
Parameters menu
- Temperatura: temperature
- Velocidad: simulation speed
- Sombras: activate/deactivate shadows on the floor
- Suelo: visible/invisible floor
- Hotstart: hot or cold start on initialization of spin network
- spinD: spin dimensionality: Ising (1), XY (2), Heisenberg (3)
- L: size of spin network
- MarcaT: fixes the point in the magnetization vs T plot
- Reset: restarts simulation, using L and hotstart parameters
- Changes on L and hotstart values only apply when Reset button is clicked
e is the medium energy per spin; m is the average magnetization per spin. Spin color is a function of its energy: high energy, red; medium energy, green; low energy, blue.
Elements displayed on both sides of the spin network
- Averaged magnetization vector
- Average energy per spin (e) compared to the full range of values (from -6 to 6)
- Plot of magnetization vs temperature, plotting the current point and all the points fixed through the "MarcaT" control. Temperature axis goes from 0 to 6.
References
Wikipedia article on the Ising model
Wikipedia article on the Heisenberg model
Wikipedia article on the XY model
Wikipedia article on the Metropolis-Hastings algorithm
Text book on critical phenomena and numerical simulations: Field theory, the renormalization group and critical phenomena; D.J. Amit, V. Martin-Mayor
Javascript three.js library, an easy way to WebGL development
Book for learning three.js.
If the simulator is not running on another tab, you can load it here.