The Ising model is an important idea at the intersection of many areas of physics and math. In its most literal form, it is a simple model for magnetism in materials. Namely, by adjusting three parameters of the model
Beyond classical magnetism, the Ising model shows up in the study of universality and critical phenomena.
The simulation is achieved by iterating through states at discrete timesteps. The color of the squares on the grid represent the up or positive (dark colored) and down or negative (light colored) states of individual dipoles. The most interesting behavior happens when \(B=0\) and \(J\) is somewhat larger than \(R\). This corresponds to a regime where domains of mostly up and mostly down states coexist, and random fluctuations cause the shape of these domains to evolve over time.
I haven't added units to anything - maybe I'll get to that some day.
Be careful with the array size; it's a good way to cause CPU spikes :)
Coupling Strength \(J\): 0
Magnetic Field \(B\): 0
Temperature \(T\): 0
Array Size: 50
A paramagnet, theoretically speaking, is an object that tends to align its own magnetic dipole moment with that of an external field. Here the "object" is the ensemble of states represented by colored squares on a grid. Set the temperature much higher than the coupling, and then adjust the magnetic field. The color of the squares should follow your input after some finite response time. This behavior is what we might call the "boring" regime.
A ferromagnet, in constrast, exhibits hysteresis, which means that the magnetic dipole moment of the ensemble depends on the past state. If the coupling is much larger than the temperature, than it is possible to have most of the squares be anti-aligned with the magnetic field you set. However, making the field stronger will eventually overpower the coupling.