class matlantis_features.features.phonon.symmetry.SymmetryOperations(atoms: Atoms, symprec: float = 1e-05)#

Bases: object

All the symmetry operations in the input structure.

Methods

__init__(atoms[, symprec])

Initialize an instance.

get_permutations(index)

If the initial structure R is transformed with rotation[index] and translation[index] and get the rotated structure R’.

get_permutations_on_atom(index)

If the initial strucutre R = {R_i} was rotated with matrix {r} on the atoms[index] and get the rotated structure R’ = {R_i}’, we can get a serial of index from this function that makes R'[ind] = R.

get_rotation_on_atom(index[, return_indices])

Find the rotation matrix center on the given atom.

get_rotations_coord(index)

The rotation matrix for the cartesian coordinations instead of fractional coordinations.

get_translations_on_atom(index)

To find a set of symmetry operation (both rotation and translation) that does not change the position of atoms[index].

__init__(atoms: Atoms, symprec: float = 1e-05) None#

Initialize an instance.

Parameters
  • atoms (Atoms) – The input structure.

  • symprec (float, optional) – Distance tolerance to find crystal symmetry. Defaults to 1e-05.

get_permutations(index: int) ndarray#

If the initial structure R is transformed with rotation[index] and translation[index] and get the rotated structure R’. we can get a serial of index from this function which enable R’ = R[ind].

Parameters

index (int) – the index of symmetry operation.

Returns

the permutations index.

Return type

np.ndarray

get_permutations_on_atom(index: int) ndarray#

If the initial strucutre R = {R_i} was rotated with matrix {r} on the atoms[index] and get the rotated structure R’ = {R_i}’, we can get a serial of index from this function that makes R’[ind] = R.

Parameters

index (int) – the index of the center atom.

Returns

the permutations index.

Return type

np.ndarray

get_rotation_on_atom(index: int, return_indices: bool = False) Union[ndarray, Tuple[ndarray, ndarray]]#

Find the rotation matrix center on the given atom.

Parameters
  • index (int) – The index of the center atom.

  • return_indices (bool, optional) – If True, also return the indices of rotation matrix.
    Defaults to False.

Returns

The rotation matrix center on the given atom.

Return type

np.ndarray or tuple[np.ndarray, np.ndarray]

get_rotations_coord(index: int) ndarray#

The rotation matrix for the cartesian coordinations instead of fractional coordinations.

Parameters

index (int) – The index of rotation operation.

Returns

The rotation matrix for the cartesian coordinations.

Return type

np.ndarray

get_translations_on_atom(index: int) int#

To find a set of symmetry operation (both rotation and translation) that does not change the position of atoms[index].

Parameters

index (int) – the index of the unmoved atom

Returns

the index of rotation and translation operations.

Return type

int