orgdisord.merge.merge_canonical

orgdisord.merge.merge_canonical#

orgdisord.merge.merge_canonical(supercell_images, symops, symprec=0.0001, use_disordered_only=True, check_species=True)[source]#

Group structures into symmetry-inequivalent orbits using canonical labelling.

Builds a shared discrete site template across all images, closes it under the symmetry operations, and maps each image to an occupancy vector over the template. The canonical key for each image is the lexicographical minimum of the occupancy vector across all symmetry operations in the group.

Parameters:
  • supercell_images (list) – List of ASE Atoms objects.

  • symops (list) – List of (rotation, translation) symmetry operations in supercell fractional coordinates (see supercell_symops).

  • symprec (float) – Tolerance for site mapping, in fractional coordinates of the supercell.

  • use_disordered_only (bool) – If True, compare only disordered atoms (tag != 0).

  • check_species (bool) – If True, differentiate atom species.

Returns:

Grouped indices of equivalent images.

Return type:

list of list of int

Raises:

NonDiscreteSitesError – if the atoms are not on a discrete set of sites closed under symops.