Note
Go to the end to download the full example code.
Create crystal symmetry#
This example shows various ways to obtain a Symmetry.
The simplest way is to import pre-defined point groups. They are named after the Schoenflies notation and can be imported directly
Symmetry (48,) m-3m
[[ 1. 0. 0. 0. ]
[ 0.7071 0. 0. 0.7071]
[ 0. 0. 0. 1. ]
[-0.7071 0. 0. 0.7071]
[ 0.5 0.5 0.5 0.5 ]
[ 0. 0. 0.7071 0.7071]
[-0.5 -0.5 0.5 0.5 ]
[-0.7071 -0.7071 0. 0. ]
[ 0. 1. 0. 0. ]
[ 0. 0.7071 0.7071 0. ]
[ 0. 0. 1. 0. ]
[ 0. -0.7071 0.7071 0. ]
[-0.5 0.5 0.5 -0.5 ]
[ 0. 0. 0.7071 -0.7071]
[ 0.5 -0.5 0.5 -0.5 ]
[ 0.7071 -0.7071 0. 0. ]
[ 0. 0.7071 0. 0.7071]
[-0.5 0.5 0.5 0.5 ]
[-0.7071 0. 0.7071 0. ]
[-0.5 -0.5 0.5 -0.5 ]
[ 0. 0.7071 0. -0.7071]
[ 0.5 0.5 0.5 -0.5 ]
[ 0.7071 0. 0.7071 0. ]
[ 0.5 -0.5 0.5 0.5 ]
[ 1. 0. 0. 0. ]
[ 0.7071 0. 0. 0.7071]
[ 0. 0. 0. 1. ]
[-0.7071 0. 0. 0.7071]
[ 0.5 0.5 0.5 0.5 ]
[ 0. 0. 0.7071 0.7071]
[-0.5 -0.5 0.5 0.5 ]
[-0.7071 -0.7071 0. 0. ]
[ 0. 1. 0. 0. ]
[ 0. 0.7071 0.7071 0. ]
[ 0. 0. 1. 0. ]
[ 0. -0.7071 0.7071 0. ]
[-0.5 0.5 0.5 -0.5 ]
[ 0. 0. 0.7071 -0.7071]
[ 0.5 -0.5 0.5 -0.5 ]
[ 0.7071 -0.7071 0. 0. ]
[ 0. 0.7071 0. 0.7071]
[-0.5 0.5 0.5 0.5 ]
[-0.7071 0. 0.7071 0. ]
[-0.5 -0.5 0.5 -0.5 ]
[ 0. 0.7071 0. -0.7071]
[ 0.5 0.5 0.5 -0.5 ]
[ 0.7071 0. 0.7071 0. ]
[ 0.5 -0.5 0.5 0.5 ]]
Symmetry (24,) 6/mmm
[[ 1. 0. 0. 0. ]
[ 0.5 0. 0. 0.866]
[-0.5 0. 0. 0.866]
[ 0. 0. 0. 1. ]
[-0.866 0. 0. 0.5 ]
[-0.866 0. 0. -0.5 ]
[ 0. 1. 0. 0. ]
[ 0. 0.5 0.866 0. ]
[ 0. -0.5 0.866 0. ]
[ 0. 0. 1. 0. ]
[ 0. -0.866 0.5 0. ]
[ 0. -0.866 -0.5 0. ]
[ 0. 0. 0. 1. ]
[-0.866 0. 0. 0.5 ]
[-0.866 0. 0. -0.5 ]
[-1. 0. 0. 0. ]
[-0.5 0. 0. -0.866]
[ 0.5 0. 0. -0.866]
[ 0. 0. -1. 0. ]
[ 0. 0.866 -0.5 0. ]
[ 0. 0.866 0.5 0. ]
[ 0. 1. 0. 0. ]
[ 0. 0.5 0.866 0. ]
[ 0. -0.5 0.866 0. ]]
If one wanted to, one can also combine two point groups to get a third. Here’re two versions of the orthorhombic point group mm2 (C2v) with the 2-fold axis about different axes (importing C2v directly gives the group with the axis about z)
Notice the different symmetrically equivalent directions
Vector3d (4,)
[[ 1. 1. 1.]
[ 1. -1. -1.]
[ 1. 1. -1.]
[ 1. -1. 1.]]
Vector3d (4,)
[[ 1. 1. 1.]
[-1. -1. 1.]
[-1. 1. 1.]
[ 1. -1. 1.]]
Total running time of the script: (0 minutes 0.609 seconds)
Estimated memory usage: 548 MB