smact.builder module

smact.builder module#

A collection of functions for building certain lattice types. Currently, there are examples here for the perovskite and wurtzite structure types, which rely on the Atomic Simulation Environment (ASE) spacegroup.crystal() function.

A collection of functions for building certain lattice types.

smact.builder.cubic_perovskite(species: list[str], cell_par: list[float] | None = None, repetitions: list[int] | None = None, oxidation_states: list[list[int]] | None = None) → tuple[Lattice, Atoms][source]#

Build a perovskite cell using the crystal function in ASE.

Parameters:
  • species (list[str]) – Element symbols

  • cell_par (list) – Six floats/ints specifying 3 unit cell lengths and 3 unit cell angles.

  • repetitions (list) – Three integers specifying the expansion of the cell in x,y,z directions.

  • oxidation_states (list) – Oxidation states per site in the unit cell basis. Defaults to [[2], [4], [-2], [-2], [-2]] for the standard ABX3 perovskite.

Returns:

SMACT Lattice object of the unit cell, ASE crystal system of the unit cell.

smact.builder.wurtzite(species: list[str], cell_par: list[float] | None = None, repetitions: list[int] | None = None, oxidation_states: list[list[int]] | None = None) → tuple[Lattice, Atoms][source]#

Build a wurtzite cell using the crystal function in ASE.

Parameters:
  • species (list[str]) – Element symbols

  • cell_par (list) – Six floats/ints specifying 3 unit cell lengths and 3 unit cell angles.

  • repetitions (list) – Three integers specifying the expansion of the cell in x,y,z directions.

  • oxidation_states (list) – Oxidation states per site in the unit cell basis. Defaults to [[2], [2], [-2], [-2]] for the standard AX wurtzite.

Returns:

SMACT Lattice object of the unit cell, ASE crystal system of the unit cell.