smact.distorter module#

smact.distorter: Module for generating symmetry-unique substitutions on a given sub-lattice.

As input it takes the ASE crystal object (as built by smact.builder) and the sub-lattice on which substitutions are to be made.

smact.distorter.build_sub_lattice(lattice: Atoms, symbol: str) → list[list[float]][source]#

Generate a sub-lattice of the lattice based on equivalent atomic species.

Parameters:
  • lattice (ASE crystal class) – Input lattice

  • symbol (string) – Symbol of species identifying sub-lattice

Returns:

sub_lattice: Fractional coordinates of the sub-lattice of symbol

Return type:

list of lists

smact.distorter.get_inequivalent_sites(sub_lattice: list[list[float]], lattice: Atoms) → list[list[float]][source]#

Given a sub lattice, returns symmetry unique sites for substitutions.

Parameters:
  • sub_lattice (list of lists) – array containing fractional coordinates of the sub-lattice of interest

  • lattice (ASE crystal) – the total lattice

Returns:

List of sites

smact.distorter.get_sg(lattice: Atoms) → Spacegroup[source]#

Get the space-group of the system.

Parameters:

lattice – the ASE crystal class

Returns:

ASE Spacegroup object

Return type:

sg (Spacegroup)

smact.distorter.make_substitution(lattice: Atoms, site: list[float], new_species: str) → Atoms[source]#

Change atomic species on lattice site to new_species.

Parameters:
  • lattice (ASE crystal) – Input lattice

  • site (list) – Fractional coordinates of the substitution site

  • new_species (str) – New species

Returns:

lattice