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. There is an example of how to use the code in Example_distort.py

TODO: Add a functionality to check two Atoms objects against one another for equivalence.

smact.distorter.build_sub_lattice(lattice, symbol)[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: Cartesian coordinates of the sub-lattice of symbol

Return type

list of lists

smact.distorter.get_inequivalent_sites(sub_lattice, lattice)[source]

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

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

  • lattice (ASE crystal) – the total lattice

Returns

List of sites

smact.distorter.get_sg(lattice)[source]

Get the space-group of the system.

Parameters

lattice – the ASE crystal class

Returns

integer number of the spacegroup

Return type

sg (int)

smact.distorter.make_substitution(lattice, site, new_species)[source]

Change atomic species on lattice site to new_species.

Parameters
  • lattice (ASE crystal) – Input lattice

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

  • new_species (str) – New species

Returns

lattice