orgdisord.merge.supercell_symops

orgdisord.merge.supercell_symops#

orgdisord.merge.supercell_symops(symops, supercell=(1, 1, 1))[source]#

Convert unit-cell symmetry operations to the supercell frame.

The supercell lattice is P @ (unit-cell lattice). A unit-cell operation u' = u R^T + t becomes x' = x (P R^T P^-1) + t P^-1 in supercell fractional coordinates x = u P^-1. Only operations that map the supercell lattice onto itself (P R^T P^-1 integer) are symmetries of the supercell as a periodic crystal, so the others are dropped. The pure unit-cell translations that are distinct modulo the supercell are then composed with the remaining operations, which makes the set a closed group.

Parameters:
  • symops (list) – List of (rotation_matrix, translation_vector) tuples in unit-cell fractional coordinates.

  • supercell (None, length-3 sequence or 3x3 array) – the diagonal repeat (na, nb, nc) or the integer transformation matrix P.

Returns:

List of (rotation_sc, translation_sc) tuples in supercell fractional coordinates.

Return type:

list