AngPoly3D is a Python package to calculate the angle between a reference orientation and a polyhedron orientation considering the polyhedron's point group symmetry.
The calculated angle is the minimum of all angles after applying all the equivalent orientations on the orientation of a polyhedron according to the formula prescribed in the paper by Sharon C. Glotzer et al.
Orientation of a polyhedron must be provided in quaternion format.
Use the package manager pip to install AngPoly3D.
pip install AngPoly3D
git clone https://github.com/sumitavakundu007/AngPoly3D.git
tar -xvf AngPoly3D-X.X.X
cd AngPoly3D-X.X.X
python3 setup.py install --user
from AngPoly3D import ang_poly3d_func
angles = ang_poly3d_func()
print(angles)
It will ask for few inputs to calculate the angles. You must provide the orientations, equivalent orientations and reference orientation in JSON format as following.
{
"orientations": [[0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]
}
{
"equiv_orientations": [[1, 0, 0, 0]]
}
{
"ref_orientation": [1, 0, 0, 0]
}
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.