# pymatgen.analysis.defects.generators module

This module defines classes to generate point defect structures

class DefectGenerator

  Bases: `monty.json.MSONable`

  Abstract class for point defects Implements generator pattern

class InterstitialGenerator(structure, element)

  Bases: `pymatgen.analysis.defects.generators.DefectGenerator`

  Generator for interstitials at positions where the interstitialcy is coordinated by nearest neighbors in a way that resembles basic structure motifs (e.g., tetrahedra, octahedra). The algorithm is called InFiT (Interstitialcy Finding Tool), it was introducted by Nils E. R. Zimmermann, Matthew K. Horton, Anubhav Jain, and Maciej Haranczyk (Front. Mater., 4, 34, 2017), and it is used by the Python Charged Defect Toolkit (PyCDT: D. Broberg et al., Comput. Phys. Commun., in press, 2018).

  Initializes an Interstitial generator using structure motifs :param structure: pymatgen structure object :type structure: Structure :param element: element for the interstitial :type element: str or Element or Species

class SimpleChargeGenerator(defect)

  Bases: `pymatgen.analysis.defects.generators.DefectGenerator`

  Does an extremely simple/limited charge generation scheme (only one charge generated)

  for vacancies: use bond valence method to assign oxidation states and consider

    negative of the vacant site’s oxidation state as single charge to try

  for antisites and subs: use bond valence method to assign oxidation states and consider

    negative of the vacant site’s oxidation state as single charge to try + added to likely charge of substitutional site (closest to zero)

  for interstitial: charge zero

  Parameters

    defect (Defect) – pymatgen Defect object

class SubstitutionGenerator(structure, element)

  Bases: `pymatgen.analysis.defects.generators.DefectGenerator`

  Simple generator for substitution based on periodically equivalent sites

  Initializes a Substitution Generator note: an Antisite is considered a type of substitution :param structure: pymatgen structure object :type structure: Structure :param element: element for the substitution :type element: str or Element or Species

class VacancyGenerator(structure, include_bv_charge=False)

  Bases: `pymatgen.analysis.defects.generators.DefectGenerator`

  Simple generator for vacancies based on periodically equivalent sites

  Initializes a Vacancy Generator :param structure: pymatgen structure object :type structure: Structure

class VoronoiInterstitialGenerator(structure, element)

  Bases: `pymatgen.analysis.defects.generators.DefectGenerator`

  Generator for interstitials based on a simple Voronoi analysis

  Initializes an Interstitial generator using Voronoi sites :param structure: pymatgen structure object :type structure: Structure :param element: element for the interstitial :type element: str or Element or Species