The Swiss-army knife of atomic simulations

Tutorial: Edge Dislocation in Aluminium

This tutorial exposes three methods to construct a 1/2[110] edge dislocation in aluminium. It is recommended to be familiar with the theory of dislocations in order to follow the steps below.

Aluminium is a face-centered cubic (fcc) metal, where the most favorable slip system is of the type 1/2<110>{111}. We want to construct a system containing only one edge dislocation, lying along the Cartesian Z axis, of Burgers vector b=1/2[110] aligned with X, in a {111} plane normal to the Y axis, as shown in the schematic illustration below:

There are three ways to achieve this with Atomsk.

1. Crystallographic orientation of the system

Before anything, we need a unit cell with the crystal orientation that will later allow to introduce the dislocation. Let us use Atomsk to create a unit cell of aluminium with the orientation X=[110] (direction of the Burgers vector b), Y=[111] (normal to the glide plane), Z=[112]:

atomsk --create fcc 4.046 Al orient [110] [-111] [1-12] Al_unitcell.xsf

Visualization e.g. with VESTA shows what this unit cell looks like:

To create an atomic system containing a dislocation, we will actually need a supercell. The dislocation is periodic along its line (i.e. along Z), therefore the system will not be duplicated along that direction, i.e. the system will be pseudo 2-D:

atomsk Al_unitcell.xsf -duplicate 60 20 1 Al_supercell.xsf

2. Introduce an edge dislocation by inserting a half-plane

As a first example, let us construct the edge dislocation by inserting a new half-plane of atoms. With Atomsk it can be achieved by using the option "-dislocation" with the parameter "edge":

atomsk Al_supercell.xsf -dislocation 0.51*box 0.501*box edge Z Y 2.860954 0.33 Al_edge.cfg

Note the parameters of the option "-dislocation": the position ("0.51*box 0.501*box") means that the dislocation is placed at the center of the box; the values are slightly different from 0.5 to avoid placing the dislocation at the exact location of an atom (that would result in infinite displacement for that atom). The dislocation line is along Z, the glide plane normal to Y. The magnitude of the Burgers vector must be very accurate (here 4.046/√2), beware that Atomsk will not "guess" the best value. Finally, the Poisson ratio is given a value of 0.33, suitable for aluminium.

Atomsk computes the theoretical stress components (from elasticity theory), however these auxiliary properties are not written into XSF files. Outputting the result to a CFG file ("Al_edge.cfg") allows to visualize it with Atomeye. The image below shows the stress component σxx (use Alt+0 within Atomeye), illustrating the compressive zone above the glide plane (in blue) and the tensile zone below it (in red):

This method allows to perform a simulation (e.g. energy minimization) to determine the atomic structure of a dislocation. A drawback is that it introduces new atoms that did not exist in the initial supercell, which makes difficult the comparison with the reference system ("Al_supercell.xsf").

Furthermore, the periodicity of the system is lost along both the X and Y directions, which has two consequences. First, performing a simulation will require to "freeze" atoms at the edges of the box (i.e. forbid them to move during relaxation or molecular dynamics). Second, if the dislocation moves in its glide plane, it will quickly encounter those frozen atoms, thus preventing its propagation.

3. Introduce an edge dislocation without changing the total number of atoms

It is also possible to introduce an edge dislocation while maintaining the number of atoms constant, by using the parameter "edge2" (instead of "edge") in the option "-dislocation":

atomsk Al_supercell.xsf -dislocation 0.51*box 0.501*box edge2 Z Y 2.860954 0.33 Al_edge2.cfg

In this case the upper part of the crystal is compressed, which produces a step on the right-hand side surface, visible when visualizing with Atomeye. Again, with this method the periodicity of the crystal is also lost along both the X and Y directions, which imposes the same limitations as before.

4. Create a dislocation by superimposing two crystals

The two previous methods have a major drawback: the system is not periodic along the direction of glide of the dislocation (i.e. along X). To make that periodicity possible, there is a third way of constructing an edge dislocation: superimpose two crystals, the top one containing one atomic column in excess compared to the bottom one and being compressed by b/2, and the bottom one being elongated by b/2 so they both have the same length along X.

First, let us construct the two blocks. The bottom block has N=40 columns of atoms, and is elongated by half a unit cell along X, i.e. 0.5/40=0.0125:

atomsk Al_unitcell.xsf -duplicate 40 10 1 -deform X 0.0125 0.0 bottom.xsf

Here we use the option "-deform" with a Poisson ratio of zero, i.e. it is pure tensile strain. Similarly, the top crystal is constructed with N+1=41 atomic columns, compressed along X by 0.5/41=0.012195122:

atomsk Al_unitcell.xsf -duplicate 41 10 1 -deform X -0.012195122 0.0 top.xsf

Then, the mode "--merge" can be used to superimpose the two crystals along Y:

atomsk --merge Y 2 bottom.xsf top.xsf Al_edge3.xsf cfg

The final system ("Al_edge3.cfg") does not contain a dislocation yet. It has to be relaxed. This system is periodic along the X direction, however it is still not periodic along the Y direction.

Note that in this method we did not use the option "-dislocation" to construct a dislocation.

5. Dislocation along another direction

Instead of having the dislocation line lying along the Cartesian Z axis, it may be desirable to align it with the X or Y axis. To do so, the initial unit cell has to be oriented differently, and the directions in the option "-dislocation" must also be modified. As an exercise, you may try to construct the same edge dislocation along the X or Y axis.

6. Further comments

It is important to note that the dislocations constructed with any of the methods above are not relaxed nor optimized. They correspond, at best, to the displacement fields predicted by the elastic theory of dislocations. However, in order to find the actual atomic configuration of the dislocation, the system needs to be optimized (e.g. by performing ab initio or atomistic simulations). For example, in the case of aluminium, it is expected that the 1/2[110] edge dislocation dissociates into two Shockley partial dislocations.

While this tutorial focuses on dislocations of pure edge character, it is also possible to construct dislocations of pure screw character with Atomsk, as explained in the following tutorial.

By default the option "-dislocation" uses the displacement fields of isotropic elasticity. This is justified in the case of aluminium because it is an isotropic material. In materials that are highly anisotropic, it is recommended to use the anisotropic elasticity to introduce dislocations, as explained in the following tutorial.