Back to main menu

Option: dislocation


-dislocation <p1> <p2> screw <ξ> <n> <b>

-dislocation <p1> <p2> <edge|edge2> <ξ> <n> <b> <ν>

-dislocation <p1> <p2> mixed <ξ> <n> <b1> <b2> <b3>


This option allows to insert a straight dislocation line into the system, using the displacements predicted by the theory of dislocations. Either isotropic or anisotropic solutions can be used (see below). The equations used by this option can be found e.g. in J.P. Hirth and J. Lothe, Theory of dislocations.

The user must provide the following parameters (see Fig. 1):

Fig. 1 - Illustration of the parameters of the option "-dislocation". ξ is the direction of the dislocation line (x, y or z). p1 and p2 are the coordinates of the dislocation in the plane normal to ξ, and b is the Burgers vector.

By default, the dislocation is introduced using the isotropic elastic solutions.

For a screw dislocation, the Burgers vector b is aligned with ξ. The total number of atoms as well as the cell vectors are unchanged. Each atom is displaced by a distance u3 parallel to the dislocation line ξ, and proportional to the norm of the Burgers vector b, according to the theory of elasticity:

       u3 = (b/2π) atan(x2/x1)

where (x1,x2) is the position of the atom in the plane normal to the dislocation line ξ.

For an edge dislocation, the Burgers vector b is normal to ξ (so that b.ξ=0), and contained inside the plane normal to <n>. In this case, the displacements applied to atoms are contained in the plane normal to ξ:

       u1 = (b/2π) [ atan(x2/x1) + x1x2/(2(1-ν)(x12+x22)) ]
       u2 = (-b/2π) [ (1-2ν)ln(x12+x22))/(4(1-ν)) + (x12-x22)/(4(1-ν)(x12+x22)) ]

where ν is the Poisson ratio of the material, and must be provided. With this option, an edge dislocation can be constructed in two different ways, here named "edge" or "edge2", as illustrated in Fig. 2. The first method, associated with the keyword edge, consists in inserting a row of new atoms in the system, and then applying atomic displacements corresponding to the elastic field of an edge dislocation. Subsequently the supercell vector in the direction of the Burgers vector is elongated by 2/3 of the Burgers vector -it is recommended to check it afterwards. Because this method changes the total number of atoms and the volume of the supercell, the comparison between the final and initial systems is made irrelevant. With the second method, associated with the keyword edge2, the edge dislocation is constructed by conserving the total number of atoms in the system (also conserving the supercell vectors). This method results in the presence of a step at one edge of the supercell, possibly messing up the boundary conditions.

Fig. 2 - The two possible ways to construct an edge dislocation with this option. When using the keyword "edge", a new half-plane of atoms is introduced in the system (symbolized in orange). When using "edge2", no new atom is introduced, but the insertion of the dislocation results in the formation of a step at one border of the cell. In both cases the boundaries are distorted, and cannot be 3-D periodic anymore.

After displacing atoms, Atomsk also computes the theoretical dislocation stresses (from the continuum theory). Since the shear modulus μ is unknown to this option, the stresses are normalized to it, i.e. all stresses are calculated with μ=1 (in other words the quantity computed is actually σ/μ). The six Voigt components σxx, σyy, σzz, σyz, σxz and σxy are saved as auxiliary properties for each atom. If several dislocations are introduced in the system then the corresponding theoretical stresses are summed. Note that they can be written only to some files formats, like CFG (see this page for a list of formats that support writing of auxiliary properties).

The use of anisotropic elasticity is automatically triggered when the elastic tensor is defined before calling the present option, e.g. through the option -properties (see specifications of this option for details on the rotation of the elastic tensor). The dislocation can have a character "screw", "edge" or "edge2", as described above. In addition, it is also possible to create a dislocation of mixed character. In this case, the three components of the Burgers vector b1, b2, b3 must be given. Then, the equations of anisotropic elasticity are solved to determine the coefficients Ak(n), D(n), P(n) and Bijk(n), and the anisotropic displacements are applied:

       uk = ℜ{ (-2πi)-1 (n=1,3) Ak(n) D(n) ln(x1+P(n)x2) }, k=1,3

These coefficients are also used to compute the theoretical dislocation stresses:

       σij = ℜ{ (-2πi)-1 (n=1,3) Bijk(n) Ak(n) D(n) / (x1+P(n)x2) }

Since the elastic tensor is known, in this case it is the exact stresses that are computed. As for the isotropic case, the Voigt components are saved as auxiliary properties for each atom, and if several dislocations are constructed then their contributions to the stresses are added.

If the system contains shells (in the sense of an ionic core-shell model), then each shell is displaced by the same vector as its associated core.

Important remarks: Atomsk does not "automagically" find nor adjust the Burgers vector of the dislocation, therefore a very precise value of b must be provided. Neither does the program find the optimal position for the dislocation center: a position (p1,p2) that exactly matches an atom position may result in unrealistic displacements, so you may have to play around with these coordinates to obtain proper results. As always, don't trust a program blindly -check your system before running any simulation, especially when building systems with dislocation(s).

After applying this option, some atoms may end up out of the box. If you want to wrap these atoms back into the simulation cell you may consider using the option -wrap.

If a selection was defined (with the option -select) then the displacements described above are applied only to selected atoms.


By default no dislocation is introduced at all.


Back to main menu