pyscal - python Structural Environment Calculator
The core functionality of pyscal is written in C++ with python wrappers using pybind11 which allows for fast calculations with possibilities for easy expansion in python.
Steinhardt’s order parameters are widely used for identification of crystal structures . They are also used to identify if an atom is solid or liquid . pyscal is inspired by BondOrderAnalysis code, but has since incorporated many additions and modifications. pyscal module includes the following functionality-
- fast and efficient calculations using C++ and expansion using python.
- calculation of Steinhardt’s order parameters and their averaged version .
- links with Voro++ code, for calculation of Steinhardt parameters weighted using face area of Voronoi polyhedra .
- classification of atoms as solid or liquid .
- clustering of particles based on a user defined property.
- methods for calculating radial distribution function, voronoi volume of particles, number of vertices and face area of voronoi polyhedra and coordination number.
- calculation of angular parameters to identify diamond structure .
Steinhardt, PJ, Nelson, DR, Ronchetti, M. Phys Rev B 28, 1983
 Lechner, W, Dellago, C, J Chem Phys, 2013
 Mickel, W, Kapfer, SC, Schroder-Turk, GE, Mecke, K, J Chem Phys 138, 2013
 Auer, S, Frenkel, D. Adv Polym Sci 173, 2005
 Uttormark, M. J., Thompson, M. O., Clancy, P. (1993). Physical Review B, 47