next up previous
Next: Results and Discussion Up: Methods Previous: Simulation Details

Driven KMC Algorithm

The KMC algorithm follows a straightforward approach. Figure(3) demonstrates the basic algorithmic steps in simulating the thermal diffusion process.

Figure 3: A flow diagram for the KMC algorithm. $(C_{1}-C_{4})$ are the four different atom specie configurations surrounding the vacancy site, $(\Gamma_{1}-\Gamma_{4})$ are the corresponding jump rates, $t$ is the updated real time, and $\tau$ is the time increment calculated via Poisson theory.
\includegraphics[height=.39\textheight, width=.75\textwidth]{FlowDiagram.bmp}


Actually, first the lattice system is defined (atom species, concentrations, temperature field, and lattice dimensions). Then depending upon the system under consideration the energy barrier data can be either read or calculated. More on this is given in the next section. Following the configuration of the 2D lattice a vacancy position is introduced and the main program is entered.
Since only movements between the vacancy site and nearest neighbor atoms are considered there may be up to 4 different configurations for each movement direction, i.e. up, down, right, and left. A single configuration, for instance ($C_{1}$) is determined from the type of the surrounding nearest and next-nearest neighbor specie. Figure(5) displays the potential surface for a given configuration. Note: for a binary system in 2D this is equivalent to ($2^{11}$) different combinations. $C_{1}$ through $C_{4}$ are then represented as 11-digit binary strings from the nearest and next-nearest neighbor configurations. i.e. For Ar=0 and Xe=1 $C_{1}$ may equal (00000001101). Each string is associated to a pre tabulated energy barrier that was determined prior to the main program. The jump rates are then calculated and normalized from both the configuration data and the local temperature established by the vacancy position. The time and lattice are then updated based upon traditional KMC methods and the cycle is continued.

Figure 4: Lattice partitioning into slabs of equal width for concentration gradient calculations. The figure above represents the 1st half of a (100x240) Lattice.
\includegraphics[height=.25\textheight, width=.75\textwidth]{Slab.bmp}


In the program the simulation lattice is also sectioned into slabs as shown in figure(4). The concentration in each slab is periodically recorded for determination of a concentration gradient.
next up previous
Next: Results and Discussion Up: Methods Previous: Simulation Details
Shawn A. Putnam
2001-12-17