Syntax:
app_style potts/pin Q
Examples:
app_style potts/pin 100
Description:
This is an on-lattice application which evolves a Q-state Potts model in the presence of pinning sites, which are sites tagged with a spin value of Q+1 which do not change. Their effect is typically to pin or inhibit grain growth in various ways.
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). The KMC algorithm does not allow spin flips known as "wild" flips, even at finite temperaturge. These are flips to values that are not equal to any neighbor site value. The KMC algorithm also does not allow spin flips to a pinned site value.
For solution by a rKMC algorithm, a random spin from 1 to Q is chosen. Note that this does not allow a spin flip to a pinned site value, since those sites are set to Q+1. When the flip is attempted 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)], else it is rejected.
The following additional commands are defined by this application:
pin | create a set of pinned sites |
temperature | set Monte Carlo temperature |
Restrictions: none
Related commands:
Default: none