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 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-
Highlights
fast and efficient calculations using C++ and expansion using python.
calculation of Steinhardt’s order parameters and their averaged version and disorder parameters.
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 such as for identification of diamond structure and Ackland-Jones angular parameters.
Centrosymmetry parameter for identification of defects.
Adaptive common neighbor analysis for identification of crystal structures.
Documentation
- Download and Install
- News and updates
- Methods and examples
- Methods
- Examples
- Getting started with pyscal
- Calculating coordination numbers
- Calculating bond orientational order parameters
- Analyzing a lammps trajectory
- Disorder variable
- Distinction of solid liquid atoms and clustering
- Voronoi parameters
- Angular parameter
- \(\chi\) parameters
- Centrosymmetry parameter
- Cowley short range order parameter
- Entropy parameters
- Calculating energy
- Entropy and enthalpy parameters
- Visualizing System objects
- pyscal
Trajectory
- pyscal reference
- pyscal Reference
- pyscal.core module
System
System.box
System.atoms
System.__init__()
System.add_atoms()
System.atoms
System.box
System.calculate_angularcriteria()
System.calculate_centrosymmetry()
System.calculate_chiparams()
System.calculate_cna()
System.calculate_disorder()
System.calculate_energy()
System.calculate_entropy()
System.calculate_pmsro()
System.calculate_q()
System.calculate_rdf()
System.calculate_solidneighbors()
System.calculate_sro()
System.calculate_vorovector()
System.cluster_atoms()
System.embed_in_cubic_box()
System.extract_cubic_box()
System.find_diamond_neighbors()
System.find_largestcluster()
System.find_neighbors()
System.find_solids()
System.get_atom()
System.get_concentration()
System.get_custom()
System.get_distance()
System.get_qvals()
System.identify_diamond()
System.iter_atoms()
System.read_inputfile()
System.remap_atoms()
System.repeat()
System.reset_neighbors()
System.set_atom()
System.set_atom_cutoff()
System.show()
System.to_ase()
System.to_file()
test()
Atom
Atom.__init__()
Atom.allaq
Atom.allq
Atom.angular
Atom.avg_angular
Atom.avg_disorder
Atom.avg_energy
Atom.avg_entropy
Atom.avg_sij
Atom.avg_volume
Atom.bonds
Atom.centrosymmetry
Atom.chiparams
Atom.cluster
Atom.cna
Atom.common
Atom.condition
Atom.coordination
Atom.custom
Atom.cutoff
Atom.disorder
Atom.edge_lengths
Atom.energy
Atom.entropy
Atom.face_perimeters
Atom.face_vertices
Atom.get_q()
Atom.get_qlm()
Atom.ghost
Atom.id
Atom.largest_cluster
Atom.loc
Atom.local_angles
Atom.mask
Atom.neighbor_distance
Atom.neighbor_vector
Atom.neighbor_weights
Atom.neighbors
Atom.next_neighbor_distances
Atom.next_neighbors
Atom.pos
Atom.set_q()
Atom.sij
Atom.solid
Atom.sro
Atom.structure
Atom.surface
Atom.type
Atom.vertex_numbers
Atom.vertex_positions
Atom.vertex_vectors
Atom.volume
Atom.vorovector
- pyscal.crystal_structures module
- pyscal.trajectory module
- pyscal.traj_process module
- pyscal.misc module
- pyscal.core module
- pyscal Reference
- Publications and Projects
- Support, contributing and extending
- Help and support
- Citing the code
- Acknowledgements
- License