The symmetry package implements symmetry tools, e.g., spacegroup determination, etc.
Created on March 25, 2013
This class looks for path along high symmetry lines in the Brillouin Zone. It is based on Setyawan, W., & Curtarolo, S. (2010). High-throughput electronic band structure calculations: Challenges and tools. Computational Materials Science, 49(2), 299-312. doi:10.1016/j.commatsci.2010.05.010 The symmetry is determined by spglib through the SymmetryFinder class
Gives the plot (as a matplotlib object) of the symmetry line path in the Brillouin Zone.
An interface to the excellent spglib library by Atsushi Togo (http://spglib.sourceforge.net/) for pymatgen.
v1.0 - Now works with both ordered and disordered structure.
Not all spglib functions are implemented.
Takes a pymatgen.core.structure.Structure object and a symprec. Uses pyspglib to perform various symmetry finding operations.
Find a primitive version of the unit cell.
Gives a structure with a conventional cell according to certain standards. The standards are defined in Setyawan, W., & Curtarolo, S. (2010). High-throughput electronic band structure calculations: Challenges and tools. Computational Materials Science, 49(2), 299-312. doi:10.1016/j.commatsci.2010.05.010 They basically enforce as much as possible norm(a1)<norm(a2)<norm(a3)
Get the crystal system for the structure, e.g., (triclinic, orthorhombic, cubic, etc.).
Returns Hall symbol for structure.
Irreducible k-points are searched from the input kpoints.
Irreducible k-points are searched from the input kpoints. The result is returned as a map of numbers. The array index of map corresponds to the reducible k-point numbering. After finding irreducible k-points, the indices of the irreducible k-points are mapped to the elements of map, i.e., number of unique values in map is the number of the irreducible k-points.
k-point mesh of the Brillouin zone generated taken into account symmetry.The method returns the irreducible kpoints of the mesh and their weights
Get the lattice for the structure, e.g., (triclinic, orthorhombic, cubic, etc.).This is the same than the crystal system with the exception of the hexagonal/rhombohedral lattice
Get the point group associated with the structure.
Gives a structure with a primitive cell according to certain standards the standards are defined in Setyawan, W., & Curtarolo, S. (2010). High-throughput electronic band structure calculations: Challenges and tools. Computational Materials Science, 49(2), 299-312. doi:10.1016/j.commatsci.2010.05.010
Get the refined structure based on detected symmetry. The refined structure is a conventional cell setting with atoms moved to the expected symmetry positions.
Return space group in international table symbol and number as a string.
Get the international spacegroup number (e.g., 62) for structure.
Get the spacegroup symbol (e.g., Pnma) for structure.
Get a symmetrized structure. A symmetrized structure is one where the sites have been grouped into symmetrically equivalent groups.
Returns the symmetry dataset as a dict.
Return symmetry operations as a list of SymmOp objects. By default returns fractional coord symmops. But cartesian can be returned too.
Return point group in international table symbol and number. The symbols are mapped to the numbers as follows: 1 “1 ” 2 “-1 ” 3 “2 ” 4 “m ” 5 “2/m ” 6 “222 ” 7 “mm2 ” 8 “mmm ” 9 “4 ” 10 “-4 ” 11 “4/m ” 12 “422 ” 13 “4mm ” 14 “-42m ” 15 “4/mmm” 16 “3 ” 17 “-3 ” 18 “32 ” 19 “3m ” 20 “-3m ” 21 “6 ” 22 “-6 ” 23 “6/m ” 24 “622 ” 25 “6mm ” 26 “-62m ” 27 “6/mmm” 28 “23 ” 29 “m-3 ” 30 “432 ” 31 “-43m ” 32 “m-3m “
This module implements a point group assigner for a molecule.
Defines a point group, which is essentially a sequence of symmetry operations.
Schoenflies symbol of the point group.
A class to analyze the point group of a molecule. The general outline of the algorithm is as follows:
Center the molecule around its center of mass.
Compute the inertia tensor and the eigenvalues and eigenvectors.
Handle the symmetry detection based on eigenvalues.
- Linear molecules have one zero eigenvalue. Possible symmetry operations are C*v or D*v
- Asymetric top molecules have all different eigenvalues. The maximum rotational symmetry in such molecules is 2
- Symmetric top molecules have 1 unique eigenvalue, which gives a unique rotation axis. All axial point groups are possible except the cubic groups (T & O) and I.
- Spherical top molecules have all three eigenvalues equal. They have the rare T, O or I point groups.
Schoenflies symbol of the detected point group.
Cluster sites based on distance and species type.
Recursive algorithm to permute through all possible combinations of the initially supplied symmetry operations to arrive at a complete set of operations mapping a single atom to all other equivalent atoms in the point group. This assumes that the initial number already uniquely identifies all operations.
This module implements a basic Spacegroup class
Represents a space group, which is a collection of symmetry operations
Given two sets of PeriodicSites, test if they are actually symmetrically equivalent under this space group. Useful, for example, if you want to test if selecting atoms 1 and 2 out of a set of 4 atoms are symmetrically the same as selecting atoms 3 and 4, etc.
One use is in PartialRemoveSpecie transformation to return only symmetrically distinct arrangements of atoms.
This module implements symmetry-related structure forms.
This class represents a symmetrized structure, i.e. a structure where the spacegroup and symmetry operations are defined.
All the sites grouped by symmetry equivalence in the form of [[sites in group1], [sites in group2], ...]
Finds all symmetrically equivalent sites for a particular site