pyscal- A python module for structural analysis of atomic environments¶
pyscal is a python module for the calculation of local atomic structural environments including Steinhardt’s bond orientational order parameters  during post-processing of atomistic simulation data. The core functionality of pyscal is written in C++ with python wrappers using pybind11 which allows for fast calculations and easy extensions in python.
Steinhardt’s order parameters are widely used for the identification of crystal structures . They are also used to distinguish if an atom is in a solid or liquid environment . pyscal is inspired by the BondOrderAnalysis code, but has since incorporated many additional features and modifications. The pyscal module includes the following functionalities:
- calculation of Steinhardt’s order parameters and their averaged version .
- links with the Voro++ code, for the calculation of Steinhardt parameters weighted using the face areas of Voronoi polyhedra .
- classification of atoms as solid or liquid .
- clustering of particles based on a user defined property.
- methods for calculating radial distribution functions, Voronoi volumes of particles, number of vertices and face area of Voronoi polyhedra, and coordination numbers.
- calculation of angular parameters to identify diamond structure .
|||Steinhardt, P. J., Nelson, D. R., & Ronchetti, M. (1983). Physical Review B, 28.|
|||Lechner, W., & Dellago, C. (2008). The Journal of Chemical Physics, 129.|
|||(1, 2) Mickel, W., Kapfer, S. C., Schröder-Turk, G. E., & Mecke, K. (2013). The Journal of Chemical Physics, 138.|
|||(1, 2) Auer, S., & Frenkel, D. (2005). Advances in Polymer Science, 173.|
|||Uttormark, M. J., Thompson, M. O., Clancy, P. (1993). Physical Review B, 47.|
- Using pyscal
- Finding nearest neighbors
- Steinhardt parameters
- Calculating bond orientational order parameters
- Disorder variable
- Distinction of solid liquid atoms and clustering
- Clustering based on a custom property
- Angle based methods
- Voronoi tessellation
- Other examples
Methods implemented in pyscal¶
- Methods implemented in pyscal
- Methods to calculate neighbors of a particle
- Steinhardt’s bond orientational order parameters
- Angle based methods
- Voronoi tessellation to identify local structures