This applet displays a model of an Ising spin system.
Such systems evolve in a manner that preserves the length of the boundary between the different-coloured regions.
The model is a cellular automaton, based on a variant of the von-Neumann neighbourhood.
The model is exactly reversible - and can be run backwards using the checkbox supplied.
In order to get reversibility, the grid is divided into two alternating sub-lattices, and the update rule is applied to them in sequence. This can be thought to as being equivalent to applying a second-order technique.
Toroidial boundary constraints are appled.
The automaton is executed at a higher resolution than it is displayed at - there are 16 pixels in the automaton, for every one that is displayed.