Skip to content

Hopping Directions@

General Discussion@

\(\mathbb{KSOME}\) is an on-lattice, object KMC code. Hence the coordinates of defect locations and hop directions are specified in integer form. The integer coordinate system is expressed as some multiple of materials lattice constant. Integer coordinates are expressed in lattice unit, which is a dimensionless unit. The use of integer instead of real (or floating-point) coordinates was a design choice for the sake of simplicity and, it is possible to modify KSOME to use floating-point coordinates and directions1. On this page, the use of integer coordinate system for fcc, bcc and hcp lattices is briefly described. Though the hop directions described below follow the crystal structure, it is important to note that there is no underlying lattice structure in the OKMC simulations (similar to the rate-equation theory)2. Nevertheless, it is essential to capture any anisotropy in a defect's diffusion or in the host crystal structure to perform radiation damage simulations correctly (or rigorously)

3D Isotropic Diffusion@

If an object's4 diffusion is 3D and isotropic, then it can be made to diffuse along the six \(\langle 100 \rangle\) directions regardless of how the object diffuses in the the host material. However, the rates of new hops, especially the prefactor, should be adjusted accordingly such that the object's diffusivity (in Å2/s) remains unchanged.

Example@

A mono-vacancy in a bcc lattice is expected to hop along the eight \(\langle 111 \rangle\) directions i.e. between nearest-neighbor lattice sites. Vacancy hopping rate at a given temperature T between the nearest-neighbor sites is given as \(\Gamma = D_0\exp\big(-\frac{E_m}{k_BT}\big)\), where \(E_m\) and \(D_0\) are the activation energy barrier (in eV) and the prefactor (in s-1). Then the vacancy's diffusivity (\(D\) in Å2/s) is given as

\[ \begin{equation} D =\frac{1}{6} zl^2\Gamma \label{eq1} \end{equation} \]

where,

  • \(z\)5 = № of nearest-neighbors and
  • \(l\) = hop-length.

For the vacancy diffusion in a bcc lattice, \(z = 8\) and \(l = \sqrt{3}a_0/2\). Substituting then in eq. (\(\ref{eq1}\)), one gets after simplification

\[ \begin{equation} D = a_0^2\Gamma ~~~(\text{in}~~ \unicode{x212b}^2/s) \label{eq2} \end{equation} \]

Note that the standard procedure of multiplying the square of the lattice constant with the hopping frequency as shown in eq. (\(\ref{eq2}\)) to calculate the diffusivity in the units of Å2/s assumes that the diffusion occurs via hops between the nearest-neighbor lattice sites. Note that both for the fcc and bcc lattices, the expression for the diffusivity when it occurs via nearest-neighbor sites symbolically looks the same. Otherwise, one have to use the eq. (\(\ref{eq1}\)) to calculate the diffusivity in Å2/s.

Now, if diffusion of the mono-vacancy is simulated using hops along the six \(\langle 100\rangle\) directions, then \(z^{\prime} = 6\) and \(l^{\prime} = a_0/2\). , then the diffusivity \((D^{\prime})\) for this case would be

\[ \begin{equation} D^{\prime} = \frac{a_0^2}{4}\Gamma^{\prime} \label{eq3} \end{equation} \]

Where \(\Gamma^{\prime}\) is the hopping rate along the individual \(\langle 100\rangle\) directions

Irrespective of how the object is moves in the OKMC simulation, its diffusivity should be the same in eq. (\(\ref{eq2}\)), i.e. \(D^{\prime} \overset{!}{=} D\). Hence,

\[ D^{\prime} = D~~~{\color{blue}{\Rightarrow}}~~~ \frac{a_0^2}{4}\Gamma^{\prime} = a_0^2\Gamma ~~~{\color{blue}{\Rightarrow}}~~~ \Gamma^{\prime} = 4 \times \Gamma \]

If \(\Gamma^{\prime} = D_0^{\prime}\exp\big(-\frac{E_m}{k_BT}\big)\), then \(D_0^{\prime} = 4 \times D_0\). That is when the mono-vacancy's diffusion is executed via diffusion hops along the six \(\langle 100\rangle\) directions with hop-length equal to \(a_0/2\), then the new prefactor (in s-1) would be 4 times the prefactor of the hops along the \(\langle 111 \rangle\) directions.

As noted earlier, as long as the diffusion occurs via nearest-neighbor hops, the diffusivity of an object both in bcc and fcc lattices can be calculated using eq. (\(\ref{eq2}\)). As such, one can write a general expression for the new prefactor as

\[ \begin{equation} D_0^{\prime} = \frac{6a_0^2}{z^{\prime}{l^{\prime}}^2}D_0 \label{feq} \end{equation} \]

where,

  • \(z^{\prime}\) = № of pathways and,
  • \(l^{\prime}\) is the hop-length for the new hops.
  • \(D_0\) is the prefactor for the hopping rate between nearest-neighbor sites

If the diffusion of the object is simulated via hops along \(\langle 100 \rangle\) hops with a hop-length that is some multiple (or a fraction) of the lattice-constant, then using eq. (\(\ref{feq}\)) one can write the diffusivity along the \(\langle 100\rangle\) directions as

\[ \begin{equation} D_0^{\langle 100\rangle} = \frac{1}{r^2}D_0 \end{equation} \]

where, \(\displaystyle l^{\prime}/a_0 = r\) (ratio of hop-length and lattice-constant)

Cubic Lattices@

For cubic lattices, most often, the obvious choice for the lattice unit is half-of-the-lattice constant (i.e. two lattice units = \(a_0\)) as shown in the figures below3.

FCC (Face-Centered Cubic)@

Direction coordinates:@

0(0,-1,1), 1(1,0,1), 2(0,1,1), 3(-1,0,1),
4(1,-1,0), 5(1,1,0), 6(-1,1,0), 7(-1,-1,0),
8(0,-1,-1),9(1,0,-1),10(0,1,-1),11(-1,0,-1)

Interactive Figure@

BCC (Body-Centered Cubic)@

Direction coordinates:@

0(-1,-1,-1),1(1,-1,-1),2(1,-1,1),4(-1,-1,1),
4(-1,1,1), 5(-1,1,-1),6(1,1,1-),7(1,1,1)

Interactive Figure@

Note

  • In KSOME, the lattice is always cubic.
  • In general,not always, the type of the lattice is defined by the hop directions.
  • Defect coordinates should be converted from integer to real or floating-point format for data analysis (post-processing)
  • Both fcc and bcc directions can be used simultaneously (if needed)

HCP (Hexagonal Close Packed)@

Unlike fcc and bcc lattices, hcp lattice is not a Bravais lattice. Hence, the hcp lattice should be converted to a Bravais lattice. In the case of atomistic KMC simulations, the conversion from non-Bravais to Bravais lattice should be done rigorously. However, for OKMC simulations, since there is no underlying lattice, it is not necessary to transform strictly. The primary aspect of the hcp lattice that should be captured is the asymmetry along the c-axis. There are different ways one can incorporate the asymmetry. Below I am describing the easiest approach.

Approach 1@

In this approach, one considers the hcp simulation cell as a stack of 2D triangular lattice (triangular lattice as shown figure 1), with lattice units equal to \(a_0\) along the basal plane and \(c/2\) along the c-axis.


Figure. 1 Mapping of a triangular lattice onto a square lattice (2D)

Within a given 2D-plane, if \((x_{int},y_{int})\) are the integer coordinates of an object on the square lattice, then the corresponding coordinates \((x_{real},y_{real})\) in the triangular lattice are given as \(x_{\text {real }}=a_{0}\left(x_{\text {int }}+\frac{y_{\text {int }}}{2}\right)\) and \(y_{\text {real }}=a_{0}\left(\frac{\sqrt{3}}{2} y_{\text {int }}\right)\). Note that in this case, the lattice unit along the basal plane is equal to \(a_0\).


Figure 2 Mapping of a hcp onto a cubic grid (3D)

With this approach, there will be eight directions for an object to diffuse, six in the basal plane and two to move out the basal plane.

  • The six directions along the basal plane are 0 (1,0,0) 1 (1, -1, 0) 2(0,-1,0) 3(-1,0,0) 4(-1, 1, 0) 5 (0,1,0),
  • The two directions along the c-axis are 6(0,0,1) 7(0,0,-1).

Note that along the basal plane, integer coordinates should be converted to real coordinates as described above. While along the c-axis, real coordinates can be obtained by multiplying the integer coordinates with \(c/2\) (a post-processing step).

Hopping Rates@

As mentioned earlier, since the object is made to diffuse along eight directions instead of the standard twelve directions, the hopping rates have to be readjusted accordingly to keep the diffusivities the same as in an actual hcp lattice. For a hcp lattice the diffusivities along the c-axis (\(D_{\parallel}\)) and along the basal plane (\(D_{\perp}\)) are given as

\[ \begin{aligned} D_{\parallel} =& \frac34 c^2\Gamma_{\!_{\parallel}}~~~~~~~~~~~~~ (\text{along the c-axis})\\[5pt] D_{\perp} =& \frac12 a_0^2(3\Gamma_{\!_{\perp}}+\Gamma_{\!_{\parallel}})~~(\text{along the basal plane})\\[5pt] D =& \frac13 \Gamma_{\!_{\parallel}} + \frac23\Gamma_{\!_{\perp}}~~~~~~~~~(\text{Total Diffusivity}) \end{aligned} \]

where,

  • \(\Gamma_{\!_{\parallel}}\) = hopping rate along the six individual directions along the basal plane.
  • \(\Gamma_{\!_{\perp}}\) = hopping rate along the six individual directions out of the basal plane.

Last updated on Jan 13, 2023 at 8:40 PM (PST)


  1. I do not plan or intend to modify the source code myself. 

  2. I will put off further discussion on this topic to a later time 

  3. (i) Figures are interactive.
    (ii)Drag the bottom-right corner to resize the figure.
    (iii)Scroll in and out to zoom in and out, or + (Shift + <) and + (shift+>) keys
    (iv) Use X, Y, Z keys to rotate the figure or hold-n-drag using the mouse.
    (v) H resets the viewing to the original state
    (vi) M key to toggle rendering modes (sold, path,mesh

  4. An Object can be a defect or a defect cluster or an atom. 

  5. Its the number of pathways available for the object to hop out of its present location. In this example, the number of nearest neighbors and the available path ways are equal to each other. 

Back to top