Polyhedron distortion analysis using group theory. This could either be used as a standalone script or as an API.
This code allows you to convert distortions into a small-sized vector, possibly suitable for machine learning input. An example for octahedron is given, but it is applicable to any type of polyhedron.
- numpy
- phonopy (developed with version 2.8)
- pymatgen (developed with version 2022.0.8)
The two scripts basis_generator.py
and polyhedron_analysis.py
does not rely on each other.
The installation procedure is the same as other python scripts.
If you want to use it as a script, you can simply execute it anywhere.
If you want to use the API, you could either:
- export PYTHONPATH=<full path to the polyhedron_distortion directory>:$PYTHONPATH
- copy the script to the place of your script
python basis_generator.py
This will create octahedron basis sets written as a json file inside the basis
directory.
The repository already includes this output.
python polyhedron_analysis.py POSCAR n
where POSCAR is VASP POSCAR and n is the n-th atom in the centre of the octahedron. Use the API for other input types.
- Updates may include breaking changes. Specify versions to obtain reproducible results.
See the following paper for the theoretical background. K. Morita, D. W. Davies, K. T. Butler and A. Walsh, "Breaking the aristotype: featurization of polyhedral distortions in perovskite crystals"