atomsk --nye <file1> <file2> [options] [<outputfile>] [formats]
This mode computes the per-atom Nye tensor, a quantity related to the strain gradient around an atom. The Nye tensor can be useful for visualizing lattice defects such as point defects, dislocations, or planar defects (stacking faults, twins, grain boundaries).
The calculation follows the method described in C.S. Hartley, Y. Mishin, Acta Mater. 53 (2005) 1313. Given a reference lattice defined by a set of atom positions P and a distorted lattice defined by Q, the lattice correspondance tensor is computed as:
G = (QT Q)-1 QT P
Once the tensor G is computed for each atom, then the Nye tensor α is computed from its spatial derivatives (εimk is the Levi-Civita permutation symbol):
αjk = -εimk ∂mGij
This mode requires two files: a <file1> containing the reference system, and a <file2> that contains the system to analyze. The reference system may be:
The two files <file1> and <file2> may be of the same format, or of different formats, as long as these formats are supported by Atomsk.
The nine components of the Nye tensor are saved as auxiliary properties for each atom (in the following order: α11, α12, α13, α21, α22, α23, α31, α32, α33). Note that Atomsk will output these auxiliary properties only to the file formats that support it, like e.g. Atomeye CFG format (see this page for a list of formats supporting auxiliary properties).
If you use this mode with one or several options they will be applied to the <file1> and <file2> before the Nye tensor is computed.
Note that this mode assumes that the atom coordinates are wrapped, i.e. that all atoms are inside of the simulation box. If it is not the case then the calculation may be wrong. Coordinates can be wrapped thanks to the option -wrap
.
atomsk --nye reference.xsf dislocation.cfg nye.cfg
This will compute the Nye tensor due to the displacements in the file dislocation.cfg
, using reference.xsf
as a reference system. The positions and Nye tensors of atoms will be written to nye.cfg
.
atomsk --nye unitcell.xsf mysystem.cfg nye.cfg
In this example, a unit cell is provided as reference system. Atomsk will construct reference atomic environments from the file unitcell.xsf
, and then proceed with computing the Nye tensor. The final result will be written into nye.cfg
.
atomsk --nye NULL mysystem.cfg nye.cfg
In this example the reference system is specified as "NULL", i.e. no reference is provided. Atomsk will read atom positions from the file mysystem.cfg
, and average their environments to construct the reference. Then, it will compute the Nye tensor and write the result into nye.cfg
.