app_style ising app_style ising/single
These are on-lattice applications which evolve a 2-state Ising model, where each lattice site has a spin of 1 or 2. Sites flip their spin as the model evolves.
The Hamiltonian representing the energy of site I is as follows:
Hi = Sum_j delta_ij
where Sum_j is a sum over all the neighbor sites of site I and delta_ij is 0 if the spin of sites I and J are the same and 1 if they are different. The energy of the entire system is the sum of Hi over all sites.
This application performs Glauber dynamics, meaning the spin is flipped on a single site. See app_style diffusion for an Ising model which performs Kawasaki dynamics, meaning the spins on two neighboring sites are swapped.
As explained on this page, this application can be evolved by either a kinetic Monte Carlo (KMC) or rejection KMC (rKMC) algorithm. You must thus define a KMC solver or sweeping method to be used with the application via the solve_style or sweep commands.
For solution by a KMC algorithm, a site event is a spin flip and its probability is min[1,exp(-dE/kT)], where dE = Efinal - Einitial using the Hamiltonian defined above for the energy of the site, and T is the temperature of the system defined by the temperature command (which includes the Boltzmann constant k implicitly).
For solution by a rKMC algorithm, the ising and ising/single styles use a different rejection-based algorithm. For the ising style, the spin is set randomly to 1 or 2. For the ising/single style, the spin is flipped to its opposite value. In either case, dE = Efinal - Einitial is calculated, as is a uniform random number R between 0 and 1. The new state is accepted if R < min[1,exp(-dE/kT)].
The following additional commands are defined by this application:
|temperature||set Monte Carlo temperature|