The Swiss-army knife of atomic simulations

This tutorial explains how to construct a ½[111] screw dislocation in bcc iron, using anisotropic elasticity. It is recommended to be familiar with dislocations and with anisotropic elasticity in order to follow the steps below.

We want to construct a screw dislocation lying along the Z axis, i.e. the crystallographic direction will be Z=[111]. The other two Cartesian directions must be perpendicular to Z, so we choose X=[121] and Y=[101].

If you wish to generate a unit cell with this orientation then:

atomsk --create bcc 2.856 Fe orient [121] [-101] [1-11] xsf

Because we want to use anisotropic elasticity to construct the dislocation, first we must provide the elastic constants of α-Fe to Atomsk. Atomsk can read this type of information from a text file, thanks to the option `-properties`

.

Let us write the full elastic tensor into a text file:

```
# Full 6x6 elastic tensor for alpha-Fe (GPa)
```

elastic

243.30 145.00 145.00 0.00 0.00 0.00

145.00 243.00 145.00 0.00 0.00 0.00

145.00 145.00 243.00 0.00 0.00 0.00

0.00 0.00 0.00 119.00 0.00 0.00

0.00 0.00 0.00 0.00 119.00 0.00

0.00 0.00 0.00 0.00 0.00 119.00

Alternatively, since α-iron is an orthotropic material, it is possible to use the shorter Voigt notation. The text file then looks like the following (everything that appear after # symbols are comments and can be removed):

```
# Elastic constants for alpha-Fe (GPa)
```

elastic Voigt

243.30 243.30 243.30 # C11 C22 C33

145.00 145.00 145.00 # C23 C31 C12

119.00 119.00 119.00 # C44 C55 C66

Now, the problem is that this elastic tensor is that of unoriented α-Fe, i.e. it corresponds to the crystal orientation X=[100], Y=[010], Z=[001]. Here we want to construct a system with a different orientation, which requires to rotate the elastic tensor. With Atomsk, one can simply specify the target crystal orientation, and Atomsk will automatically rotate the elastic tensor to match this orientation:

```
# Elastic constants for alpha-Fe (GPa)
```

elastic Voigt

243.30 243.30 243.30 # C11 C22 C33

145.00 145.00 145.00 # C23 C31 C12

119.00 119.00 119.00 # C44 C55 C66

# Actual crystal orientation

orientation

[121]

[-101]

[1-11]

atomsk --create bcc 2.856 Fe orient [121] [-101] [1-11] \

-duplicate 20 30 1 \

-prop elastic.txt \

-disloc 0.501*box 0.501*box screw z y 2.47336855321 \

Fe_dislo.cfg

This one-liner generates completely the system with the dislocation in it. Atomsk will first create the unit cell of bcc Fe with the required orientation (thanks to the mode "`--create`

"), then duplicate it to generate a supercell, then read the elastic tensor from the file "elastic.txt", and then introduce the screw dislocation. Because the elastic tensor is provided, the dislocation will be introduced using anisotropic elasticity.

Because the Burgers vector is ½[111], its magnitude is *a*√3/2, that is *b*=2.47336855321 Å. Note that the value of the Burgers vector has to be very accurate. Atomsk will not make any adjustments, nor try to guess the "best" value of the Burgers vector for you.

The final output file "Fe_dislo.cfg" can be opened with Atomeye. Using the combinations Alt+0, Alt+1, Alt+2, etc. allows to visualize the components of the theoretical stresses σ_{xx}, σ_{yy}, σ_{zz}, etc. that were computed by Atomsk. As an example, the component σ_{zz} should look like the following:

Similarly to the screw dislocation in aluminium, it is possible to restore the periodicity of the system along the direction of glide (i.e. along X) by adding a Z component equal to *b*/2 to the first vector of the box.

The dislocation as constructed above is not fully relaxed. The theoretical stresses computed by Atomsk, and visualized in Atomeye, are not the real stresses of an actual dislocation. The purpose is to construct a dislocation that is close to its equilibrium state, in order to perform an atomic-scale calculation (either *ab initio* or with empirical potential).

The simulation setup as constructed above does not allow for 3-D periodic boundary conditions. Introducing a dislocation produces displacements of all atoms, so that the opposite sides of the simulation box do not match anymore. After introducing a dislocation, the system is periodic only along the dislocation line.