Disorder parameter#
Kawasaki and Onuki [1] proposed a disorder variable based on Steinhardt’s order paramaters which can be used to distinguish between ordered and disordered structures
The disorder variable for an atom is defined as,
where S is given by,
l = 6 was used in the original publication as it is a good indicator of crystallinity. However, l = 4 can also be used for treating bcc structures. An averaged disorder parameter for each atom can also be calculated in pyscal,
In pyscal, the disorder parameter can be calculated by the following code-block,
import pyscal
from ase.io import read
atoms = read('conf.dump', format='lammps-dump-text')
pyscal.find_neighbors(atoms, method='cutoff', cutoff=0)
pyscal.steinhardt_parameter(atoms, l=6)
pyscal.disorder(atoms, q=6, averaged=True)
The value of q can be set to any integer for which Steinhardt’s parameters have been computed. The per-atom disorder is stored as atoms.arrays['pyscal_disorder'] (and pyscal_avg_disorder for the averaged variant).
References#
Kawasaki, T. & Onuki, A. Construction of a disorder variable from Steinhardt order parameters in binary mixtures at high densities in three dimensions. Journal of Chemical Physics 135, (2011).