arXiv:1109.0924v2 [cond-mat.mtrl-sci] 29 Sep 2011
Off-lattice Pattern Recognition Scheme for Kinetic
Monte Carlo Simulations
Giridhar Nandipati, Abdelkader Kara, Syed Islamuddin Shah, Talat S.
Rahman
Department of Physics, University of Central Florida, Orlando, FL 32816
Abstract
We report the development of a pattern-recognition scheme for the off-lattice
self-learning kinetic Monte Carlo (KMC) method, one that is simple and flexible enough that it can be applied to all types of surfaces. In this scheme,
to uniquely identify the local environment and associated processes involving
three-dimensional (3D) motion of an atom or atoms, space around a central
atom is divided into 3D rectangular boxes. The dimensions and the number
of 3D boxes are determined by the accuracy with which a process needs to be
identified and a process is described as central atom moving to a neighboring
vacant box accompanied by the motion of any other atom or atoms in its surrounding boxes. As a test of this method we apply it to 3D Cu island decay on
the Cu(100) surface and to 2D diffusion of a Cu monomer and a dimer on the
(111) surface, and results and computational efficiency to those available in the
literature.
1. Introduction
Quantitative understanding of nucleation and growth of heteroepitaxial films
is challenging from both fundamental and technological points of view, as these
are important processes[1, 2, 3] for the fabrication of nanostructures rangEmail addresses: giridhar.nandipati@ucf.edu (Giridhar Nandipati),
abdelkader.kara@ucf.edu (Abdelkader Kara), islamuddin@knights.ucf.edu (Syed
Islamuddin Shah), talat.rahman@ucf.edu (Talat S. Rahman)
Preprint submitted to Elsevier
October 28, 2018
ing from quantum wires[4] to quantum dots.[5] Heteroepitaxial structures with
strained semi-conductor thin films have found wide application in electronic and
optoelectronic devices.[6, 7] In many cases, strain due to lattice mismatch can
lead to the formation of three dimensional (3D) clusters, [8, 9] whose shapes
can depend on variety of factors.
A common method for simulating heteroepitaxial growth is to apply molecular dynamics (MD) using many-body interaction potentials. In the MD method,
[10, 11, 12] real motion of atoms is modeled through real-space integration of
Newton’s equations of motion and the forces acting upon each atom in the system are determined by the interatomic potentials for all atoms in the system.
One of the main advantages of MD simulations is the explicit inclusion of system vibrational and thermal dynamics as controlled by the chosen interatomic
potential. Together these allow the system to evolve freely (as a micro-canonical
system) for timescales (a few hundred nanoseconds to microseconds) whose upper limit is imposed by available computational resources. MD simulations are
in general limited to timescales of microseconds (the longest) that are still orders
of magnitude smaller than those of experiments. Since typical experiments of
interest (epitaxial growth, for example) report important morphological changes
on timescales of minutes or hours, MD simulations may not be able to capture
critical rare events and thereby fail to provide comprehensive evolution of the
system.
Another method for studying epitaxial growth is to use kinetic Monte Carlo
(KMC)[13, 14, 15, 16, 17, 18] simulations. It is an extremely efficient method
for carrying out non-equilibrium simulations of dynamical processes when the
relevant rates are known. As a result, the KMC method has been successfully
used to carry out simulations of a wide variety of dynamical processes over
experimentally relevant time and length scales. In KMC the thermal motion
of the system is included only implicitly and in an approximate way. In KMC,
rates of allowed processes, through which the system evolves, are provided as
an input. If this input is accurate and complete, KMC simulations are in a
good position to be compared to experiments. One challenge is to determine as
2
accurately as possible the parameters associated with these processes and, as
completely as possible, the full list of possible processes for the system. Another
challenge with KMC method is that the systems investigated must be discretized
and mapped onto a fixed lattice in order to define various diffusion mechanisms
that must be considered at a given moment. Heteroepitaxial systems are thus
especially hard to treat with the KMC method because of the increased tendency
for the system to go off-lattice, owing to strain due to lattice mismatch.
To address the problem of completeness, KMC methods have been developed
that will find all the possible processes that can happen in the system on-thefly,[19, 20, 21] removing the constraint that all the relevant atomic-scale events
have to be known a priori. One such method is the self-learning KMC (SLKMC)
technique.[21] In SLKMC, a pattern-recognition scheme allows efficient storage
and subsequent retrieval of information from a database of diffusion processes,
their paths and their activation energy barriers. It has been used for detailed
study of Cu island diffusion[21, 22] and of coarsening of Ag islands at latestages [23] and early stages [24] on Ag(111) surface. This method is based on
the assumption that all atoms sit on high-symmetry sites commensurate with
the substrate (on-lattice sites) and are also at the same height. But for small
clusters, atoms can sit on off-lattice sites even in homoepitaxial systems[25] such
behavior is even more frequent for heteroepitaxial systems, in which atoms for
islands of all sizes may occupy ‘off-lattice’ sites. To describe these systems,
a pattern-recognition scheme is required in which atoms are allowed to be at
any position on the surface. In an effort to over come this problem Kara et al
[25] developed two-dimensional (2D) off-lattice pattern recognition scheme and
used it to study heteroepitaxial island diffusion. But that pattern-recognition
scheme mentioned above can capture only 2D diffusion processes, a new pattern
recognition technique is needed to model 3D motion of an atom. In this article
we present a new off-lattice pattern-recognition scheme that can recognize threedimensional (3D) processes and is flexible enough to be applied to all types of
lattices. Although our original goal of off-lattice KMC method was to use it to
study heteroepitaxial systems, in this article we test it by studying 2D diffusion
3
of Cu islands on Cu(111) surface and decay of 3D Cu islands on Cu(100) and
compare the results with those of previous studies.
The organization of this paper is as follows. In Section 2 we give a very
brief description of SLKMC algorithm. In Section 3 we discuss the need for a
new pattern recognition scheme and describe in detail our implementation of
the new 3D off-lattice pattern-recognition scheme. In Section 5, as a test of
our scheme we present results for diffusion of a Cu monomer and a dimer on
Cu(111) surface and for 3D Cu island decay on Cu(100) surface, and compare
these with those of previously reported. In Section 6 we offer some concluding
remarks.
2. A Self-Learning kinetic Monte Carlo Algorithm
In on-the-fly KMC simulations, instead of using a fixed set of diffusion processes each with its activation barriers, all the possible diffusion processes are
determined at each KMC step. In contrast, in SLKMC usage of a patternrecognition scheme gives the ability to determine whether the energetics of all
the possible processes have been determined and stored in a database during the
course of a simulation. If all the possible processes are stored in the database, no
further action is taken, and the KMC simulation continues its course as in standard KMC with a complete list of processes. But whenever a new configuration
is found, all its possible diffusion processes and their respective activation barriers are determined by saddle-point searches. The new configuration, together
with its associated diffusion processes (each with its activation barriers) is stored
in a database. Every new simulation starts from an empty database and gets
filled up with new configurations and associated processes as it proceeds, until
all the possible processes that can happen in the system are found.
Several methods can be used to do a saddle-point search. A simple one
is called the “drag method,” in which an atom is dragged in the direction of
the nearest vacant site in small steps. During the process all the atoms in the
model system are allowed to relax in all directions, except for the diffusing atom
which is allowed to relax only in the directions normal to that along which it
4
is “dragged”. This prevents the atom from moving back to the initial state.
The method is efficient and easy to implement. In future we will be introducing
more accurate methods for carrying out saddle point searches such as repulsive
bias potential[25] and nudged elastic-band (NEB) method.[19, 26]
3. 2D Pattern-RecognitionScheme
As mentioned earlier, in the KMC method we need to know all the processes
possible. Each process involves some particular motion of an atom (or atoms),
the activation barrier for which depends on the local neighborhood. In order to
uniquely identify the local neighborhood and the diffusion processes associated
with, and to store and retrieve this information on the fly, a pattern-recognition
scheme is necessary. Storing and retrieving this information avoids redundancy,
as the system “learns” from its “past,” that is, from its memory of the processes
and their energetics associated with previously encountered patterns (or configurations). In order to succeed, a pattern-recognition scheme must be accurate
enough to uniquely distinguish different shapes in the system as they appear
and to make appropriate decisions using information already stored.
One of the first pattern-recognition schemes [21] developed was designed to
model on-lattice 2D diffusion of atoms on a (111) surface (It can be easily extended to other types of surfaces). In this scheme, neighboring fcc sites around
a central atom are grouped into rings and, depending on occupancy of fcc sites
in these rings, a decimal integer is generated that uniquely identifies the neighborhood around the central atom. Though very simple and easy to implement,
this scheme cannot accommodate systems in which an atom sits at an hcp site
or a non-symmetric (off-lattice) position, as occurs under conditions of lattice
mis-match. To allow for off-lattice sites, a new pattern-recognition scheme [25]
was developed to handle 2D diffusion of clusters on (111) surfaces (It too can
be easily extended to other types of surfaces). In this scheme, a set of relative
positions of atoms with respect to a chosen ‘reference point’ is used to identify a
local neighborhood around a leading or central atom. For the fcc (111) surface,
the reference point is either (1) a fcc or hcp site closest to the ‘leading atom’
5
(any atom in the system can be selected as the leading atom) in the cluster or
(2) a fcc or hcp site closest to the center of mass of the cluster. Every atom in
the cluster then has uniquely defined coordinates with respect to this reference
site. Instead of an integer configuration key, each atom’s distances in x, y &
z directions with respect to the reference site are stored in the database along
with each of its possible diffusion processes and their respective activation barriers. We note that these distances of atoms from the reference point are not
stored in any particular order in the database.
Although the latter way of classifying the neighborhoods overcomes restriction of the method to on-lattice systems, one of its main disadvantages is that
the identification of pattern involves matching non-integer distances of atoms
in the simulation with those in the database. Tolerance for matching these real
(non-integer) numbers becomes very important: if the tolerance is small, the
database will be very large (with the result that configurations might be redundant); if it is large, a valid configuration might not be identified as unique.
In the database each configuration records the shape of an island in terms of
the relative distances of each atom with respect to the chosen reference point
(whether a fcc or a hcp site). All the possible processes and their activation
barriers are attached to the configuration. Computational effort for pattern
recognition increases with cluster size, since it involves matching the relative
distances of all the atoms in a cluster with those stored in the database. For an
individual configuration with an unsorted list of distances, computational effort
for matching distances of each individual atom in the cluster increases as square
of the number of atoms in the cluster. For example, for an N atom cluster,
in order to match the coordinates of the first atom, the simulation does O(N )
searches, for the second atom O(N − 1) searches and so on. Hence computational effort in matching a pattern increases approximately as N 2 /2 with the
cluster size.
6
Figure 1: 3D space is split up into 3D boxes with central atom at the center of the middle
box.
4. 3D Off-lattice Pattern Recognition Scheme
To overcome the shortcomings of previously developed pattern-recognition
schemes, a new scheme is needed which, apart from being applicable to off-lattice
systems, should have following properties: (1) pattern matching should be based
on integers that identify the neighborhood of a central atom; (2) it should be
flexible enough to be applicable to all lattice types; and (3) it should be able
to handle both 2D and 3D diffusion processes. In the new scheme developed
here, 3D space around the central atom is divided into rectangular boxes of
appropriate size as shown in Fig. 1, which looks like a Rubik’s cube from the
outside. The size of “super box” (the blue box in Fig. 2) that encloses the smaller
rectangular boxes (we call them simply “boxes”) is dependent on the range of
interaction in the system being studied. We note that the neighborhood of every
atom in the system is identified by treating it as a “central atom.” The entire
system of boxes is designed so that this central atom is always at the center of
the middle box; thus the middle box is always occupied while the neighboring
atoms are assigned to a given box if the center of mass lies within that box,
allowing them to be anywhere within a box. Based on the occupancy of the
constituent boxes, a unique binary number is obtained to identify the particular
neighborhood around the central atom. A process occurs whenever that central
atom moves into a neighboring box (anywhere within the box). Individual
processes are distinguished by which neighboring box that atom moves into and
by particular accompanying movements of other atoms within the super box.
7
(a)
Y
X
L:3
(b)
top layer
L:2
Z
L:1
Figure 2: Monomer on fcc (100) surface (a) top view (b) side view. The bigger box (blue) is
called the “super box”; smaller ones are called just smaller boxes or occasionally boxes. L1,
L2, L3 are layers
If some other atom moves without the central atom’s moving, that movement
does not count as a processes for the central atom itself, but only for that other
atom, when considered as central in its own right.
4.1. Implementation
In this article we use the fcc(100) surface to fully describe the implementation
of our pattern recognition scheme. Figs. 2(a) &(b) show the top and side views
of a 3D box system. The idea is very simple: a 3D box is constructed around
the central atom symmetrically, whose dimensions depend on the range of the
interaction for the system understudy. Consider the blue box as a 3D box
around the central atom (blue-colored atom in Fig. 2), which is at the center
of this 3D box, we call this box the “super box.” This super box is further
divided into equal-sized smaller boxes. Division of the super box into smaller
8
boxes is done in such a way that all boxes are distributed symmetrically around
the central atom, assuring that it is always at the center of the middlemost box.
These smaller boxes need not have same the dimensions in x, y, & z directions
as long as the dimensions are kept the same for all boxes. The size to be chosen
depends on the precision with which a process needs to identified. Neighboring
atoms are assigned to one of these smaller boxes on the basis of whether its
center of mass falls within the box. Unlike the central atom, which is under
the restriction of being always at the center of the middlemost box, neighboring
atoms can be anywhere within the box so long as only one atom is allowed in
each box. A binary number can then be generated based on the occupancy (1
for occupied and 0 for unoccupied), then converted to a decimal and stored in a
database along with the information concerning all possible processes for each
configuration and their respective activation barriers, as we will discuss in detail
in the Section 4.2.
For the case of fcc (100) surface, the size of the super box is chosen so as
to include at least 3 layers of atoms (see fig. 2(b)), a substrate layer L1 and
adsorbate layers L2 & L3. Depending on whether the system being studied
is 2D or 3D, layer L3 will be either empty or occupied. We divide the super
box into 7 × 7 × 3 smaller boxes in the x, y & z directions respectively, which
corresponds to 49 boxes in each of the layers in x-y plane, and a total of 147
boxes in all 3 layers. These numbers can be adjusted according to need. To
uniquely identify the 3D neighborhood, a binary number is generated based on
the occupancy of the boxes. For a 147-box system, that will be a 147-bit binary
number, which is too large to handle. This binary number is thus split into 49bit numbers which represent the occupancy of boxes in each of the three layers.
Thus, the 3D neighborhood around a central atom is uniquely represented by 3
decimal integer numbers, which we call them “layer numbers”. As mentioned
earlier, the number of these small boxes is an adjustable parameter. As can be
seen in Fig. 2, the height of the small box has been set equal to the interlayer
spacing, while the width and length are set to half the nearest-neighbor distance
sufficiently small to accurately distinguish among 4-fold, hollow, bridge and A9
(a)
(b)
+
+
+
+
+
(c)
+
+
+
+
+
-
+
+
+
+
-
+
+
(d)
1 0 1 0
1 0 1
42 43 44 45 46 47 48
0 0 0
0
0
0 0
35 36 37 38 39 40 41
1 0 1
0
1
0
1
28 29 30 31 32 33 34
0 0 0
0
0 0 0
2122 23 24 25 26 27
1 0 1
0
1
14 15 16 17 18 19 20
0 0 0
0
1
0 1 0
0
1
0 0 0
7 8 9 10 11 12 13
1
0
0
1
1 2 3
4
5
6
Figure 3: Generation of a binary number for the top most substrate layer L1. (a) Top view
of boxes in this substrate layer (b) sign “+” represents the presence of a substrate atom, “-”
represents a four-fold hollow site, and empty box represents a bridge sites (c) 0’s and 1’s for
the substrate layer (d) Order in which binary digits are read for each layer.
top sites.
To generate the binary number that uniquely identifies the 3D neighborhood
around the central atom, boxes that are filled by the neighborhood atoms are
identified and are assigned 1’s while rest of the boxes are assigned 0’s. Fig. 3
shows the generation of a layer number for the top most substrate layer L1. By
comparing Figs. 3(a) & (b) it can be seen that box with “+” represents box
with the substrate atoms, “-” represents boxes with four-fold hollow sites and
empty boxes represent bridge sites. All boxes, except the ones with “+” sign,
are empty. Accordingly Fig. 3(c) shows 1’s and 0’s based on the occupancy of
the boxes for the substrate atoms. Digits of the binary number in each layer
are read starting from box # 0 to box # 48 as shown in the Fig 3(d). For
the substrate layer L1 (dark-colored circles) shown in fig 2(a), layer number is
equal to 20 + 22 + 24 + 26 + 214 + 216 + 218 + 220 + 228 + 230 + 232 + 234 +
242 + 244 + 246 + 248 = 373856771850325. For the case of an atom (green
colored circle) in a tetramer in fig. 4(a) in the layer L2, layer number is equal
10
(a)
Nx = 7
Ny = 7
(b)
Sy
Sx
Figure 4: (a)Tetramer on a fcc(100) surface. Green colored circle repents the central atom.
(b) location of atoms in the box system in layer L2
11
to 224 + 226 + 238 + 240 = 13744734208000 (map Fig. 4(b) onto Fig. 3(d)). For
the empty third layer L3, it is zero. These three numbers are then stored in the
database in a pre-determined format which we will discuss in Section 4.2.
To implement this method all that is necessary is a way to identify the
number of the box where neighboring atoms are located. A method can be
easily developed to extract these box numbers from their positions relative to the
central atom. Fig. 5 shows the sequential numbering of smaller boxes starting for
the bottom two layer L1 & L2 for the purpose of their identification. Numbering
of boxes starts from the left corner box (Box # 0 in Fig. 5) in the bottom most
layer, which is L1 and continues sequentially to the right corner box (box #146,
not shown) in the third layer L3. We note that this sequential numbering of
boxes shown in Fig 5 is independent of numbering in Fig. 3(d) showing the
order in which binary digits are read for each layer. These box numbers can be
obtained from integer coordinates, with Box # 0 being the origin as shown in
Fig. 5 (each box is a lattice point in this integer coordinate system). If we know
the integer coordinates of a box with respect to Box # 0 then its box number
is given as
Box Number = i + j ∗ Nx + k ∗ (Nx ∗ Ny )
(1)
Accordingly, Box # 0 has integer coordinates of (0, 0, 0), Box # 73, which
holds the central atom has coordinates (3, 3, 1). These integer coordinates can
be obtained from the relative distances of neighboring atoms in the x, y & z
directions with respect to the central atom. If xc , yc & zc are the real coordinates
of central atom and xn , yn & zn are the real coordinates of a neighboring atom,
then integer coordinates are obtained by the use of following simple equations.
x
N
r
x
i=
xr = xc − xn
(2)
+
sx I
2 I
y
N
r
y
yr = yc − y n
(3)
+
j=
sy I
2 I
N
z
z
r
zr = zc − z n
(4)
+
k=
sz I
2 I
represents integer division in which any fractional part or reminder is disI
carded. xr , yr , zr are real coordinates of a particular neighboring atom relative
12
L2:
Z=1
91 92
93
94
95
96
97
84 85
86
87
88
89
90
77 78
79
80
81
82
83
70 71
72
73
74
75
76
63
65
66
67
68
69
64
56 57
58
59
60
61
62
49 50
51
52
53
54
55
L1:
Y
Z=0
6
42
43
44
45
46
47
48
5
35
36
37
38
39
40
41
4
28
29
30
31
32
33
34
3
21
22
23
24
25
26
27
2
14
15
16
17
18
19
20
1
7
8
9
10
11
12
13
0
0
1
2
3
4
5
6
0
1
2
3
4
5
6
X
Figure 5: Numbering of smaller boxes in the first two layers. Box with red circle is the location
of central atom. Also shows integer coordinate system in which each box is a lattice point
to the central atom, i.e., the difference in the x, y & z coordinates of central
atom and those of neighboring atom. While sx , sy & sz (see fig. 4(b)) are dimensions of a smaller box and Nx , Ny & Nz are the number of small boxes in
x, y & z directions respectively; then i, j, and k are integer coordinates of the
small box in which that neighboring atom is located with Box # 0 being the
origin. Since our super box is divided into 7 × 7 × 3 smaller boxes, Nx = 7,
Ny = 7 & Nz = 3 as shown in fig. 4(b). And since the surface is Cu(100),
Sx = 1.28Å, Sy = 1.28Å and Sz = 2.08Å. we note that there is no particular
relationship between the dimensions of the small box and lattice spacing except
that the former have to be smaller than the latter and small enough to allows
only one atom in each box (so that displacement of atoms moves them from one
box to another).
For the case of a tetramer shown in Fig. 4(a) all four atoms are in the layer
L2. Their integer coordinates if the blue-colored circle in Fig. 4 is the central
atom are, (3, 3, 1) for the central atom and, (5, 3, 1), (3, 5, 1) and (5, 5, 1) for
13
Layer numbers
(a)
L1
L2
L3
373856771850325 1374473420800 0
No. of processes barriers box #
2
Moves
0.6375 1 73 0 .00 -2.56 0
0.6375 1 73 -2.56 0.00 0
No. of atoms
(b)
21845 21845 160 0
3
0.099 2 37 1.28 0.74 0.0 35 1.28 2.21 0.0
0.007 1 37 0.00 -1.48 0.0
0.084 1 37 1.28 2.21 0.0
Figure 6: Format of the database (a) Configuration for an atom (blue-colored circle) in a
tetramer shown in Fig. 4 on a fcc(100) surface. (b) Configuration for an atom in a dimer on
a fcc(111) surface.
the remaining three atoms. Accordingly the box number are obtained by using
Eq. 1, which are 73 (central atom), 75, 87 and 89. Within the layer L2 these
four atoms are in boxes 24, 26, 38 and 40, which are obtained by subtracting
49, the number of boxes in the layer L1. By following this method of checking
the neighborhood within the range of interaction one can obtain the list of
occupied boxes, thereby generating a decimal number that uniquely identifies
the neighborhood.
In contrast to an on-lattice KMC simulation, in an off-lattice KMC a neighborhood list used in order to identify the neighborhood of any atom efficiently.
To do this we divide the system into equal-sized cells whose dimensions are
larger than the range of interaction and a list of all atoms with each cell is compiled, similarly to what is done in molecular dynamics (MD) simulations.[27] To
identify the neighborhood of an atom, all the atoms within the cell where this
atom is located are checked, instead of the entire system. In order to accommodate situations where an atom is near a cell boundary, the list also includes
information about atoms from the adjacent cells that are within a distance of
half the cell size.
14
4.2. The Database
Three integer layers number are used to determine the configuration on a
fcc(100) surface, similar to three ring numbers used in the original SLKMC on a
fcc (111) surface. Fig. 6 shows the format through with each configuration and
its associated processes are stored in the database. The configuration shown in
fig. 6(a) is for a central atom (blue-colored circle in fig. 4(a)) in a tetramer on
a fcc(100) surface, that shown in fig. 6(b) is for an atom in a dimer with both
atoms on fcc sites on a fcc (111) surface. In fig. 6(a), the first three numbers
(inside the red circle) are the layer number for each of the three layers. The
next number (inside the blue circle) is the number of processes possible for
that configuration. Individual processes are characterized by their activation
barrier, the number of atoms involved in the process, the box #’s (colored red)
of those atoms and displacements of these in x, y & z directions. The format
of the database for the fcc(111) surface is similar except that we use four layer
numbers to identify the configuration, which comprises of two layers below the
central atom and one layer above it. We note that while the pattern-recognition
acts upon integers instead of real numbers, the actual motion of the atoms are
described in real numbers, which are displacements in x, y & z coordinates from
the current coordinates of the adatoms.
In order to minimize the size of the database, we exploit the symmetry of
the type of the lattice under study. For the case of fcc(100) surface we used
(1) 900 rotation, (2) 1800 rotation, (3) 2700 rotation, (4) mirror reflection, (5)
mirror reflection followed by 900 rotation, (6) mirror reflection followed by 1800
rotation, and (7) mirror reflection followed by 2700 rotation. If a given configuration is not found in the database, then symmetry operations are performed
to find symmetric configurations and a new search is carried out to discover
whether any of these exist in the database. This way of finding them on-thefly saves memory at the expense of computational time. Instead of performing
them when required, symmetric configurations can be found ahead of time and
stored in the memory during the simulation. Still, for small databases, where
the memory is not an issue, storing symmetric configurations in the memory
15
actually improves the speed of the simulation.
Every time an unknown configuration (representing a local neighborhood
not previously met with) is encountered, symmetry operations are performed
and the database is searched anew. If the configuration is still not found in
the database, a saddle-point search is carried out to find all the possible processes. This new configuration is then appended to the existing database and
the corresponding rate tables in the simulation are updated. In this way initially
an empty database is filled up with configurations as they appear during the
course of the simulation. During a saddle-point search, part of the system that
is larger than the range of interaction is incorporated into the molecular-static
calculations for find the activation barriers. This ensures that all the neighboring atoms that could affect the motion of the central atom are included in
the search. We note that during saddle point search real coordinates are used.
Since a process involves motion of an atom or atoms from one box to another,
to find all the possible processes for a configuration, central atom is dragged
in the direction of empty boxes. By dragging the central atom towards the
empty box we find all the possible processes that can be obtained using the
drag method. In the future we will incorporate other saddle-point searches. If
the configuration of a central atom is unknown then there is always a possibility that configurations of its neighboring atoms are also unknown, resulting in
saddle-point searches for more than one atom. The size of the database usually
depends on the system, the range of interaction (or size of the super box), and
resolution (or size of the small box) with which a processes need to be identified.
The accumulation of this database does not proceed uniformly with time,[21]
but eventually saturates, after which simulation proceeds as a regular KMC
with a closed database.
5. Results
As mentioned earlier that the idea of developing this new pattern recognition
is to be able to do simulations where atoms can go off-lattice (non-symmetric
sites). As a test application we study homoepitaxial systems, in which atoms
16
Figure 7: Nano-cluster of 29 atoms
move for one on-lattice site to another. In this article we examine the decay of
3D Cu islands on Cu (100) surface and compare results to the existing results
in the literature. Also, in order to show that the 3D pattern-recognition scheme
is applicable to all types of lattices, we apply it simulate 2D diffusion of Cu
monomer and dimer on Cu(111) surface.
5.1. Decay of Cu 3D islands on Cu(100) surface
In these simulations we used a fcc(100) substrate with periodic boundary
conditions in the x-y plane (parallel to the surface). 3D islands of various sizes,
which have a four-sided pyramidal shape with (111) facets (Fig. 7 shows a 3D
island of size 29 atoms) are created manually on this substrate. The decay of
these islands is simulated until the entire island reduces to a monolayer and this
decay is studied as a function of temperature and 3D island size. The size of
the substrate is 125.44 × 125.44 Å or 50 × 50 lattice units.
Since our objective here was to test the new pattern-recognition scheme,
to save time we have identified the processes and their barriers on the basis
of parameterization of EMT barriers [28]. We note that this model has previously been used to study multilayer Cu/Cu(100) growth.[29, 30, 31] To take
into account the Ehrlich-Schwoebel (ES) barrier to interlayer diffusion,[32, 33]
17
10
45 atoms
91 atoms
168 atoms
1
Time (s)
0.1
0.01
0.001
0.0001
10
-5
0.002
-1
0.003
1/T [K ]
Figure 8: The time required for the reduction of 3D nano-clusters to one monolayer for clusters
of sizes 45, 91 and 68 atoms at different temperatures.
for all interlayer diffusion processes an additional barrier of 0.02 eV is added to
the value of each intra-layer diffusion barrier. For atoms at non four-fold hollow sites, our simulation also takes into account downward funneling (DF),[34].
Since at the temperatures we examined it can be considered as a non-activated
process, we allowed atoms at these sites to “cascade” randomly until they find
their way to a four-fold hollow site. The size of the accumulated database is
around 650 configurations, the actual number depends on the size of the cluster.
Figure 8 shows the time that is required for 3D islands of sizes 45, 91 and 168
atoms to decay to one monolayer at various temperatures. Effective activation
barriers can be calculated by form fitting the data to a straight line assuming an
Arrhenius behavior. Fig. 9 shows the plot of the effective activation barrier as
a function of 3D-cluster size with a minimum at 100 atom cluster, in agreement
with previous published results.[35]
5.2. 2D diffusion on Cu(111) surface
The 3D pattern-recognition scheme uses 3D rectangular boxes commensurate with the fcc(100) lattice, which has a square symmetry. To show that
this pattern-recognition scheme can be applied to any type of lattice we have
also studied 2D diffusion on fcc(111) surface, which has a triangular symmetry.
The database of processes for Cu(111) island diffusion was obtained by using
18
0.7
Activation Energy (eV)
0.69
Eeff
0.68
0.67
0.66
0.65
0.64
0.63
0.62
0
50
100
150
200
250
Cluster Size (atoms)
Figure 9: The effective activation energy as a function of the cluster size (number of atoms).
This is an effective activation barrier for a 3D-cluster to decay to a monolayer of atoms.
Obtained by fitting the data assuming an Arrhenius behavior.
the drag method, and activation barriers were checked against those calculated
using the more sophisticated nudged-elastic band (NEB) method. The interatomic potentials were modeled using the embedded-atom method.[36] For the
sake of simplification we assumed a ‘normal’ value for all diffusion prefactors.
Although we are aware that multi-atom processes may be characterized by high
prefactors.[37, 38, 39, 40]
In these simulations we place the adatom island on a fcc(111) substrate with
periodic boundary conditions in the x-y plane (parallel to the surface) For the
fcc (111) surface four layers are used for pattern recognition. These simulations
were performed for about 107 KMC steps at 300, 500 and 700 K. During each
simulation, the position of the center of mass was recorded after every 1000 KMC
steps. The diffusion coefficient D of an adatom island for a 2D random walk was
calculated using Einstein Equation:[41] D = limt→∞ hRCM (t) − RCM (0)]2 i/2dt,
where RCM (t) is the position of the center of mass of the island at time t, and d
is the dimensionality of the system. Effective diffusion barriers were extracted
for monomer and dimer from Arrhenius plot of ln D Vs 1/kB T . The goal was
to test the new pattern-recognition scheme by comparing calculated diffusion
coefficients and effective energy barriers with already published values.[22]
19
y-coordinate ( x 103 ) [Å]
1
T = 700 K
0
-1
-2
-3
-4
-5
-6
Monomer
y-coordinate ( x 103 ) [Å]
T = 700 K
1.5
1
0.5
0
-0.5
-1
Dimer
-1.5
-3
-2
-1
0
3
1
2
x-coordinate ( x 10 ) [Å]
Figure 10: Trace of the center of mass of Cu monomer and dimer on Cu(111) at 700 K
T = 700 K
2
MSD ( x 105 ) [Å2]
D = 9.15 x 10
11
2
Å /s
1.5
1
5
Monomer
0
0
1
4
2
3
Time ( x 10-8 )[s]
5
6
T = 700 K
3.5
D = 7.19 x 10
MSD ( x 105 ) [Å2]
4
11
2
Å /s
3
2.5
2
1.5
1
0.5
0
Dimer
0
2
4
6
8
Time ( x 10
-9
10
12
14
)[s]
Figure 11: Mean square displacement (MSD) for Cu monomer and dimer on Cu(111) as a
function of time at 700 K
20
Table 1: Diffusion coefficient for Cu monomer and dimer on Cu(111) (Å2 /s)
Cluster Size
Monomer
Dimer
300 K
4.8 × 1011
1.1 × 1011
500 K
8.2 × 1011
4.2 × 1011
700 K
9.2 × 1011
7.2 × 1011
In Fig. 10, we show the trace of the position of the center of mass on the
x-y plane for both monomer and dimer at 700 K after every 1000 KMC steps.
For both monomer and dimer, mean square displacements as a function of time
exhibit a linear behavior (within statistical error) and are shown in fig. 11. The
slope extracted from the mean square displacement plot divided by 4 gives the
diffusion coefficient. Table 1 shows the diffusion coefficients of monomer and
dimer at 4 different temperatures. The effective barriers extracted from the Arrhenius plot for the monomer and dimer are 0.029eV and 0.083eV, respectively.
That these values are within the statistical error of already published results
[22] shows that pattern-recognition scheme works well with 2D diffusion.
6. Discussion
In a KMC simulations, processes that can occur are identified based on the
local neighborhood of an atom. In traditional KMC simulation this information
is hardwired into it and cannot be modified during the course of the simulation.
Therefore all the relevant processes that can happen in the system have to be
known ahead of time. In SLKMC simulations, generation of unique configuration key to identify a local neighborhood using a pattern-recognition scheme allows storage and retrieval of information about processes from a database. This
gives these simulation flexibility to add processes if necessary during the course
of the simulation, removing the constraint that all the possible processes have
to be known ahead of time. Accordingly, in order to improve upon previouslydeveloped pattern recognition schemes, which are essentially two-dimensional,
and to accurately account for different types of diffusion processes involving 2D
or 3D motion of atoms to either symmetric or non-symmetric (off-lattice) sites,
we have developed a new 3D off-lattice pattern recognition scheme. This new
21
(a)
(b)
Figure 12: (a) Monomer (dark blue atom) on a fcc site on fcc (111) surface, the red lines show
division of space on the third layer L3, (b) The red lines show even finer division of space,
enabling recognition of configurations involving off-lattice sites
scheme is simple, flexible and more accurate in identifying local neighborhoods.
The improvement in accuracy of the scheme results from the matching integers
instead of real numbers for pattern recognition while the flexibility results from
the application of simulation code without significant changes, to both 2D and
3D systems regardless of whether these are on- or off-lattice.
We have tested this method by studying 2D diffusivity of Cu islands on Cu
(111) surface and decay of Cu 3D islands on Cu(100) surface and comparing the
results with those are available in the literature. For Cu/Cu(100) simulations,
even though the processes allowed in these simulations move atoms from one
symmetric site to another, pattern recognition does allow the identification of
neighborhood and corresponding processes if atom is at a non-symmetric (offlattice) site. It can be seen from the fig. 3 that the division of 3D space allows
the identification of a 4-fold hollow site, an A-top site and a bridge site on layer
L2. We note that for fcc (111) surface, two substrate layers and two adatom
22
layers are used for recognizing a pattern. Fig. 12(a) shows division of space for
the third layer (L3) or adatom layer on fcc (111) surface. It can be seen that
the size of the smaller box used is accurate enough to differentiate between fcc
and hcp sites. This is because in our simulations on fcc(111) surface we allowed
atoms to move only from one symmetric site to another. But, the size of the
small box can be easily reduced, thereby increasing number of small boxes, as
shown in fig. 12(b) to enable the identification of configurations in which atoms
sit on off-lattice sites. That is, the accuracy with which a process is identified
depends on the size of the small box. Hence some knowledge about the system
under study is needed to determine not only the size of the super box but also
the dimensions of the small boxes.
Although this 3D pattern-recognition scheme was developed with the intention of using it to study morphological evolution during heteroepitaxial growth
using KMC method, it should be applicable to any 3D system wherever the
transition-state theory is applicable. This new 3D off-lattice pattern recognition scheme is computationally more expensive than previous methods but gives
greater flexibility and extends the range of types of systems that can be simulated using KMC method. For a fixed size of a super box the computational
effort in identifying a pattern does not vary much with number of the small
boxes or their size, it increases rather with the increasing size of the super box,
because large part of the computational effort goes into searching the neighborhood atoms the number of which depends on the size of the super box. We
note for the case of 2D island diffusion on fcc (111) surface that each KMC step
requires about couple of micro-seconds depending on the computing speed of
the processor (On a Intel Core 2 Duo 2.26 GHz machine, each KMC step takes
about 2.2ms). Thus, these kinds of simulations are an excellent candidate for
parallel simulations.
7. Acknowledgement
This work was supported by DOE-BES under grant DE-FG02-07ER46354.
We would also like to acknowledge of the support of computational resources of
23
University of Central Florida (STOKES) and also grant of computer time from
TeraGrid (TG-DMR110046). We thank Lyman Baker for critical reading of the
manuscript.
References
[1] Y. Saito, Statistical Physics of Crystal Growth, World Scientific, Singapore,
1996.
[2] R. Nötzel, J. Temmyo, T. Tamamura, Nature 369.
[3] R. Jullien, J. Kertesz, P. Meakin, D. E. Wolf, Surface Disordering: Growth,
Roughening and Phase Transitions, Nova, Commack, New York, 1993.
[4] M. Notomi, J. Hammersberg, H. Weman, S. Nojima, H. Sugiura,
M. Okamoto, T. Tamamura, M. Potemski, Phys. Rev. B 52 (1995) 11147.
[5] J. L. Gray, N. Singh, D. M. Elzey, R. Hull, J. A. Floro, Phys. Rev. Lett.
92 (2004) 135504.
[6] P. Kordos, J. Novak (Eds.), Heterostructure Epitaxy and Devices, Boston:
Kluwer, 1998.
[7] T. P. . Pearsall (Ed.), Strain Layer Super-lattices, Boston: Academic, 1990.
[8] Y. W. Mo, D. E. Savage, B. S. Swartzentruber, M. G. Lagally, Phys. Rev.
Lett. 65 (1990) 1020.
[9] D. J. Eaglesham, M. Cerullo, Phys. Rev. Lett 64 (1990) 1943.
[10] M. Schneider, A. Rahman, I. K. Schuller, Phys. Rev. Lett. 55 (1985) 604.
[11] B. W. Dodson, CRC Crit. Rev. Solid. State Mater. Sci 16 (1990) 115.
[12] M. Schneider, I. Schuller, A. Rahman, Phys. Rev. B 36 (1987) 1340.
[13] A. B. Bortz, M. H. Kalos, J. L. Lebowitz, J. Comput. Phys. 17 (1975) 10.
[14] G. H. Gilmer, J. Crystal. Growth. 35 (1976) 15.
24
[15] A. F. Voter, Phys. Rev. B 34 (1986) 6819.
[16] P. A. Maksym, Semiconf. Sci. Technol. 3 (1988) 594.
[17] K. A. Fichthorn, W. H. Weinberg, J. Chem. Phys. 95 (1991) 1090.
[18] J. L. Blue, I. Beichl, F. Sullivan, Phys. Rev. E 51 (1995) R867.
[19] G. M. H. Jónsson, K. W. Jacobsen, Classical and Quantum Dynamics in
Condensed Phase Simulations, World Scientific, Singapore, 1998.
[20] G. Henkelman, H. Jonsson, J. Chem. Phys. 115 (2001) 9657.
[21] O. Trushin, A. Karim, A. Kara, T. S. Rahman, Phys. Rev. B 72 (2005)
115401.
[22] A. Karim, A. N. Al-Rawi, A. Kara, T. S. Rahman, O. Trushin, T. AlaNissila, Phys. Rev. B 73 (2006) 165411.
[23] G. Nandipati, Y. Shim, J. G. Amar, A. Karim, A. Kara, T. S. Rahman,
O. Trushin, J. Phys.: Condens. Matter 21 (084214).
[24] G. Nandipati, A. Kara, S. I. Shah, T. S. Rahman, J. Phys.: Condens.
Matter 23 (2011) 262001.
[25] A. Kara, O. Trushin, H. Yildirim, T. S. Rahman, J. Phys.: Condens. Matter
21.
[26] G. Henkelman, H. Jónsson, J. Chem. Phys. 115 (7010).
[27] D. C. Rapaport, The Art of Molecular Dynamics SImulation, Cambridge
University Press, 2004.
[28] J. Jacobsen, K. W. Jacobsen, J. K. Norskov, Surf. Sci. 359 (1996) 37.
[29] Y. Shim, J. G. Amar, Phys. Rev. B 73.
[30] J. Yu, J. G. Amar, Phys. Rev. Lett 89.
[31] G. Nandipati, Y. Shim, J. G. Amar, Phys. Rev. B 81.
25
[32] G. Ehrlich, F. G. Hudda, J. Chem. Phys. 44 (1039).
[33] L. Schwoebel, J. Appl. Phys. 40 (614).
[34] J. W. Evans, D. E. Sanders, P. A. Thiel, A. E. DePristo, Phys. Rev. B 41
(1990) R5410.
[35] J. Frantz, M. Rusanen, K. Nordlund, I. Koponen, J. Phys.: Condens. Matter 16 (2004) 2995.
[36] S. M. Foiles, M. I. Baskes, M. S. Daw, Phys. Rev. B 33 (1986) 7983.
[37] H. Yildirim, A. Kara, S. Durukanoglu, T. S. Rahman, Surf. Sci. 600 (2006)
484.
[38] H. Yildirim, A. Kara, T. S. Rahman, Phys. Rev. B 76 (2007) 165421.
[39] G. Henkelman, H. Jónsson, Phys. Rev. Lett. 90 (2003) 116101.
[40] F. Montalenti, Transition-path spectra at metal surfaces, Surf. Sci. 543
(2003) 141.
[41] A. Einstein, Ann. Phys. (Leipzig) 17 (1905) 549 (English transl. Investigations on the Theory of Brownian Movement, Dover, New York, 1956).
26